基礎(chǔ)知識(shí)day02
1.常量
1.1 什么是常量?
? 1) 在程序運(yùn)行過(guò)程中,其【值不可以發(fā)生改變】的量。
1.2 常量的分類(lèi)
? 1) 字符串常量:使用雙引號(hào) "" 括起來(lái)的0到多個(gè)字符。"java"
? 2) 字符常量:使用單引號(hào) '' 括起來(lái)的【單個(gè)】字符。 'a' , '0' ,'我'
? 3) 整數(shù)常量:正負(fù)整數(shù) 10 -20
? 4) 小數(shù)常量:帶小數(shù)點(diǎn)的數(shù)字 -3.14 5.12
? 5) 布爾常量:表示真或假,只有true或false兩個(gè)值
? 6) 空常量:值為null,不能使用輸出語(yǔ)句直接輸出。
2.變量
2.1 什么是變量?
? 1) 變量指程序運(yùn)行過(guò)程中,其值在【一定范圍內(nèi)】會(huì)發(fā)生【變化】的量。
2.2 變量的定義格式
? 1) 數(shù)據(jù)類(lèi)型 變量名 = 初始化值;
2.3變量使用的注意事項(xiàng)?
? 1) 變量可以定義時(shí)初始化,也可以先定義,使用前進(jìn)行初始化
? 2) 沒(méi)有初始化的變量不能直接使用
? 3) 相同{}范圍內(nèi),變量名不能重復(fù)
? 4) 整數(shù)常量默認(rèn)是int類(lèi)型,定義long類(lèi)型常量時(shí)需要加 L 或者l,建議加L
? 5) 小數(shù)默認(rèn)是double類(lèi)型,定義float類(lèi)型的時(shí)候需要在數(shù)字后面加F或者f,建議加F
? 6) 一行代碼上可以定義多個(gè)變量。(不推薦)
3.類(lèi)型轉(zhuǎn)換
3.1 隱式類(lèi)型轉(zhuǎn)換(自動(dòng)類(lèi)型轉(zhuǎn)換)
? 1) ==小類(lèi)型變量==賦值給==大類(lèi)型變量==,小類(lèi)型會(huì)自動(dòng)進(jìn)行提升為大類(lèi)型。
? 2) byte、short、char ---> int ---> long ---> float ---> double
3.2 強(qiáng)制類(lèi)型轉(zhuǎn)換
? 1) 從==范圍大==的類(lèi)型到==范圍小==的類(lèi)型的轉(zhuǎn)換,需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。
? 2) 目標(biāo)數(shù)據(jù)類(lèi)型 變量名 = (目標(biāo)數(shù)據(jù)類(lèi)型) 值或變量;
4.流程控制語(yǔ)句
4.1 順序結(jié)構(gòu)
? 1) 按照代碼書(shū)寫(xiě)順序,從上往下執(zhí)行。
?
4.2 選擇結(jié)構(gòu)
4.2.1 if 語(yǔ)句格式
? 1) 格式一:
if (boolean表達(dá)式) {
語(yǔ)句體;
}
? 2) 格式二:
if(關(guān)系表達(dá)式){
語(yǔ)句體1;
}else{
語(yǔ)句體2;
}
? 3) 格式三:
if(關(guān)系表達(dá)式1){
語(yǔ)句體1;
}else if(關(guān)系表達(dá)式2){
語(yǔ)句體2;
}else{
語(yǔ)句體n+1;
}
4.2.2 switch 語(yǔ)句格式
? 1) 格式:
switch(表達(dá)式){
case 1:
語(yǔ)句體1;
break;
case 值2:
語(yǔ)句體2;
break;
...
default
語(yǔ)句體n+1;
break;
}
? 2) switch的注意事項(xiàng)
? 1. switch中表達(dá)式的值可以是哪些類(lèi)型?
? byte short char int , 枚舉, 字符串
? 2. case的值可以重復(fù)嗎?可以是變量嗎?
? case 后面的值不能重復(fù),不能是變量,只能是常量
- default的作用?default能否省略?
? case的值都不匹配的時(shí)候,執(zhí)行default的內(nèi)容,default可以省略
? 4. break的作用是什么?break可以省略嗎?
? 結(jié)束switch語(yǔ)句 ,break可以省略,會(huì)有case穿透現(xiàn)象
4.3 循環(huán)結(jié)構(gòu)
4.3.1 for循環(huán)
? 1) 格式:
for (初始化語(yǔ)句; 條件判斷語(yǔ)句; 條件控制語(yǔ)句) {
循環(huán)體語(yǔ)句;
}
? 2) 案例: for循環(huán)打印5次HelloWorld
for(int i = 0; i < 5; i++){
System.out.println("HelloWorld");
}
4.3.2 while循環(huán)
? 1) 格式:
初始化語(yǔ)句;
while(條件判斷語(yǔ)句){
循環(huán)體語(yǔ)句;
條件控制語(yǔ)句;
}
? 2) 案例: while循環(huán)打印5次HelloWorld
int i=1;
while( i<=5 ){
System.out.println("HelloWorld");
i++;
}
4.3.3 do-while循環(huán)
? 1) 格式:
初始化語(yǔ)句;
do {
循環(huán)體語(yǔ)句;
條件控制語(yǔ)句;
}while(條件判斷語(yǔ)句);
? 2) 案例: 使用do-while循環(huán)在控制臺(tái)打印5次HelloWorld
int i = 1;
do{
System.out.println("HelloWorld");
i++;
}while(i <= 5);
4.3.4 跳轉(zhuǎn)控制語(yǔ)句
? 1) break關(guān)鍵字
1、在switch中,用于結(jié)束switch結(jié)構(gòu)。
2、在循環(huán)中,用于結(jié)束break所在循環(huán)。
3、多層循環(huán)時(shí),可以為循環(huán)加上標(biāo)簽,讓break結(jié)束指定循環(huán)。
**注意**: break語(yǔ)句后面不能直接跟其他語(yǔ)句,否則會(huì)編譯報(bào)錯(cuò)。
? 2) continue關(guān)鍵字
? 1、continue只能在循環(huán)中使用,用于跳過(guò)一次循環(huán),開(kāi)始下一次循環(huán)。
? 2、continue后面不能直接跟其他語(yǔ)句,否則會(huì)編譯報(bào)錯(cuò)。當(dāng)有循環(huán)嵌套時(shí)。
? 3、continue也可配合標(biāo)簽使用,跳到指定循環(huán)繼續(xù)執(zhí)行。
5.Scanner鍵盤(pán)錄入
5.1 Scanner類(lèi)的作用
? Scanner是JDK提供的用于【獲取鍵盤(pán)輸入的數(shù)據(jù)】的工具類(lèi)。該類(lèi)位于【java.util】包下。
5.2 Scanner的使用步驟
? 1) 導(dǎo)包
import java.util.Scanner
? 2) 創(chuàng)建Scanner的對(duì)象
Scanner sc = new Scanner(System.in);
? 3) 調(diào)用方法接收數(shù)據(jù)
int num = sc.nextInt();
6.Random
6.1 Random類(lèi)的作用?
? Random是java提供的工具類(lèi),位于 java.util 包下,用于產(chǎn)生隨機(jī)數(shù)。
6.2 Random類(lèi)的使用步驟?
? 1) 導(dǎo)包
import java.util.Random;
? 2) 創(chuàng)建對(duì)象
Random r = new Random();
? 3) 產(chǎn)生隨機(jī)數(shù)
int num = r.nextInt(數(shù)值);