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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

2.基本语法

發(fā)布時(shí)間:2025/4/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.基本语法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.關(guān)鍵字 & 標(biāo)識(shí)符

關(guān)鍵字:被Java語(yǔ)言賦予了特殊含義,用做專門(mén)用途的字符串(單詞)

保留字:未來(lái)可能會(huì)被使用

標(biāo)識(shí)符:凡是自己可以起名字的地方都叫標(biāo)識(shí)符


命名的規(guī)則:(一定要遵守,不遵守就會(huì)報(bào)編譯的錯(cuò)誤)
由26個(gè)英文字母大小寫(xiě),0-9 ,_或 $ 組成
數(shù)字不可以開(kāi)頭。
不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字。
Java中嚴(yán)格區(qū)分大小寫(xiě),長(zhǎng)度無(wú)限制。
標(biāo)識(shí)符不能包含空格。

Java中的名稱命名規(guī)范:(不遵守,也不會(huì)出現(xiàn)編譯的錯(cuò)誤)
包名:多單詞組成時(shí)所有字母都小寫(xiě):xxxyyyzzz
類名、接口名:多單詞組成時(shí),所有單詞的首字母大寫(xiě):XxxYyyZzz
變量名、方法名:多單詞組成時(shí),第一個(gè)單詞首字母小寫(xiě),第二個(gè)單詞開(kāi)始每個(gè)單詞首字母大寫(xiě):xxxYyyZzz
常量名:所有字母都大寫(xiě)。多單詞時(shí)每個(gè)單詞用下劃線連接:XXX_YYY_ZZZ

2.變量

1.java中變量按照數(shù)據(jù)類型來(lái)分類:基本數(shù)據(jù)類型 vs 引用數(shù)據(jù)類型(數(shù)組 類 接口)
>基本數(shù)據(jù)類型:
整型:byte(8 bit) short int(默認(rèn)類型) long
浮點(diǎn)型:float double (默認(rèn)類型)
字符型:char(‘ ’)
布爾類型: boolean(只能取值為true 或false,不能取null)

補(bǔ)充:按照在類中存在的位置的不同:成員變量 vs 局部變量

2.進(jìn)制(了解)
十進(jìn)制 二進(jìn)制 八進(jìn)制 十六進(jìn)制

二進(jìn)制:計(jì)算機(jī)底層都是用二進(jìn)制來(lái)存儲(chǔ)、運(yùn)算。
>二進(jìn)制 與十進(jìn)制之間的轉(zhuǎn)換。
>二進(jìn)制在底層存儲(chǔ):正數(shù)、負(fù)數(shù)都是以補(bǔ)碼的形式存儲(chǔ)的。(原碼、反碼、補(bǔ)碼)
>四種進(jìn)制間的轉(zhuǎn)換

3.變量的運(yùn)算:
①自動(dòng)類型轉(zhuǎn)換:容量小的數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型。
short s = 12;
int i = s + 2;
注意:byte short char之間做運(yùn)算,結(jié)果為int型!
②強(qiáng)制類型轉(zhuǎn)換:是①的逆過(guò)程。使用“()”實(shí)現(xiàn)強(qiáng)轉(zhuǎn)。

3.運(yùn)算符

運(yùn)算符是一種特殊的符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較等。
算術(shù)運(yùn)算符:
+ - + - * / % ++ -- +
注意:1) /: int i = 12; i = i / 5;
2) %:最后的符號(hào)只跟被模數(shù)相同
3)前++:先+1,后運(yùn)算 后++:先運(yùn)算,后+1
4)+:String字符串與其他數(shù)據(jù)類型只能做連接運(yùn)算,且結(jié)果為String類型。sysout('*' + '\t' + '*'); vs sysout("*" + '\t' + '*');

賦值運(yùn)算符:
= += -= *= /= %=
int i= 12;
i = i * 5;
i *= 5;//與上一行代碼同樣的意思
【特別地】
short s = 10;
s = s + 5;//報(bào)編譯的異常
s = (short)(s + 5);
s += 5;//s = s + 5,但是結(jié)果不會(huì)改變s的數(shù)據(jù)類型。


比較運(yùn)算符(關(guān)系運(yùn)算符)
== > < >= <= instanceof

【注意】區(qū)分== 與 = 區(qū)別。
進(jìn)行比較運(yùn)算操作以后,返回一個(gè)boolean類型的值
4>=3 表達(dá)的是4 > 3或者 4 = 3.結(jié)果是true。

if(i > 1 && i < 10){ }
不能寫(xiě)為:if(1 < i < 10){}

邏輯運(yùn)算符(運(yùn)算符的兩端是boolean值)
& && | || ^ !
【注意】區(qū)分 & 與 && 的區(qū)別,以及 | 與 || 的區(qū)別
我們使用的時(shí)候,選擇&& , ||

