標籤:格式 要求 選擇 switch語句 介紹 互連網思維 circle while dom
目錄
- 1、引用資料類型
- 2、流程式控制制語句
- 2.1 條件控制語句if
- 2.2 if語句與三元運算子的互換
- 2.3 迴圈語句
- 2.4 迴圈嵌套
- 2.5 跳躍陳述式
- 2.6 選擇結構switch
- 3、猜數字案例
1、引用資料類型
Scanner類
Scanner類屬於引用資料類型;
格式: 資料類型 變數名 = new 資料類型();
/* 引用資料類型,介紹一個類 Scanner,這是應存在的類 定義引用資料類型變數,和基本類型變數有區別 格式: 資料類型 變數名 = new 資料類型(); 舉例: Scanner sc = new Scanner(); 建立出Scanner類的變數; 每個參考型別都有自己的功能,使用功能方式: 變數.功能名字() Scanner類,作用是在命令列中接收輸入 使用Scanner類步驟: 1.匯入包,指明類所在的檔案夾,關鍵字import; 2.公式,建立出Scanner類型變數; 3.變數,使用Scanner類中的功能,完成鍵盤輸入;*/
import java.util.Scanner;public class Scanner_Reference{ public static void main(String[] args){ // 建立出Scanner類變數 Scanner sc = new Scanner(System.in); // 功能1:nextInt()接收鍵盤輸入,保證輸入的是整數; // 功能接收的資料就是整數,功能運行後的結果就是整數類型 int i = sc.nextInt(); System.out.println(i); // 功能2:next()接收鍵盤輸入的字串 String s = sc.next(); System.out.println(s); }}
Random類
/* java中的參考型別 Random類作用是產生隨機數 步驟: 1.匯入包,Random類,也在java.util檔案夾中 2.公式:建立出Random類型的變數 3.變數:調用Random類中的功能,產生隨機數; Random類中,nextInt()產生一個隨機數,結果是int類型; nextInt(寫一個整數),產生的隨機數在0 —— 指定的整數之間的隨機數; 例如,nextInt(100),則範圍在0-99 偽隨機數:這種隨機數是根據寫好的演算法產生的一個偽隨機數;*/
import java.util.Random;public class Random_Reference{ public static void main(String[] args){ // 建立一個Random類型的變數 Random rand = new Random(); // 功能1:調用Random類中的功能,產生一個隨機整數; int i = rand.nextInt(100); System.out.println(i); // 功能2:調用Random類的功能,產生一個隨機浮點數; double d = rand.nextDouble(); System.out.println(d); }}
2、流程式控制制語句2.1 條件控制語句if
if語句
if(條件陳述式){ 執行語句; ...}
/* if語句: 編碼格式 格式: if(條件陳述式){ if語句的執行體,即執行語句; } 條件陳述式:必須是布爾類型 1==1 true||false 執行體:當if中的條件為true時,執行這個執行體; 當if中的條件為false時,什麼也不做;*/
public class if_control{ public static void main(String[] args){ int i = 5; if(i >= 5){ System.out.println("我是"+i+"號"); i++; } System.out.println("我號碼增大: "+i); // System.out.println(i); }}
if...else語句
格式:if(條件陳述式){執行語句1;}else{執行語句2;}
/* if...else 語句格式 編寫格式 if(條件){ if的執行體 } else{ else的執行體 } 當if中的條件為true時,執行if的執行體; 當if中的條件為false時,執行else的執行體;*/
public class ifelse_control{ public static void main(String[] args){ int i = 25; if(i%2 == 0){ System.out.println(i+"是偶數"); } else{ System.out.println(i+"是奇數"); } }}
if...(else if)...else語句
/* if...elseif...if 語句 適合在程式中,實現多條件的判斷,條件的個數沒有限制; 編寫格式: if(條件){ 執行體1; } else if(條件){ 執行體2; } else{ 執行體3; }*/
public class if_elseif_else{ public static void main(String[] args){ //典型案例,成績分類 int i = 88; if(i>=90){ System.out.println(i+"是優秀"); } else if(i>+80){ System.out.println(i+"是良好"); } else if(i>=70){ System.out.println(i+"是中等"); } else if(i>=60){ System.out.println(i+"是及格"); } else{ System.out.println(i+"不及格"); } }}
2.2 if語句與三元運算子的互換
/* if語句和三元運算子的替換 要求:計算兩個數的最大值 例如:兩個整數比較大小 使用if和三元運算子的情況: (1)判斷條件多,則使用if; (2)三元,必須是有結果的,if可以沒有結果;*/
public class if_Ternary_replace{ public static void main(String[] args){ int i = 5; int j = 5; // 使用if語句,判斷出最大值 if(i>j){ System.out.println(i+"是最大值"); } else{ System.out.println(j+"是最大值"); } // 使用三元運算實現 int k = i>j?i:j; System.out.println(k+"是最大值"); }}
2.3 迴圈語句
while迴圈
/* While迴圈: 編碼格式: while(條件){ 迴圈體 } 條件:當條件是true,就執行迴圈體,執行完迴圈體後,程式再次判斷條件是否為true,如果是則繼續執行迴圈體,否則迴圈結束; 迴圈體:迴圈體和if執行體一樣,都是語句;*/
public class while_circle{ public static void main(String[] args){ int i = 1; while(i<7){ System.out.println("互連網思維"+i); i++; } }}
for迴圈
/* for迴圈 編碼格式 for(初始設定變數; 條件; 增量){ 迴圈體 } 初始設定變數:定義變數,作用,控制迴圈的次數; 條件:當條件是true,執行迴圈體,條件是false,結束迴圈 增量:變數自增情況,例如:i++,i=i+2*/
public class for_circle{ public static void main(String[] agrs){ // 定義變數,用於求階乘 double factorial = 1; int i,j=0; // for迴圈 for(i=10; i>0; i--){ System.out.println(i); factorial = factorial*i; j++; } System.out.println(‘/n‘+j+"的階乘是"+factorial); }}
do...while迴圈
/* do...while迴圈 編寫格式: do{ 迴圈體; }while(條件); 特點:無條件先執行一次;*/
public class do_while_circle{ public static void main(String[] args){ int i = 1; do{ System.out.println("x="+i); i++; }while(i<10); }}
死迴圈
while死迴圈;while(true){}for死迴圈;for(;true;){}
2.4 迴圈嵌套
/* 迴圈嵌套: for(){ for(){ 迴圈體 } (迴圈體)——可以不存在 } 總迴圈次數=外迴圈次數*內迴圈次數; 內迴圈是外迴圈的迴圈體;外迴圈控制行數,內迴圈控制每行個數;*/
列印偏右三角形:
public class for_Nesting{ public static void main(String[] args){ // 列印由星星組成的三角形 for(int i=0; i<9; i++){ for(int j=0; j<5; j++){ if(i<=4){ if(j<=i) System.out.print("* "); } else{ if(j>=i-4) System.out.print("* "); } } System.out.println(); } }}
輸出結果為:
** ** * ** * * ** * * * ** * * ** * ** **
列印出菱形
public class for_Nesting{ public static void main(String[] args){ // 列印由星星組成的菱形 for(int i=0; i<9; i++){ if(i<5){ for(int k=4-i; k>0; k--) System.out.print(" "); } else{ for(int k=i-4; k>0; k--) System.out.print(" "); } for(int j=0; j<5; j++){ if(i<=4){ if(j<=i) System.out.print("* "); } else{ if(j>=i-4) System.out.print("* "); } } System.out.println(); } }}
輸出結果為:
* * * * * * * * * ** * * * * * * * * * * * * * *
2.5 跳躍陳述式
Break語句
/* break 關鍵字 作用於迴圈中,終止迴圈的作用; 但是,break終止的是所在位置的迴圈,但是不能終止以外的迴圈; switch語句中的運算式的資料類型,是有要求的 JDK1.0 - 1.4 資料類型接收 byte short int char JDK1.5 資料類型接收 byte short int char enum(枚舉) JDK1.7 資料類型接收 byte short int char enum(枚舉) string*/
public class break_jump{ public static void main(String[] args){ for(int i=0; i<10; i++){ for(int j=0; j<10; j++){ System.out.print("j="+j); break; } System.out.println("i="+i); } }}
有一種break能夠終止指定迴圈位置:
public class break_jump{ public static void main(String[] args){ a:for(int i=0; i<10; i++){ for(int j=0; j<10; j++){ System.out.print("j="+j); break a; } System.out.println("i="+i); } }}
continue語句
/* continue關鍵字 作用是終止本次迴圈,進入到下一個迴圈; */
public class continue_jump{ public static void main(String[] args){ for(int i=1; i<10; i++){ if(i%5!=0){ continue; } else{ System.out.println("5的倍數有:"+i); } } }}
2.6 選擇結構switch
/* 選擇結構 switch語句 編寫格式 switch(運算式){ case 常量1: 要執行的語句; break 常量2; case 常量2: 要執行的語句; break; case 常量3: 要執行的語句; break; default: 要執行的語句; break; } 執行流程:運算式和case後面的常量進行比較 匹配到哪個case常量,就執行對應語句;遇到break後,就結束;*/
public class switch_opt{ public static void main(String[] args){ // 定義變數,儲存星期位 int week = 6; // switch語句 switch(week){ case 1: System.out.println("星期"+week); break; case 2: System.out.println("星期"+week); break; case 3: System.out.println("星期"+week); break; case 4: System.out.println("星期"+week); break; case 5: System.out.println("星期"+week); break; case 6: System.out.println("星期"+week); break; default: System.out.println("星期"+week); break; } }}
case語句
switch特性:case穿透性;(不管前面的case,直接往後執行,即不匹配case,就往下走)
如果多個case語句的執行語句是一樣的,則該執行語句只需要書寫一次即可。
case 1 case 2 ... case 5輸出結果相同,則可以寫成:
switch(week){ case 1: case 2: case 3: case 4: case 5: System.out.println("工作日"); break; case 6: case 7: System.out.println("休息日"); break;}
3、猜數字案例
/* 在一定範圍內猜數字 (1)隨機數產生1-100的固定數,用Random; 鍵盤輸入,用Scanner; (2)作比較,和固定數做比較,用if結構; (3)不斷猜數字,直到猜正確,用while結構;*/
import java.util.Random;import java.util.Scanner;public class guess_number{ public static void main(String[] args){ System.out.println("猜數字遊戲開始了"); System.out.println("輸入1-100的數字:"); // 建立Random類 Random rand = new Random(); int randNumber = rand.nextInt(100)+1; //使用功能nextInt()擷取數字輸入; // 建立Scanner類變數 Scanner sc = new Scanner(System.in); while(true){ int number = sc.nextInt(); if(number>randNumber){ System.out.println("猜大了"); } else if(number<randNumber){ System.out.println("猜小了"); } else{ System.out.println("恭喜你,猜中了"); break; } } }}
java控制流程