与任何程序设计语言一样,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使用条件语句和循环结构确定控制流(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。