關鍵字
HelloWorld案例
(1)寫程序
class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
(2)解釋該程序
A:class是用來定義類的,格式是: class 類名 {}
B:程序要獨立運行,必須有主方法,格式是:
public static void main(String[] args) { }
C:程序要輸出內容,必須有輸出語句,格式是:
System.out.println("HelloWorld");
(3)程序的編譯和運行
A:javac命令編譯程序,後面跟的是文件名稱
javac HelloWorld.java
B:java命令執行程序,後面跟的是class文件名稱,不含擴展名
java HelloWorld
(4)一個Java程序的開發流程
A:編寫Java源程序
B:通過javac命令編譯java程序,生成字節碼文件
C:通過java命令運行字節碼文件
數據類型
算術運算符
比較運算符
邏輯運算符
“&”和“&&”的區別:
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊爲真,右邊參與運算,如果左邊爲假,那麼右邊不參與運算。
“|”和“||”的區別同理,雙或時,左邊爲真,右邊不參與運算。
三目運算符
(關係表達式)?表達式1:表達式2;
如果條件爲true,運算後的結果是表達式1;
如果條件爲false,運算後的結果是表達式2;
如何實現鍵盤錄入數據呢?(目前先記住使用)
-
導包(位置放到class定義的上面)
import java.util.Scanner;
-
創建對象
Scanner sc = new Scanner(System.in);
-
接收數據
int x = sc.nextInt();
選擇結構(if語句)
if語句第一種格式:
if(關係表達式) {
語句體
}
執行流程
首先判斷關係表達式看其結果是true還是false
如果是true就執行語句體
如果是false就不執行語句體
注意事項
關係表達式無論簡單還是複雜,結果必須是boolean類型
if語句控制的語句體如果是一條語句,大括號可以省略;如果是多條語句,就不能省略。建議永遠不要省略。
一般來說:有左大括號就沒有分號,有分號就沒有左大括號
if語句第二種格式:
if(關係表達式) {
語句體1;
}else {
語句體2;
}
執行流程
首先判斷關係表達式看其結果是true還是false
如果是true就執行語句體1
如果是false就執行語句體2
if語句第三種格式:
if(關係表達式1) {
語句體1;
}else if (關係表達式2) {
語句體2;
}
…
else {
語句體n+1;
}
執行流程
首先判斷關係表達式1看其結果是true還是false
如果是true就執行語句體1
如果是false就繼續判斷關係表達式2看其結果是true還是false
如果是true就執行語句體2
如果是false就繼續判斷關係表達式…看其結果是true還是false
…
如果沒有任何關係表達式爲true,就執行語句體n+1。
選擇結構(switch語句)
switch語句格式:
switch(表達式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
格式解釋
switch表示這是switch語句
表達式的取值:byte,short,int,char
JDK5以後可以是枚舉
JDK7以後可以是String
case後面跟的是要和表達式進行比較的值
語句體部分可以是一條或多條語句
break表示中斷,結束的意思,可以結束switch語句
default語句表示所有情況都不匹配的時候,就執行該處的內容,和if語句的else相似。
執行流程
首先計算出表達式的值
其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。
循環結構(for循環語句)
for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
循環體語句;
}
執行流程
A:執行初始化語句
B:執行判斷條件語句,看其結果是true還是false
- 如果是false,循環結束。
- 如果是true,繼續執行。
C:執行循環體語句
D:執行控制條件語句
E:回到B繼續
循環結構(while循環語句)
while循環語句格式:
基本格式
while(判斷條件語句) {
循環體語句;
}
擴展格式
初始化語句;
while(判斷條件語句) {
循環體語句;
控制條件語句;
}
for循環語句和while循環語句可以等價轉換,但還是有些小區別的
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
場景區別:
for循環適合針對一個範圍判斷進行操作
while循環適合判斷次數不明確操作
循環結構(do…while循環語句)
do…while循環語句格式:
基本格式
do {
循環體語句;
}while((判斷條件語句);
擴展格式
初始化語句;
do {
循環體語句;
控制條件語句;
} while((判斷條件語句);
三種循環語句其實都可以完成一樣的功能,也就是說可以等價轉換,但還是有小區別的:
do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候纔會去執行循環體
注意事項:
寫程序優先考慮for循環,再考慮while循環,最後考慮do…while循環。
如下代碼是死循環
while(true){}
for(;😉{}:第二個條件不寫默認爲true
跳轉控制語句(break)
break的使用場景:
在選擇結構switch語句中
在循環語句中
離開使用場景的存在是沒有意義的
break的作用:
跳出單層循環
跳出多層循環
帶標籤的跳出
格式:標籤名: 循環語句
標籤名要符合Java的命名規則
跳轉控制語句(continue)
continue的使用場景:
在循環語句中
離開使用場景的存在是沒有意義的
continue的作用:
單層循環對比break,然後總結兩個的區別
break 退出當前循環
continue 退出本次循環
也可以帶標籤的使用
跳轉控制語句(return)
return關鍵字不是爲了跳轉出循環體,更常用的功能是結束一個方法,也就是退出一個方法。跳轉到上層調用的方法。