Java入門之循環與判斷
目錄
1. 循環結構
1. while語句
while(布爾表達式){
//循環內容
}
//例子
while(true){
System.out.println("無限循環");
}
int i = 100;
while(i){
i--;
System.out.println("還有"+i+"次循環就結束啦。");
}
2. do...while語句(不常用)
while語句如果不滿足條件,就不會執行。但是do...while語句即使不滿足條件,也會執行一次。
do {
//代碼語句
System.out.println("就算是錯的我也能運行鴨");
}while(false);
3. for循環語句
/*
1. 初始值是指初始化的值,我們可以在for語句內定義,也可以在for語句外先定義好這個值。
但是我們必須在此處賦予它一個初始化的值,例如從0開始。例如:int i = 1;或i = 1;
2. 布爾表達式,當結果為false時,循環結束。
3. 更新,每次循環后,可以做一個更新的動作。比如i++,即每次循環后i加一。
*/
for(初始值;布爾表達式;更新){
//代碼語句
}
/*
實例
*/
for(int x = 10; x < 20; x = x+1) {
System.out.println("我是第" + x + "個數。");
}
4. 增強的for循環
/*
Java5 引入了一種主要用於數組的增強型 for 循環。
Java 增強 for 循環語法格式如下:
*/
for(聲明語句 : 表達式)
{
//代碼句子
}
/*
那么,什么情況下可以用這樣的for循環呢
當你要循環一個數組對象的時候,就可以使用了。
*/
int [] nums = {10, 20, 30, 40, 50};
for(int i:nums){
System.out.print( x );
System.out.print(",");
}
2. 條件語句
1. if語句
/*
我們可以使用if語句來判斷條件
*/
if(布爾表達式){
//代碼句子
}
/*
實例
*/
int x = 100;
if(x%2 == 0){
System.out.println("x是偶數。");
}
2. if...else
/*
if語句后可以跟else語句,當條件為false時,執行else語句
*/
if(布爾表達式){
//代碼句子
}else{
//代碼
}
/*
實例
*/
int x = 100;
if(x%2 == 0){
System.out.println("x是偶數。");
}else{
System.out.println("x是奇數。");
}
3. if...else if...else
/*
if語句可以進行多重嵌套
*/
if(布爾表達式 1){
//如果布爾表達式 1的值為true執行代碼
}else if(布爾表達式 2){
//如果布爾表達式 2的值為true執行代碼
}else if(布爾表達式 3){
//如果布爾表達式 3的值為true執行代碼
}else {
//如果以上布爾表達式都不為true執行代碼
}
/*
實例
*/
int score = 66;
if(score >= 90){
System.out.println("優秀");
}else if(score >= 80){
System.out.println("良好");
}else if(score >= 60){
System.out.println("合格");
}else {
System.out.println("奧力給");
}
4. 嵌套的if...else
/*
我們可以使用套娃式的寫if語句
*/
if(布爾表達式){
//代碼
if(布爾表達式){
//代碼
}
//代碼
}
/*
嵌套的if語句即我們可以在if語句內再加上新的if語句,這只是一個用法,而不是新的語句。
不僅可以在if語句中加入if語句,也能在else語句中加入
不僅可以嵌套if語句,也可以嵌套if...else語句
以上是廢話,無聊可以看看
實例
|
v
*/
int num = 6
if(num % 2 == 0){
if(num > 0){
System.out.println("這是一個大於 0 的偶數");
}else{
System.out.println("這是一個不大於 0 的偶數");
}
}else{
if(num > 0){
System.out.println("這是一個大於 0 的奇數");
}else{
System.out.println("這是一個不大於 0 的奇數");
}
}
3. break和continue
我們可以使用這兩個語句控制循環。
大多時候,我們會和條件語句配合使用。
1. break
當出現break語句時,會跳出循環,不會再進行之后的循環。
String [] strs = {"張三","李四","王大錘","無名氏"}
for(String str:strs){
if("王大錘".equals(str)){
System.out.println("找到王大錘");
break;
}
System.out.println("還沒找到王大錘");
}
/*
當找到王大錘后,之后的循環已經沒有意義,使用break跳出循環。
*/
2. continue
當出現continue語句時,會中止當前循環,回到開頭進行下一個循環。
int [] nums = {66,70,88,96,56};
int sum = 0;
for(int num : nums){
if(num >= 60){
sum += 1;
continue;
}
System.out.println("檢測到不合格分數");
}
System.out.println("有"+sum+"人及格");
/*
如上面這樣寫,如果合格,就不會繼續下面的代碼,如果不合格,才會打印出提示。
*/
練習:
編寫一個顏值判斷系統
- 當顏值為0-60為丑比,當顏值為60-80為中等,當顏值80-90為清秀,當顏值90-100為盛世美顏,當顏值大於100為顏值爆表。
- 批量檢測顏值,將多個顏值存入int數組,循環檢測每個分數段有幾個人並輸出。同時,當檢測到壞數據(小於0時),打印出呀, 你丑到我了,並將直接中止本次循環不計入統計。當檢測到顏值爆表時,打印出糟糕,你美爆了我的小程序,並跳出循環。
拓展 switch語句
- switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
- 實際開發中,我很少用到這個語句,所以作為拓展放在這里。這個語句可以在條件很多時更有條理的寫出判斷。例如1-7對應周幾,分數段判斷等情況。
switch(expression){
case value :
//語句
break; //可選
case value :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
//語句
}