您好,登錄后才能下訂單哦!
Java中的控制流如何利用條件語句與循環結構確定?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、塊作用域
塊(block),即復合語句。是指由一對大括號括起來的若干條簡單的Java語句。塊確定了變量的作用域。
比如:
public class Code { static { System.out.println("1"); } { System.out.println("2"); } public Code() { System.err.println("3"); } public static void main(String[]args) { new Code(); } }
注意:不能在嵌套的兩個塊中聲明同名的變量。
二、條件語句
格式1:
if(condition) { statement1 statement2 ........ }
例如:
if(youSales>=target) { performance="Satisfactory"; bonus=1000; }
格式2:
if(condition)statement1 else statement2
例如:
if(youSales>=target) { performance=“Satisfactory”; bonus=100+10*(youSales-target“); } else { performance=”Unstatisfactory“; bonus=0; }
三、循環
當條件為true時,while循環執行。
格式1:
while(condition)statemnet
例如:
while (balance<goal) { balance+=payment; double interest=balance*interestRate/100; balance+=interest; years++; }
格式2:
do statement while(condition);
do { balance+=payment; double interest=balance*interestRate/100; balance+=interest; year++; System.out.printf("After year %d,your balance is %,.2f%,year,balance"); System.out.print("Ready to retire?(Y/N)"); input=in.next(); } while(input.equals("N")); }
四、確定循環
for循環語句是支持迭代的一種通用結構,利用每次迭代之后更新的計數器或類似的變量來控制迭代的次數。
格式類似如下:
for(int i=0;i<x.length;i++)
System.out.println(i);
例子4個:
public class ShuZu1 { public static void main(String[]args){ int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}}; int result=qiuHe(x); System.out.println("和是"+result); } public static int qiuHe(int[][]x){ int s=0; for(int i=0;i<x.length;i++) { for(int j=0;j<x[i].length;j++) { s+=x[i][j]; } } return s; } }
public class ShuZu2 { public static void main(String[]args){ int [][] x=new int[7][7]; //生成隨機數組,注意沒有返回值,另外打印一行字 suiJi(x); System.out.println("生成的數組是:"); //顯示數組內容,注意沒有返回值 showArray(x); //取值 float result=getAvg(x); System.out.println("平均數是"+result); } static float getAvg(int [][] x){ float s=0; for(int i=0;i<x.length;i++){ for(int j=0;j<x[i].length;j++){ s+=x[i][j]; } } return s/(x.length*x[0].length); } static void suiJi (int[][]x){ //這里我出錯了。返回值寫了int型,不應該的。思考一下。 for(int i=0;i<x.length;i++){ for(int j=0;j<x[i].length;j++){ x[i][j]=(int)(Math.random()*10); } } } static void showArray(int[][]x){ //這里我出錯了。返回值寫了int型,不應該的。思考一下。 for(int i=0;i<x.length;i++){ for(int j=0;j<x[i].length;j++){ System.out.print(x[i][j]+"\t");// 給數據空格 } System.out.println();//打印換行 } } }
import java.util.Arrays; public class SuZu3{ public static void main(String[] args) { int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74}; sort(x,'n'); for(int i=0;i<x.length;i++){ System.out.print(x[i]+"\t"); } } //給數組進行選擇性排序 //調用API進行升序 static void sort(int[]x,char Flag){ if('A'==Flag){ Arrays.sort(x); } else { for(int i=0;i<x.length-1;i++){ for(int j=0;j<x.length-1-i;j++){ int temp=0; if(x[j]<x[j+1]){ temp=x[j]; x[j]=x[j+1]; x[j+1]=temp; } } } } } }
import java.util.Scanner; public class Suzu4 { public static void main(String[] args) { System.out.println("請輸入");//這個命令只能緊貼在Scanner scan = new Scanner(System.in);的上面或下面才有效。 Scanner scan = new Scanner(System.in); //System.out.println("請輸入");或者放在Scanner scan = new Scanner(System.in);的下面 String str = scan.nextLine();// nextLine才是接收一行 char[] s = str.toCharArray();// 把字符串轉換稱一個字符數組 scan.close(); int letterCount = 0; int numberCount = 0; int spaceCount = 0; int otherCount = 0; for (int i = 0; i < s.length; i++) { if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') { letterCount++; } else if (s[i] >= '1' && s[i] <= '9') { numberCount++; } else if (s[i] == ' ') { spaceCount++; } else { otherCount++; } } System.out.println("字母有" + letterCount + "個"); System.out.println("數字有" + numberCount + "個"); System.out.println("空格有" + spaceCount + "個"); System.out.println("其他有" + otherCount + "個"); } }//ctrl+shift+f 是代碼格式化 //ctrl+shift+o 是導包
五、多重選擇:switch語句
格式類似如下:
switch(choice) { case 1: ........ break; case 2: ....... break; ......... //可以再來幾個case(用break結束一下) default: ....... break; }
注意:
case標簽可以是:
* 類型為char、byte、short或int的常量表達式。
* 枚舉常量
* 從Java SE 7開始,case標簽還可以是字符串字面量。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。