日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java第二章_JAVA第二章知识点

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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第二章_JAVA第二章知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。