與任何程序設(shè)計(jì)語言一樣,Java使用條件語句和循環(huán)結(jié)構(gòu)確定控制流。本文將簡單講解條件、循環(huán)和switch。
一、塊作用域
塊(block),即復(fù)合語句。是指由一對大括號(hào)括起來的若干條簡單的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(); } } |
注意:不能在嵌套的兩個(gè)塊中聲明同名的變量。
二、條件語句
格式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 ; } |
三、循環(huán)
當(dāng)條件為true時(shí),while循環(huán)執(zhí)行。
格式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" )); } |
四、確定循環(huán)
for循環(huán)語句是支持迭代的一種通用結(jié)構(gòu),利用每次迭代之后更新的計(jì)數(shù)器或類似的變量來控制迭代的次數(shù)。
格式類似如下:
for(int i=0;i<x.length;i++)
System.out.println(i);
例子4個(gè):
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 ]; //生成隨機(jī)數(shù)組,注意沒有返回值,另外打印一行字 suiJi(x); System.out.println( "生成的數(shù)組是:" ); //顯示數(shù)組內(nèi)容,注意沒有返回值 showArray(x); //取值 float result=getAvg(x); System.out.println( "平均數(shù)是" +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){ //這里我出錯(cuò)了。返回值寫了int型,不應(yīng)該的。思考一下。 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){ //這里我出錯(cuò)了。返回值寫了int型,不應(yīng)該的。思考一下。 for ( int i= 0 ;i<x.length;i++){ for ( int j= 0 ;j<x[i].length;j++){ System.out.print(x[i][j]+ "\t" ); // 給數(shù)據(jù)空格 } 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" ); } } //給數(shù)組進(jìn)行選擇性排序 //調(diào)用API進(jìn)行升序 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( "請輸入" ); //這個(gè)命令只能緊貼在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(); // 把字符串轉(zhuǎn)換稱一個(gè)字符數(shù)組 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 + "個(gè)" ); System.out.println( "數(shù)字有" + numberCount + "個(gè)" ); System.out.println( "空格有" + spaceCount + "個(gè)" ); System.out.println( "其他有" + otherCount + "個(gè)" ); } } //ctrl+shift+f 是代碼格式化 //ctrl+shift+o 是導(dǎ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 ; ......... //可以再來幾個(gè)case(用break結(jié)束一下) default : ....... break ; } |
注意:
case標(biāo)簽可以是:
* 類型為char、byte、short或int的常量表達(dá)式。
* 枚舉常量
* 從Java SE 7開始,case標(biāo)簽還可以是字符串字面量。
以上這篇Java使用條件語句和循環(huán)結(jié)構(gòu)確定控制流(實(shí)例)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。