java第二章复习_JAVA第二章知识点
JAVA第二章知識點
本章知識梳理
2.1 關鍵字
2.2 標識符
2.3 變 量
2.4運算符
2.5 程序流程控制
2.6 方法
2.1 關鍵字
關鍵字(keyword)的定義和特點
定義:被java語言賦予了特殊含義,用做專門用途的字符串(單詞)
特點:關鍵字中所有字母都為小寫
保留字(reserved word)
定義:現有java版本尚未使用,但以后版本可能會作為關鍵字使用。自己命名標識符要避免使用這些保留字
goto const
2.2 標識符(ldentifier)
定義:java對各種變量,方法和類等要素命名時使用的字符序列稱為標識符
技巧:凡是可以自己起名字的地方都叫標識符
命名規則(必須遵守)
26英文字母 0-9 $ _ 組成 數字不可以開頭
($禁止使用)
不可以使用關鍵字和保留字,可以包換關鍵字和保留字
java中嚴格區分大小寫,長度無限制
不能有空格
為了提高閱讀性,要盡量有意義,“見名知意”
java采用Unicode字符集,因此標識符也可以使用漢字聲明,但是不建議
命名規范(可以不遵守)
包名 多單詞組成時所有字母都小寫:xxxyyyzzz
類名,接口名 所有單詞的首字母全部大寫 XxxYyyZzz
變量名和方法 首字母小寫,后面的單詞首字母都大寫 xxxYyyZzz
常量名 全部大寫用_下劃線連接 XXX_YYY_ZZZ
2.3 變量
變量的概念
內存中的一塊被命名的被特定的數據類型約束的區域, 此區域中可以保存數據類型范圍內的數據,而且此空間中的數據可以變化。
常量 : 不可以變化的量, 有2種 ,字面量 和被final修飾的量
變量注意事項
1.先聲明,后使用
2.必須有數據類型和變量名
3.必須初始化,因為內存空間中的老數據不確定,必須寫成確定數值
4.變量有其數據范圍
5.同一范圍,變量不能重復聲明
6.變量的作用域:一對{ }之間有效
?
在方法體外,類體內聲明的變量稱為成員變量。
范圍大 壽命大
在方法體內部聲明的變量稱為局部變量。
范圍小 壽命短
數據類型的作用
確定空間大小
確定空間數據的范圍大小
確定空間的數據可以做什么
數據類型
?1.基本數據類型
?基本數據類型在內存空間中保存的是數據本身
整數類型
byte 1字節 -128---127 (1byte=8bit)
short 2字節 -32768---32767
int 4字節 -20億---20億
long 8字節 -900億---900億 數值結尾必須加L默認是int類
浮點類型
float (單精度) 4字節 -1038-1038 數值結尾必須加F默認是double
double(雙精度) 8字節 -10308-10308
字符型
char在內存空間中保存的是字符的Unicode編碼值
char 2字節 0-65535 char型字面量必須使用 ''
聲明一個字符或轉義字符 直接使用unicode值來表示字符型常量
charchar類型是可以進行運算的。因為它都對應有Unicode碼
無法使用字面量的字符必須使用轉義字符
\t 制表 \r回車 \n換行 ' '空格
補充 Unicode:一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,使用 Unicode 沒有亂碼的問題。
UTF-8 是在互聯網上使用最廣的一種 Unicode 的實現方式
布爾型(boolean)
boolean 類型適于邏輯運算,一般用于程序流程控制
boolen 數據類型只允許兩個值 true false 無null
占用一個字節,false是0 ture是1
int不能強轉為布爾值
字符串Stirng
String類型變量屬于引用數據類型,翻譯為字符串
聲明字符串類型變量時,使用一對""
String可以和八種基本數據類型變量做運算,且運算只能是連接運算,運算結果也是String類型 用+號連接
String s1 = null; //空,沒有對象
String s2 =""; //空串,有對象沒內容
String s3 ="abc"
//字符串可以和任意數據用+號連接,結果產生一個新的字符串
s2 = s2+100 //"abc100"
//把基本數據轉化為字符串 加空串
String s4 = ""+110;
? 2.引用數據類型
存空間中保存的是其他數據的地址, Reference
類(class)
接口(interface)
數組([])
基本數據類型轉化:
1.自動類型提升:
結論:當容量小的數據類型的變量與容量大的數據類型的變量做運算時,結果自動提升為容量大的數據類型。
byte --
char--
如果右邊的值的范圍小于等于左邊的變量的范圍類型自動轉
如果右邊的值范圍大于左邊的變量的范圍類型,必須強轉
任意非long整數作運算, 結果總是int型
混合運算中,結果數據類型取決于其中范圍最大的那個
當把任何基本類型的值和字符串值進行連接運算時(+),基本類型的值將自動轉化為字符串類型。
常量運算不受影響
2.強制類型轉換
?自動類型提升運算的逆運算
?1.需要使用強轉符:()
?2.強制類型轉化,可能會導致精度損失
?3.布爾類型不可轉化
?4.char沒有符號位 所以轉化有風險
class VariableTest3{
public static void main(String[]args){
double d1 = 12.3;
int i1 = (int)d1;//截斷操作,不會四舍五入
System.out.println(i1);
}
}
說明:此時的容量大小指的是,表示數的范圍的大小。比如float容量要比long的容量大
進制
二進制:0,1 ,滿2進1.以0b或0B開頭。
十進制:0-9 ,滿10進1.權值 = 10的n次方 10^
八進制:0-7 ,滿8進1. 以數字0開頭表示。
十六進制:0-9及A-F,滿16進1. 以0x或0X開頭表示。此處的A-F不區分大小寫
十六進制 0x3215
3*16^3 12288
2*16^2 512
1*16^1 16
5*16^0 5
=12821
二進制
0x5A = 01011010 90 三者是同一個東西的不同表現
1byte=8bit
十二 十六
0 00000
1 00011
2 00102
3 00113
4 01004
5 01015
6 01106
7 01117
8 10008
9 10019
101010A
111011B
121100C
13 1101D
141110E
151111F
? 8421
2個16進制數 正好對于應8個比特,所以2個十六進制就是一個字節
0x3a = 0011 1010
1010 0110 = 0xA6
計算機底層所有數據都是二進制補碼的的形式存儲
表示符號的的符號位總是在最高位 是0表示正數是1是負數
補碼:正數補碼就是自身
負數的補碼就是它的相反數全部取反再加1
過程:
算負數 -1 取反 1101 1100
-1 1101 1011
取反 0010 0100 = -36
2.4 運算符
1.位運算符
<< 左移 空位補0,被移除的高位丟棄,空缺位補0。左移一位相當于乘2
》》右移 被移位的二進制最高位是0,右移后,空缺位補0;最高位是1,空缺位補1。右移一位相當于除2
》》》無符號右移 被移位二進制最高位無論是0或者是1,空缺位都用0補。
& 與運算 二進制位進行&運算,只有1&1時結果是1,否則是0,結果總是小于等于運算數
| 或運算 二進制位進行 | 運算,只有0 | 0時結果是0,否則是1,結果總是大于等于運算數
^ 異或運算 相同二進制位進行 ^ 運算,結果是0;不相同二進制位 ^ 運算結果是1,結果不穩定, 通常用于加密
取反 所有二進制位取反, 0變1, 1變0。正數變負數, 負數變正數,結果都是一個數的相反數減1
2.算數運算符
?+正 -負 +加 -減 *乘 /除 %取模 ++自加 --自減
除號“/”,它的整數除,只保留整數部分而舍棄小數部分
對負數取模,可以把模數負號忽略不記,但被模數是負數則不可忽略。
N%M結果總是小于M
N%M結果為0,說明N能被M整數
N%2結果為0,說明N為偶數
N%2結果為1,說明N為奇數
A++ 后加加 先用后加
++A 前加加 先加后用
int a =8;
a = a++;//a=8 有臨時空間,要注意
a = ++a;//a=9
for(int i = 0; i < 10;i++)
for(int i = 0; i != 10;++i)//效果相同節約空間
3.賦值運算符
?= 賦值運算符
int a,b,c,d;
a=b=c=d=30;//支持連續賦值
+= n=n+10 n+=10 效果相同,但是不會引起數據類型的變化
-= *= /= %= 同理
4.比較運算符
?== 相等于 !=不等于 大于 <=小于等于 >=大于等于
?比較運算符的結果都是boolean型,ture or false
比較運算符的比大小操作,只適用于基本類型數據中的數值型
5.邏輯運算符
?&邏輯與 |邏輯或 (禁止使用) !邏輯非(相反值)
?&&短路與 ||短路或 ^邏輯異或(相同為false不同為ture)
?&與&& 相同點 運算結果一樣 符號左邊是true時,二者都會執行右邊的運算,反之&&不會執行右邊運算
?|與|| 相同點 運算結果一樣 符號左邊是false時,二者都會執行右邊的運算,反之||不會執行右邊運算
6.三元運算符
格式 (條件表達式)?表達式1:表達式2:
?條件為ture 運算后的結果是表達式1
?條件是false 運算后的結果是表達式2
?表達式1和2必須同種數據類型
//輸出兩個值中的最大值
int n1 = Integer.parseInt(args[0]);//參數可以多不能少
int n2 = Integer.parseInt(args[1]);//必須傳對應數值類型
int max = (n1>n2)? n1:n2;//如果兩個值相同取值b
System.out.println("max:="+max);
2.5 程序流程控制
順序結構
程序從上到下逐行執行,中間沒有任何判斷和跳轉
分支結構
?根據條件選擇性的執行某段代碼
?有if...else和switch-case兩種分支語句
if...else
if(條件表達式){執行代碼塊}//滿足執行,不滿足不執行
//只有一個語句的時候可以不加代{}
if(條件表達式){執行代碼塊1}//為真執行
else{執行代碼塊2}//為假執行 語句1和2是互斥的,不可能都執行或都不執行
if(條件1){
語句1
}else if(條件2){
語句2
}else if(條件3){//若前面條件2為真,那即便條件3為真也不執行,截斷操作
語句3
}else{
語句4
}
//if嵌套 可以無限嵌套
if(條件表達式1){
if(條件表達式2){執行代碼塊2}
else{執行代碼塊3}
}
else{
if(條件表達式2){執行代碼塊2}
else{執行代碼塊3}
}
switch-case
作用用于窮舉變量中的可能的值,不可能情況太多
switch(變量){
case 常量1:
語句1;
break;//跳出循環
case 常量2:
語句2;
break;
default://如果所有的case語句都不滿足 則執行default
語句;
break;
}
注意事項
switch(表達式)中表達式的返回值必須是下述幾種類型之一:byte,short,char,int,String, 枚舉;
case子句中的值必須是常量,且所有case子句中的值應是不同的;
default子句是可任選的,當沒有匹配的case時,執行default
break語句用來在執行完一個case分支后使程序跳出switch語句塊;如果沒有break,程序會順序執行到后面第一個break語句或直接執行到switch結尾(這種現象稱為穿透)
循環結構
根據循環條件,重復性的執行某段代碼。
有whlie,do,,,whlie,for三種循環語句
注意:JDK1.5提供了foreach循環
標簽:語句,知識點,執行,JAVA,運算,int,數據類型,運算符,第二章
來源: https://www.cnblogs.com/zhaoyongbin0203/p/13728011.html
總結
以上是生活随笔為你收集整理的java第二章复习_JAVA第二章知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp中的java部分_jsp页面的七个
- 下一篇: 年报亏损需要提前公告吗?