一、標識符和關鍵字 關鍵字: 就是被java語言賦予了特殊含義的單詞。 特點就是所有的關鍵字都是小寫。 標識符: 就是給包、類、介面、方法、變數名起的名字。 規則:1.以數字、字母、_以及$符號組成。 2,不能以數字開頭,不能以空格分開,不能是JAVA中的關鍵字,區別大小寫如Test 和test是2 ...
一、標識符和關鍵字 關鍵字: 就是被java語言賦予了特殊含義的單詞。 特點就是所有的關鍵字都是小寫。 標識符: 就是給包、類、介面、方法、變數名起的名字。 規則:1.以數字、字母、_以及$符號組成。 2,不能以數字開頭,不能以空格分開,不能是JAVA中的關鍵字,區別大小寫如Test 和test是2個不同的標識符 3 .起名字一定要見明知意例如:yourName,見名知義,不要用a,b,c之類的 4.不合法的標識符 12,your name ,class, 5.12以數字開頭,your name中間有空格 class中java中的關鍵字 二、變數和常量 常量:是一個固定的數值,不可改變的如1,2都是整形常量 1. 整數常量:所有整數。 2. 小數常量:所有小數。 3. 布爾(boolean)型常量:只有兩個數值,true、false。 4. 字元常量:將一個數字字母或者符號用單引號( ' ' )標識,如:'a'。 5. 字元串常量:將一個或者多個字元用雙引號("")標識,如:"hello world"、"a"、""(空字元串)。 6. null常量:只有一個數值就是:null。 進位的由來 對於整數,有四種表現形式: 二進位:0-1,滿2進1。 八進位:0-7,滿8進1,用0開頭表示,如:012。 十進位:0-9,滿10進1。 十六進位:0-9,A-F,滿16進1,用0x開頭表示。如:0x4A2C。 變數:
就將不確定的數據進行存儲
也就是在內豐中開闢一個空間用來存放變數的。
利用聲明的方式將內在中的某個內在空間保留下來以代程式使用
聲明數據類型:變數名=變數值
三、數據類型
Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在記憶體中分配了不同大小的記憶體空間:
byte 1個位元組
short 2個位元組
int 4個位元組
long 8個位元組
float 4個位元組
double 8個位元組
char 2個位元組
2、double類型的小數精度比float類型的小數更高。 範圍
No. | 數據類型 | 大小/位 | 可表示的數據範圍 |
1 | long(長整數) | 64 | -9223372036854775808 ~ 9223372036854775807 |
2 | int(整數) | 32 | -2147483648 ~ 2147483647 |
3 | short(短整數) | 16 | -32768~32767 |
4 | byte(位) | 8 | -128 ~ 127 |
5 | char(字元) | 2 | 0 ~ 255 |
6 | float(單精度) | 32 | -3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038) |
7 | double(雙精度) | 64 | -1.7E308(-1.7´10308)~ 1.7E308(1.7´10308) |
預設值
No. | 數據類型 | 預設值 |
1 | byte | (byte)0 |
2 | short | (short)0 |
3 | int | 0 |
4 | long | 0L |
5 | float | 0.0f |
6 | double | 0.0d |
7 | char | \u0000(空,'') |
8 | boolean | false |
byte a=1; //聲明byte 類型變數a=1 int b=a+1; //聲明int 變數b 同時賦值a+1,1是整型a向整型轉化為整型運算,自動轉化 System.out.println(b); short s1=1; //聲明short類型變數s1同是賦值1 short s2=s1++; //聲明short 類型變數s2同時賦值s1++,自增運算,內隱藏了自動類型轉化 s2+=1; //s2+=1;自動類型轉換
任何類型和字元相連都向字元串轉換
int a=5,b=5; System.out.println("a+b="+a+b); //a+b=是字元串+5變為 a+b=5,再+連接5,結果變為a+b=55 System.out.println("a+b="+(a+b)); //使用括弧提高優先順序
字元類型在記憶體中占有2個位元組,可以用來保存英文字母等字元,字元要用一對單引號('')括起
char ch1='a';
char ch2=97;
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);
結果:ch1=a,ch2=a
字元類型也算是整數類型的一種
常用的轉義字元:
No. | 轉義字元 | 描述 | No. | 轉義字元 | 描述 |
1 | \f | 換頁 | 2 | \\ | 反斜線 |
3 | \b | 倒退一格 | 4 | \' | 單引號 |
5 | \r | 歸位 | 6 | \" | 雙引號 |
7 | \t | 製表符Tab | 8 | \n | 換行 |
char ch1='\"';
char ch2='\\';
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);
System.out.println("\"Hello World\"");
結果:
ch1= "
ch2= \
"Hello World"
float f=3.14f; int i=(int )f; System.out.println(i); //3
五、運算符 5.1、賦值運算符 =:一個等號就是賦值運算符
int i=4; byte b=2; short s=3; char c='a'; char ch='張'; long l=33; float f=3.14f; double d=2.0;
5.2、一元運算符
No. | 一元運算符 | 描述 |
1 | + | 正號 |
2 | – | 負號 |
3 | ! | NOT,否 |
boolean flag=false; int x=10; //定義一個正數 int y=-30; //定義一個負數 System.out.println("x= "+x); System.out.println("y= "+y); System.out.println("flag= "+flag+"!b= "+!flag);
結果:
x= 10
y= -30
flag= false !b= true
5.3、算術運算符
算術運行符和數學中的用法一樣
No. | 算術運算符 | 描述 |
1 | + | 加法 |
2 | – | 減法 |
3 | * | 乘法 |
4 | / | 除法 |
5 | % | 取模(取餘數) |
int i = 10;
int j = 3;
System.out.println(i+"+"+j +"="+(i+j)); //加法
System.out.println(i+"-"+j +"="+(i-j)); //減法
System.out.println(i+"*"+j +"="+(i*j)); //乘法
System.out.println(i+"/"+j +"="+(i/j)); //除法
System.out.println(i+"%"+j +"="+(i%j)); //取模求餘數
結果:
10+3=13
10-3=7
10*3=30
10/3=3
10%3=1
No. | 關係運算符 | 描述 |
1 | > | 大於 |
2 | < | 小於 |
3 | >= | 大於等於 |
4 | <= | 小於等於 |
5 | == | 等於 |
6 | != | 不等於 |
自增與自減運算符
No. | 自增與自減運算符 | 描述 |
1 | ++ | 自增,變數值加1 |
2 | -- | 自減,變數值減1 |
int a=3,b=3; //定義整型變數a,b
int x=6,y=6; //定義整型變數x,y
System.out.println("a= "+a); //輸出變數a的值
System.out.println("a++="+(a++)+" a= "+a); //輸入a++和a++之後a的值3,4
System.out.println("b= "+b);
System.out.println("++b="+(++b)+" b="+b); //值出++b,和++b之後b的值4,4
System.out.println("x= "+x);
System.out.println("x--="+(x--)+" x= "+x); //輸出x--和x--之後x的值6,5
System.out.println("y= "+y);
System.out.println("--y="+(--y)+" y="+y); //輸出--y和--y之後的值5,5
5.6、邏輯運算符
No. | 邏輯運算符 | 描述 |
1 | & | AND,與 |
2 | && | 短路與 |
3 | | | OR,或 |
4 | || | 短路或 |
No. | 條件1 | 條件2 | 結果 | |
&&(與) | ||(或) | |||
1 | true | true | true | true |
2 | true | false | false | true |
3 | false | true | false | true |
4 | false | false | false | false |
- &&”與“&”
- &&表示短路與
- 對於“與”來說,要求所有的條件都判斷,而如果使用“短路與”如果第一個條件為false,則後面的條件將不再判斷。
- “||”與“|”
- ||表示短路或
- 對於“或”來說,要求所有的條件都判斷,而如果使用“短路或”如果第一個條件為true,則後面的條件將不再判斷。
No. | 位運算符 | 描述 |
1 | & | 按位與 |
2 | | | 按位或 |
3 | ^ | 異或(相同為0,不同為1) |
4 | ~ | 取反 |
5 | << | 左移位 |
6 | >> | 右移位 |
7 | >>> | 無符號右移位 |
位運算的結果表
No. | 二進位數1 | 二進位數1 | 與操作(&) | 或操作(|) | 異或操作(^) |
1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 1 | 1 |
3 | 1 | 0 | 0 | 1 | 1 |
4 | 1 | 1 | 1 | 1 | 0 |
5.8運算符優先順序
優先順序 | 運算符 | 類 | 結合性 |
1 | () | 括弧運算符 | 由左至右 |
1 | [] | 方括弧運算符 | 由左至右 |
2 | !、+(正號)、-(負號) | 一元運算符 | 由右至左 |
2 | ~ | 位邏輯運算符 | 由右至左 |
2 | ++、-- | 遞增與遞減運算符 | 由右至左 |
3 | *、/、% | 算術運算符 | 由左至右 |
4 | +、- | 算術運算符 | 由左至右 |
5 | <<、>> | 位左移、右移運算符 | 由左至右 |
6 | >、>=、<、<= | 關係運算符 | 由左至右 |
7 | ==、!= | 關係運算符 | 由左至右 |
8 | &(位運算符AND) | 位邏輯運算符 | 由左至右 |
9 | ^(位運算符號XOR) | 位邏輯運算符 | 由左至右 |
10 | |(位運算符號OR) | 位邏輯運算符 | 由左至右 |
11 | && | 邏輯運算符 | 由左至右 |
12 | || | 邏輯運算符 | 由左至右 |
13 | ?: | 三目運算符 | 由右至左 |
14 | = | 賦值運算符 | 由右至左 |
No. | 運算符 | 範例用法 | 說明 | 描述 |
1 | += | a += b | a + b的值存放到a中 | a = a + b |
2 | -= | a -= b | a - b的值存放到a中 | a = a - b |
3 | *= | a *= b | a * b的值存放到a中 | a = a * b |
4 | /= | a /= b | a / b的值存放到a中 | a = a / b |
5 | %= | a %= b | a % b的值存放到a中 | a = a % b |