Java語言組成

開源地址

開源項目地址:https://github.com/371854496/...
java學習資料:https://github.com/371854496/...
各位覺得還闊以的話,點下Star,分享不易,thank you!

標識符

標識符就是用於給 Java 程序中變量、類、方法等命名的符號。

規則:

①可以由字母,數字,下劃線(_),美元符($)組成,但不能包含@,%,空格等其他特殊字符,不能以數字開頭。

②不能是java關鍵字

③是區分大小寫的

例如:下面的標識符是合法的:

myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_,Myvoid

下面的標識符是非法的:

name,25name,class,&time,if

變量:

使用小駝峯命名法

常量:

使用純大寫的方式每個單詞之間使用下劃線鏈接

MAX_VALUE

方法:

使用小駝峯命名法

類,接口,抽象類,枚舉:

使用大駝峯命名法

包:

使用公司域名反寫的方式
如:com.ujiuye.www

常見關鍵字

關鍵字 含義
abstract 表明類或者成員方法具有抽象屬性
assert 斷言,用來進行程序調試
boolean 基本數據類型之一,布爾類型
break 提前跳出一個塊
byte 基本數據類型之一,字節類型
case 用在switch語句之中,表示其中的一個分支
catch 用在異常處理中,用來捕捉異常
char 基本數據類型之一,字符類型
class 聲明一個類
const 保留關鍵字,沒有具體含義
continue 回到一個塊的開始處
default 默認,例如,用在switch語句中,表明一個默認的分支
do 用在do-while循環結構中
double 基本數據類型之一,雙精度浮點數類型
else 用在條件語句中,表明當條件不成立時的分支
enum 枚舉
extends 表明一個類型是另一個類型的子類型,這裏常見的類型有類和接口
final 用來說明最終屬性,表明一個類不能派生出子類,或者成員方法不能被覆蓋,或者成員域的值不能被改變,用來定義常量
finally 用於處理異常情況,用來聲明一個基本肯定會被執行到的語句塊
float 基本數據類型之一,單精度浮點數類型
for 一種循環結構的引導詞
goto 保留關鍵字,沒有具體含義
if 條件語句的引導詞
implements 表明一個類實現了給定的接口
import 表明要訪問指定的類或包
instanceof 用來測試一個對象是否是指定類型的實例對象
int 基本數據類型之一,整數類型
interface 接口
long 基本數據類型之一,長整數類型
native 用來聲明一個方法是由與計算機相關的語言(如C/C++/FORTRAN語言)實現的
new 用來創建新實例對象
package
private 一種訪問控制方式:私用模式
protected 一種訪問控制方式:保護模式
public 一種訪問控制方式:共用模式
return 從成員方法中返回數據
short 基本數據類型之一,短整數類型
static 表明具有靜態屬性
strictfp 用來聲明FP_strict(單精度或雙精度浮點數)表達式遵循IEEE 754算術規範 [1]
super 表明當前對象的父類型的引用或者父類型的構造方法
switch 分支語句結構的引導詞
synchronized 表明一段代碼需要同步執行
this 指向當前實例對象的引用
throw 拋出一個異常
throws 聲明在當前定義的成員方法中所有需要拋出的異常
transient 聲明不用序列化的成員域
try 嘗試一個可能拋出異常的程序塊
void 聲明當前成員方法沒有返回值
volatile 表明兩個或者多個變量必須同步地發生變化
while 用在循環結構中

關鍵字的特點

1.全部都是小寫的

2.自己給自己定義東西起名字的時候,不能和關鍵字重名

3.其中有兩個關鍵字是保留關鍵字, goto和const,當前java版本中還沒有使用,不代表以後不會被使用.

修飾符

Java 使用了一定數量的稱爲修飾符的關鍵字,這些修飾符指定了數據、方法和類的屬性以及它們的使用方法。

例如 public 和 static 都是修飾符,另外還有 private、final、abstract 和 protected。