位運(yùn)算符(兩端是數(shù)值類型的數(shù)據(jù))
<< >> >>> & | ^ ~
【例子】1.如何交換m = 12和n = 5的值
2.將60轉(zhuǎn)換為十六進(jìn)制輸出。
三元運(yùn)算符
(條件表達(dá)式)? 表達(dá)式1 : 表達(dá)式2;
1)既然是運(yùn)算符,一定會(huì)返回一個(gè)結(jié)果,并且結(jié)果的數(shù)據(jù)類型與表達(dá)式1,2的類型一致
2)表達(dá)式1與表達(dá)式2 的數(shù)據(jù)類型一致。
3)使用三元運(yùn)算符的,一定可以轉(zhuǎn)換為if-else。反之不一定成立。
例子:獲取兩個(gè)數(shù)的較大值;獲取三個(gè)數(shù)的最大值。

4.流程控制

1.順序結(jié)構(gòu)
>程序從上往下的順序執(zhí)行

2.分支結(jié)構(gòu):
if-else
switch-case

3.循環(huán)結(jié)構(gòu):
while(){}
do{}while()
for(;;){}

4.1 分支結(jié)構(gòu)

1.條件判斷:
①if(條件表達(dá)式){ }

②if(條件表達(dá)式){
//執(zhí)行的語(yǔ)句1;
}else{
//執(zhí)行的語(yǔ)句2;
}

③if(條件表達(dá)式1){
//執(zhí)行的語(yǔ)句1;
}else if(條件表達(dá)式2){
//執(zhí)行的語(yǔ)句2;
}else if( 條件表達(dá)式3){
//執(zhí)行的語(yǔ)句3;
}...
}else{
//執(zhí)行的語(yǔ)句;
}

【注意】
1.一旦滿足某個(gè)條件表達(dá)式,則進(jìn)入其執(zhí)行語(yǔ)句塊執(zhí)行,執(zhí)行完畢,跳出當(dāng)前的條件判斷結(jié)構(gòu),不會(huì)執(zhí)行其以下的條件結(jié)構(gòu)語(yǔ)句。
2.如果諸多個(gè)條件表達(dá)式之間為“互斥”關(guān)系,多個(gè)結(jié)構(gòu)可以上下調(diào)換順序
如果諸多個(gè)條件表達(dá)式之間為“包含”關(guān)系,要求條件表達(dá)式范圍小的寫(xiě)在范圍大的上面。

2.選擇結(jié)構(gòu)
switch(變量){
case 值1:

//break;
case 值2:

//break;
...
default:

break;
}

【注意】
1.變量可以為如下的數(shù)據(jù)類型:byte short int char 枚舉 String
2.case后只能填寫(xiě)變量的值,不能寫(xiě)范圍。
3.default是可以省略的。并且其位置也是靈活的,但是通常將其放在case語(yǔ)句之后。
4.一旦滿足某個(gè)case語(yǔ)句,則進(jìn)入執(zhí)行其操作。直至遇到break或者程序終止。
5.若要判斷的語(yǔ)句的條件滿足switch變量的數(shù)據(jù)類型,且值不多的情況下,建議選擇switch-case .
除此之外,選擇if-else.

4.2 循環(huán)結(jié)構(gòu)

1.格式:
①初始化條件
②循環(huán)條件
③迭代部分
④循環(huán)體


for(①;②;③){

}


while(②){


}


do{


}while(②);

注:1.不同的循環(huán)結(jié)構(gòu)之間可以相互轉(zhuǎn)換
2.while和do-while的區(qū)別:do-while程序至少會(huì)執(zhí)行一次

2.嵌套循環(huán):循環(huán)結(jié)構(gòu)還可以聲明循環(huán)。讓內(nèi)層循環(huán)結(jié)構(gòu)整體充當(dāng)外層循環(huán)的循環(huán)體。
若外層循環(huán)執(zhí)行m次,內(nèi)層循環(huán)執(zhí)行n次,整個(gè)程序執(zhí)行m*n次。

【題目】
******
******
******
for(int i = 0;i < 3;i++){
for(int j = 0;j < 6;j++){
System.out.print("*");
}
System.out.println();
}
說(shuō)明:外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù)
【例題】1.九九乘法表 2.輸出100內(nèi)的質(zhì)數(shù)。(兩種)


3.無(wú)限循環(huán)結(jié)構(gòu)
for(;;){
...
if( ){
break;
}
...
}
或者
while(true){
...
if( ){
break;
}
...
}
往往我們?cè)跓o(wú)限循環(huán)結(jié)構(gòu)內(nèi)部提供循環(huán)的終止條件,使用break關(guān)鍵字。否則,此循環(huán)將無(wú)限制的執(zhí)行下去,形成死循環(huán)!
死循環(huán)是我們要避免的。

