與任何程序設計語言一樣,Java使用條件語句和循環結構確定控制流。本文將簡單講解條件、循環和switch。
一、塊作用域
塊(block),即復合語句。是指由一對大括號括起來的若干條簡單的Java語句。塊確定了變量的作用域。
比如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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:
1
2
3
4
5
6
7
8
9
10
11
|
if(condition) { statement1 statement2 ........ } |
例如:
1
2
3
4
5
|
if(youSales>=target) { performance="Satisfactory"; bonus=1000; } |
格式2:
if(condition)statement1 else statement2
例如:
1
2
3
4
5
6
7
8
9
10
|
if (youSales>=target) { performance=“Satisfactory”; bonus= 100 + 10 *(youSales-target“); } else { performance=”Unstatisfactory“; bonus= 0 ; } |
三、循環
當條件為true時,while循環執行。
格式1:
while(condition)statemnet
例如:
1
2
3
4
5
6
7
|
while (balance<goal) { balance+=payment; double interest=balance*interestRate/ 100 ; balance+=interest; years++; } |
格式2:
do statement while(condition);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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個:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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(); //打印換行 } } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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; } } } } } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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語句
格式類似如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
switch (choice) { case 1 : ........ break ; case 2 : ....... break ; ......... //可以再來幾個case(用break結束一下) default : ....... break ; } |
注意:
case標簽可以是:
* 類型為char、byte、short或int的常量表達式。
* 枚舉常量
* 從Java SE 7開始,case標簽還可以是字符串字面量。
以上這篇Java使用條件語句和循環結構確定控制流(實例)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。