一個 public 數據、方法或者類可以被其他的類訪問,而一個 private 數據或方法不能被其他類訪問。

註釋

在 Java 中,一行註釋以雙斜槓(//)標識;

多行註釋包含在“/”和“/”之間;

文檔註釋包含在“/*”和“/”之間。

常量

//聲明常量
final int COUNT=10;
final float HEIGHT=10.2f;

變量

//聲明變量
// 數據類型 變量名 = 初始值;
int age = 18;

使用變量的注意事項

1.變量是有作用域的

作用於: 起作用的範圍

範圍:從他定義的哪一行起,到出他所在大括號.

變量定義之前不能使用.出了他所在的大括號就不能訪問了.

2.在同一個大括號(同一個作用域)中不能定義同名的變量.

3.使用變量的時候必須先給初始值,才能使用.

4.變量的定義和變量初始化可以分開寫.

5.可以在同一行一次定義多個變量

數據類型 變量名1 =初始值1, 變量名2 = 初始值2,….;

這種情況只適合一次定義多個同類型的變量;

代碼示例

class test_變量使用注意事項 {
    public static void main(String[] args) {

        // System.out.println(a);
        int a  = 10;

        // float a = 3.14f; 變量重名
        {
            System.out.println(a);
            // double a = 14.0;  變量重名
        }

         int num;
         num = 1;
         System.out.println(num);
        int age = 18, age2 = 20, age3 = 40;
        // int age = 18, age2 = 20, age3 = 40.5; 數據類型必須一致
        System.out.println(age);
        System.out.println(age2);
        System.out.println(age3);
         System.out.println(age +"   "+age2 + "   "+age3);

    }

    public static void sayHi(){
        //System.out.println(a);
    }

}

數據類型

1.java是一種強類型語言,(定義變量的時候必須給改變執行數據類型),數據類型就是爲了執行內存空間大小的額.

2.基本數據類型:

數值型:四類八種

整數類型:

  • byte 比特 1個字節 數據範圍 -128~127 -2^7 ~ 2^7-1
  • short 短整型 2個字節 -2^15 ~ 2^15-1
  • int 整型 4個字節 -2^31 ~ 2^31-1
  • long 長整型 8個字節 -2^63 ~ 2^63-1

浮點類型:

  • float 單精度浮點型 4個字節 > long類型存儲範圍
  • double 雙精度浮點型 8個字節 > float類型存儲範圍

字符類型:

  • char 字符類型 2個字節 0~65535

布爾類型:

  • boolean 未知 true和false

引用數據類型:
類 接口 數組 枚舉 標註

數據類型轉換

自動類型轉換:

取值範圍小的類型的數據,往取值範圍大的類型的變量中放,可以直接放進去,不會損失精度;

如:byte-->short-->int-->long-->float-->double;
char-->int;

強制類型轉換:

將取值範圍大的類型的數據,往取值範圍小的類型變量中放,有可能放不進去,會出現精神讀損失;

語法:

小的範圍的數據類型 新的變量名 = (小的範圍的數據類型) 舊的大範圍的變量名

    int a = 128;
    byte b = (byte)a;

運算符

1.概念: 用戶運算和操作數據符號就是運算符

2.運算符的分類

  • 算數運算符
  • 賦值運算符
  • 比較運算符
  • 邏輯運算符
  • 位運算符
  • 三元運算符

算數運算符

1.用來進行算數運算的符號

2.+, -, *(乘), /(除號), %(取餘運算符)

  • +:加法運算

    • -:減法運算
  • *:乘法運算
  • /:除法運算
  • %:取餘運算

3./ 如果運算符兩邊都是整數,得到結果只保留整數部分.

/ 如果兩邊有一邊是小數,得到的結果就是小數

%: 取餘運算符(取模運算符),兩邊可以是小數也可以整數

賦值運算符

1.作用: 把賦值運算符號右邊的數據賦值給左邊

2.基本賦值運算符 =

3.複合賦值運算符 +=, -=, *=, /=, %=

int  a =  10;
a += 1; // a = a+1;  
System.out.println(a); // 11 

自增和自減運算符

1.++ 和 –-

2.++: 變量每次自增1

3.--: 變量每次自減1

4.注意事項:

++:如果在變量前,先對變量進行+1, 再使用這個變量

++:如果在變量的後面,先使用變量中的值,再對變量+1;

無論++在變量前面還是後面,執行之後變量都會+1;

--:如果在變量前,先對變量進行-1, 再使用這個變量

--:如果在變量的後面,先使用變量中的值,再對變量-1;

無論--在變量前面還是後面,執行之後變量都會-1;

口訣:

++在前,先加後用,++在後,先用後加

--在前,先減後用,--在後,先用後減

    int q = 5, n = 10;
//   s  5  -  10   +   6   +  10  = 11
//   q  6      6       7       7
//   n  10    9        9       10
    int s= (q++) - (n--) + (q++) + (++n);

比較運算符

1.用於比較兩個數據的關係,比較大小,比較是否相等,比較運算符的運行結果是boolean類型,
只有true和 false兩個結果

2.分類: >, <, >=, <= 比較數值大小

==:判斷連個數據是否相等

!=:判斷兩個數據是否不相等

邏輯運算符

1.用來判斷邏輯是否成立的運算符, 如果邏輯成立,返回true, 如果不成立,返回false, 返回的數據類型是boolean類型

邏輯運算符兩邊必須是返回真或假的表達式

2.邏輯運算符的分類

  • &&:與運算符 兩邊同時爲真則爲真,有一邊爲假則爲假
    true && true   true
    true && false   false
    false && true   false
    false && false  false
  • ||:或運算符 兩邊同時爲假則爲假,有一邊爲真則爲真
    true || true  true
    true || false  true
    false || true  true
    false || false  false
  • !: 邏輯非 非真即假,非假即真
    !true     false 
    !false     true
  • ^:邏輯異或 兩邊數據相同,返回假,不同返回真
    true  ^  true   false 
    true  ^  false  true
    false ^  true   true
    false ^  false  false 

小技巧:

1.爲了提高執行效率,習慣把容易爲假的條件放到&&運算符的前面. 只要前面爲假,後面就不參與運算.

2.爲了提供效率,把容易爲真條件放在||運算符的前面,只要前面爲真後面的表達式就不參與運算.

位運算符

1.對於數據進行內存中運算,讓數據往左或者是往移位.

左移1位,數據整體擴大2倍,

右移1位,數據整體縮小2倍;

2.位運算符分類:

<< 數字 :左移運算符, 數字是幾,代表要往左移動幾位
,就相當於往左移動幾位,就相當於乘以2的幾次方

‘>>’ 數字: 右移運算符, 數字是幾,代表要往右移動幾位, 就相當於往右移動幾位,就相當於除以2的幾次方

‘>>>’ 數字 : 無符號右移運算符, 只能操作正數. 數字是幾,代表要往右移動幾位, 就相當於往右移動幾位,就相當於除以2的幾次方

代碼示例:

        int a = 8;
        System.out.println(a << 2); //32
        int b = -16;
        System.out.println(b >> 1); //-8
        int c = -16;
        System.out.println(c >>> 1);//2147483640

三元運算符

1.元:表示操作數據的個數或者操作的表達式的個數

2.三運算符:能操作三個數據或者三個表達式

3.格式: 表達式1 ? 表達式2 : 表達式3;

4.說明

表達式1:必須是返回真或假的表達式,返回boolean數據類型

表達式2和表達式3返回任意數據類型都行

5.執行原理:

1.表達式1爲真, 把冒號前表達式2的結果,當做整個三元運算符的返回的結果

2.表達式1爲假, 把冒號後表達式3的結果,當做整個三元運算符的返回的結果

公衆號 全戰開花

獲取更多技術乾貨

圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章