笔记02-java基础语法
文章目錄
- 1 運算符
- 算術(shù)運算符
- 1.2 算術(shù)運算符
- 1.3字符的+操作
- 1.4字符串的+操作
- 2 賦值運算符
- 2.1賦值運算符
- 3 自增自減運算符
- 3.1 自增自減運算符
- 4 關(guān)系運算符
- 5 邏輯運算符
- 5.1 邏輯運算符
- 5.3 短路運算符
- 6 三元運算符
- 6.1 三元運算符
- 數(shù)據(jù)輸入
- 數(shù)據(jù)輸入概述
- Scanner使用的基本步驟
- 分支語句
- 流程控制
- 流程控制語句分類
- 順序結(jié)構(gòu)
- if語句
- if語句格式1
- if語句格式2
- if語句格式3
1 運算符
算術(shù)運算符
運算符: 對常量或者變量進(jìn)行操作的符號
表達(dá)式: 用運算符把常量或者變量連接起來符合java語法的式子就可以稱為表達(dá)式.
不同運算符連接的表達(dá)式體現(xiàn)的是不同類型的表達(dá)式
舉例:
+: 是運算符,并且是算術(shù)運算符
a+b: 是表達(dá)式,由于+是算術(shù)運算符,所以這個表達(dá)式叫算術(shù)表達(dá)式
1.2 算術(shù)運算符
符號 作用 說明
+加 參看小學(xué)一年級
-減 參看小學(xué)一年級
*乘 參看小學(xué)二年級,與“×”相同
/ 除 參看小學(xué)二年級,與“÷”相同
%取余 獲取的是兩個數(shù)據(jù)做除法的余數(shù)
注意:
/和%的區(qū)別:兩個數(shù)據(jù)做除法,/取結(jié)果的商,%取結(jié)果的余數(shù)。
整數(shù)操作只能得到整數(shù),要想得到小數(shù),必須有浮點數(shù)參與運算。
1.3字符的+操作
char類型參與算術(shù)運算,使用的是計算機(jī)底層對應(yīng)的十進(jìn)制數(shù)值。需要我們記住三個字符對應(yīng)的數(shù)值:
‘a(chǎn)’ – 97 a-z是連續(xù)的,所以’b’對應(yīng)的數(shù)值是98,'c’是99,依次遞加
‘A’ – 65 A-Z是連續(xù)的,所以’B’對應(yīng)的數(shù)值是66,'C’是67,依次遞加
‘0’ – 48 0-9是連續(xù)的,所以’1’對應(yīng)的數(shù)值是49,'2’是50,依次遞加
算術(shù)表達(dá)式中包含不同的基本數(shù)據(jù)類型的值的時候,整個算術(shù)表達(dá)式的類型會自動進(jìn)行提升。
提升規(guī)則:
byte類型,short類型和char類型將被提升到int類型,不管是否有其他類型參與運算。
整個表達(dá)式的類型自動提升到與表達(dá)式中最高等級的操作數(shù)相同的類型
等級順序:byte,short,char --> int --> long --> ?oat --> double
1.4字符串的+操作
當(dāng)“+”操作中出現(xiàn)字符串時,這個”+”是字符串連接符,而不是算術(shù)運算。
在”+”操作中,如果出現(xiàn)了字符串,就是連接運算符,否則就是算術(shù)運算。當(dāng)連續(xù)進(jìn)行“+”操作時,從左到右逐個執(zhí) 行。
2 賦值運算符
2.1賦值運算符
賦值運算符的作用是將一個表達(dá)式的值賦給左邊,左邊必須是可修改的,不能是常量。
符號 作用 說明
= 賦值 a=10,將10賦值給變量a
+= 加后賦值 a+=b,將a+b的值給a
-= 減后賦值 a-=b,將a-b的值給a
= 乘后賦值 a=b,將a×b的值給a
/= 除后賦值 a/=b,將a÷b的商給a
%= 取余后賦值 a%=b,將a÷b的余數(shù)給a
注意:
擴(kuò)展的賦值運算符隱含了強(qiáng)制類型轉(zhuǎn)換。
3 自增自減運算符
3.1 自增自減運算符
符號 作用 說明
++ 自增 變量的值加1
– 自減 變量的值減1
注意事項:
++和-- 既可以放在變量的后邊,也可以放在變量的前邊。
單獨使用的時候, ++和-- 無論是放在變量的前邊還是后邊,結(jié)果是一樣的。
參與操作的時候,如果放在變量的后邊,先拿變量參與操作,后拿變量做++或者–。
參與操作的時候,如果放在變量的前邊,先拿變量做++或者–,后拿變量參與操作。
最常見的用法:單獨使用。
4 關(guān)系運算符
注意事項:
關(guān)系運算符的結(jié)果都是boolean類型,要么是true,要么是false。
5 邏輯運算符
5.1 邏輯運算符
邏輯運算符把各個運算的關(guān)系表達(dá)式連接起來組成一個復(fù)雜的邏輯表達(dá)式,以判斷程序中的表達(dá)式是否成立,判斷 的結(jié)果是 true 或 false。
5.3 短路運算符
符號 作用 說明
&& 短路與 作用和&相同,但是有短路效果
|| 短路或 作用和|相同,但是有短路效果
在邏輯與運算中,只要有一個表達(dá)式的值為false,那么結(jié)果就可以判定為false了,沒有必要將所有表達(dá)式的值都 計算出來,短路與操作就有這樣的效果,可以提高效率。同理在邏輯或運算中,一旦發(fā)現(xiàn)值為true,右邊的表達(dá)式 將不再參與運算。
注意事項:
- 邏輯與&,無論左邊真假,右邊都要執(zhí)行。
- 短路與&&,如果左邊為真,右邊執(zhí)行;如果左邊為假,右邊不執(zhí)行。
- 邏輯或|,無論左邊真假,右邊都要執(zhí)行。
- 短路或||,如果左邊為假,右邊執(zhí)行;如果左邊為真,右邊不執(zhí)行。
最常用的邏輯運算符: &&,||,!
/**短路邏輯運算 */ public class OperatorDemo07 {public static void main(String[] args) {//定義變量int i= 10;int j = 20;int k = 30;//&& 有false則falseSystem.out.println((i > j) && (i > k));//false && falseSystem.out.println((i < j) && (i > k));//true && falseSystem.out.println((i > j) && (i < k));//false && trueSystem.out.println((i < j) && (i < k));//true && trueSystem.out.println("------------");//|| 有true則trueSystem.out.println((i > j) || (i > k));//false || falseSystem.out.println((i < j) || (i > k));//true || falseSystem.out.println((i > j) || (i < k));//false || trueSystem.out.println((i < j) || (i < k));//true || trueSystem.out.println("------------");//&&和& // System.out.println((i++ >100 )&(j++ >100));//false& false //輸出 false i = 11 j=21System.out.println((i++ > 100)&& (j++>100));//false && false //輸出 false i=11 j=20System.out.println("i="+i);System.out.println("j="+j);}6 三元運算符
6.1 三元運算符
- 格式 關(guān)系表達(dá)式?表達(dá)式1:表達(dá)式2;
- 范例 a>b?a:b;
計算規(guī)則:
首先計算關(guān)系表達(dá)式的值
如果值為true,表達(dá)式1的值就是運算結(jié)果
如果值為false,表達(dá)式2的值就是運算結(jié)果
案例兩只老虎
1、需求:動物園里有兩只老虎,已知兩只老虎的體重分別為180kg、200kg,請用程序?qū)崿F(xiàn)判斷兩只老虎的體重是 否相同。
分析:
1.定義兩個變量用于保存兩只老虎的體重,單位為kg,這里僅僅體現(xiàn)數(shù)值,int weight1=180;
int weight2=200;
2.用三元運算符來實現(xiàn)體重判斷,體重相同返回true否則返回false
(weight1 == weight2)?true:false;
3.輸出結(jié)果
案例:三個和尚
2、需求:一座寺廟里住著三個和尚,已知他們的身高分別為150cm、210cm、165cm,請用程序?qū)崿F(xiàn)獲取這三個 和尚的最高身高
分析:
1.定義三個變量保存三個和尚的身高
int height1=150;
int height2=210;
int height3=165;
2.用三元運算符獲取前兩個和尚較高的身高值,并用臨時身高變量保存起來,
height1>height2?height1:height2;
3,用三元運算符取臨時身高和第三個身高比較,并用最大身高變量保存
tempHeight>height3?tempHeight:height3:
輸出結(jié)果
數(shù)據(jù)輸入
數(shù)據(jù)輸入概述
Scanner使用的基本步驟
1.導(dǎo)包
import java.util.Scanner;2.創(chuàng)建Scanner對象
//創(chuàng)建Scanner對象,sc表示變量名,其他均不變 Scanner sc = new Scanner(System.in);3.接收數(shù)據(jù)
//表示將鍵盤錄入的值作為int數(shù)據(jù)返回 int i = sc.nextInt( ); /** 數(shù)據(jù)輸入* 導(dǎo)包 * import java.util.Scanner; *創(chuàng)建Scanner對象 * //創(chuàng)建Scanner對象,sc表示變量名,其他均不變 * Scanner sc = new Scanner(System.in); *接收數(shù)據(jù) * //表示將鍵盤錄入的值作為int數(shù)據(jù)返回 * int i = sc.nextInt( );*/ import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//創(chuàng)建對象Scanner sc = new Scanner(System.in);//接收數(shù)據(jù)int i = sc.nextInt();//輸出結(jié)果System.out.println("i="+i);} }案例三個和尚升級
需求:一座寺廟里住著三個和尚,他們的身高必須經(jīng)過測量得出,請用程序?qū)崿F(xiàn)獲取這三個和尚的最高身高
分析
1.身高未知,采用鍵盤錄入實現(xiàn),首先導(dǎo)包,然后創(chuàng)建對象.
import java.util.Scanner;
Scanner sc = newScanner(System.in);
2.鍵盤錄入三個身高分別賦值給三個變量
int height1 = sc.nextInt();
int height2= sc.nextInt();
int height3 = sc.nextInt();
3.用三元運算符獲取前兩個和尚較高的身高,并用臨時身高變量保存起來
height1 >height2 ?height1:height2;
用三元運算符獲取臨時身高值第三個和尚身高較高值,并用最大身高變量保存
temp>height3?temp:height3;
分支語句
流程控制
流程控制語句分類
- 順序結(jié)構(gòu)
- 分支結(jié)構(gòu)(if, switch)
- 循環(huán)結(jié)構(gòu)(for, while, do…while)
順序結(jié)構(gòu)
順序結(jié)構(gòu)是程序中最簡單最基本的流程控制,沒有特定的語法結(jié)構(gòu),按照代碼的先后順序,依次執(zhí)行,程序中大多數(shù)的代碼都是這樣執(zhí)行的
if語句
if語句格式1
格式:
if(關(guān)系表達(dá)式){
語句體;
}
執(zhí)行流程:
1.首先計算關(guān)系表達(dá)式的值
2.如果關(guān)系表達(dá)式的值為true就執(zhí)行語句體
3.如果關(guān)系表達(dá)式的值為false就不執(zhí)行語句體
3.繼續(xù)執(zhí)行后面的語句內(nèi)容
if語句格式2
格式:
if(關(guān)系表達(dá)式){
語句體1;
}else{
語句體2;
}
執(zhí)行流程:
1.首先計算關(guān)系表達(dá)式的值
2.如果關(guān)系表達(dá)式的值為true就執(zhí)行語句體1
3.如果關(guān)系表達(dá)式的值為false就執(zhí)行語句體2
4.繼續(xù)執(zhí)行后面的內(nèi)容
案例:奇偶數(shù)
需求:任意給出一個整數(shù),請用程序 實現(xiàn)判斷整數(shù)是奇數(shù)還是偶數(shù),并在控制臺輸出該整數(shù)是奇數(shù)還是偶數(shù)
分析:
1.為了體現(xiàn)任意給出一個整數(shù),采用鍵盤錄入一個數(shù)據(jù)
使用鍵盤錄入功能需要導(dǎo)包
import java.util.Scanner;
創(chuàng)建對象
Scanner sc = new Scanner(System.in);
接收數(shù)據(jù)
int number = sc.nextInt();
2.判斷整數(shù)是偶數(shù)還是奇數(shù)要分兩種情況進(jìn)行判斷使用ifelse結(jié)構(gòu)
3.判斷是否是偶數(shù)需要用到取余運算number%2 ==0;
4.根據(jù)判定情況,在控制臺輸出對應(yīng)內(nèi)容
if語句格式3
格式:
if(關(guān)系表達(dá)式1){
語句體1;
}else if(關(guān)系表達(dá)式2){
語句體2;
}else{
語句體n+1;
}
執(zhí)行流程:
①首先計算關(guān)系表達(dá)式1的值
②如果值為true就執(zhí)行語句體1;如果值為false就計算關(guān)系表達(dá)式2的值
③如果值為true就執(zhí)行語句體2;如果值為false就計算關(guān)系表達(dá)式3的值
④… ⑤如果沒有任何關(guān)系表達(dá)式為true,就執(zhí)行語句體n+1。
案例:考試獎勵
需求:小明快要期末考試了,小明爸爸對他說,會根據(jù)他不同的考試成績,送他不同的禮物,假如你可以控制小明 的得分,請用程序?qū)崿F(xiàn)小明到底該獲得什么樣的禮物,并在控制臺輸出
分析:
1.
分析
/** 考試獎勵* 需求:小明快要期末考試了,小明爸爸對他說,會根據(jù)他不同的考試成績,送他不同的禮物,* 假如你可以控制小明 的得分,用程序?qū)崿F(xiàn)小明到底該獲得什么樣的禮物, 并在控制臺輸出* 獎勵:* 95-100 山地自行車* 90-94 游樂場玩一次* 80-89 變形金剛一個* 80以下 胖揍一頓*/ import java.util.Scanner; public class IfTest02 {public static void main(String[] args) {//小明考試成績未知,通過鍵盤錄入Scanner sc = new Scanner(System.in);System.out.println("輸入小明的的成績");int score = sc.nextInt();//獎勵判斷if(score>100 || score<0) {System.out.println("輸入成績錯誤");}else if(score>=95 && score<=100) {System.out.println("獎勵山地自行車一輛");}else if(score>=90 && score<=94) {System.out.println("獎勵游樂場玩一次");}else if(score>=80 && score<=89) {System.out.println("獎勵變形金剛一個");}else {System.out.println("胖揍一頓");}} }總結(jié)
以上是生活随笔為你收集整理的笔记02-java基础语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java程序编写 • 【第9章 程序:用
- 下一篇: 面向异构众核超级计算机的大规模稀疏计算性