4.3 break & continue

break:
>使用switch-case結(jié)構(gòu)或者循環(huán)結(jié)構(gòu)中
>在循環(huán)結(jié)構(gòu)中,一旦執(zhí)行到break,就跳出當(dāng)前循環(huán)。

continue:使用在循環(huán)結(jié)構(gòu)中
>一旦執(zhí)行到continue,就跳出當(dāng)次循環(huán)。


for(int i = 1;i <= 10;i++){
if(i % 4 == 0){
//break; //123
continue; //123567910
}

System.out.print(i);
}


在嵌套循環(huán)中,使用帶標(biāo)簽的break和continue。
label:for(int i = 1;i < 5;i++){
for(int j = 1;j <= 10;j++){
if(j % 4 == 0){
//break;
//continue;
//break label;
continue label;
}
System.out.print(j);
}
System.out.println();
}

5.數(shù)組

數(shù)組:相同數(shù)據(jù)類型的數(shù)據(jù)的組合。

如: int score1 = 72;
int score2 = 90;
int score3 = 59;

使用數(shù)組:
1.數(shù)組的初始化
int[] scores1 = new int[]{72,90,59};//靜態(tài)初始化:在聲明并初始化數(shù)組與給數(shù)組相應(yīng)的元素賦值操作同時(shí)進(jìn)行。
int scores2[] = new int[3];//動(dòng)態(tài)初始化:在聲明并初始化數(shù)組與給數(shù)組相應(yīng)的元素賦值操作分開(kāi)進(jìn)行。
scores2[0] = 72;
scores2[1] = 90;
scores2[2] = 59;
//聲明數(shù)組的錯(cuò)誤寫(xiě)法:
1)String[] names = new String[5]{"AA","BB","CC"};
2)int i[10];
3)int i = new int[];
注:不管是動(dòng)態(tài)還是靜態(tài)初始化數(shù)組,一定在創(chuàng)建的時(shí)候,就指明了數(shù)組的長(zhǎng)度!
2.如何引用數(shù)組元素:通過(guò)數(shù)組的下角標(biāo)的方式。下角標(biāo)從0開(kāi)始,到n-1結(jié)束。其中n為數(shù)組的長(zhǎng)度。
3.數(shù)組的長(zhǎng)度:通過(guò)數(shù)組的屬性length來(lái)調(diào)用。
System.out.println(scores2.length);//3
4.如何遍歷數(shù)組
for(int i = 0;i < scores1.length;i++){
System.out.println(scores1[i]);
}
5.關(guān)于數(shù)組元素的默認(rèn)初始化值
1)byte short int long 而言:0
2)float double 而言:0.0
3)char而言:空格
4)boolean而言:false
5)引用類型變量而言:null

5.1 二維數(shù)組

1.聲明并初始化
//一維:
int[] i = new int[12];
i[0] = 12;

int[] j = new int[]{12,3};

//二維:
1)String[][] str = new String[4][3]; //4行3列

2)String[][] str1 = new String[4][];
str1[0] = new String[3];
...
str1[3] = new String[5];
3)
int[][] arr = new int[][]{{1,2,3},{4,5},{6}};

2.如何引用二維數(shù)組的元素:arr[1][0] = 12;

3.二維數(shù)組的長(zhǎng)度:arr.length;//3
arr[1].length;//2

4.遍歷二維數(shù)組

for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr[i].length;j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}

5.2 數(shù)組的常見(jiàn)異常

//1.數(shù)組下標(biāo)越界的異常:java.lang.ArrayIndexOutOfBoundsException
int[] i = new int[10];
// i[0] = 90;
// i[10] = 99;

// for(int m = 0;m <= i.length;m++){
// System.out.println(i[m]);
// }
//2.空指針的異常:NullPointerException
//第一種:
// boolean[] b = new boolean[3];
// b = null;
// System.out.println(b[0]);

//第二種:
// String[] str = new String[4];
// //str[3] = new String("AA");//str[3] = "AA";
// System.out.println(str[3].toString());

//第三種:
int[][] j = new int[3][];
j[2][0] = 12;

5.3 數(shù)組的常用算法

1.求數(shù)組元素的最大值、最小值、和、平均數(shù)

2.數(shù)組的復(fù)制和反轉(zhuǎn)

數(shù)組的反轉(zhuǎn):
// 數(shù)組元素的反轉(zhuǎn)
// for(int i = 0;i < arr.length/2;i++){
// int temp = arr[i];
// arr[i] = arr[arr.length-1 - i];
// arr[arr.length - 1 - i] = temp;
// }
for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}

轉(zhuǎn)載于:https://www.cnblogs.com/nathan94/p/7629137.html

總結(jié)

以上是生活随笔為你收集整理的2.基本语法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。