----------------------ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一.控制语句
Java的控制语句有两种类型,即条件语句和switch语句
1.条件控制语句
1)if语句
if语句的的一般形式:
if(表达式) {
若干语句
}
注意事项:(1)if后面的表达式必须是boolean型;
(2)当表达式的值为true时,执行紧跟着的复合语句,若表达式的值为false,执行程序中if语句后面的其他语句;
(3)复合语句如果只有一个语句,则{}可以省略不写,但为了增强程序的可读性最好不要省略。
代码示例
- public class FlowControlDemo1 {
- /**
- * if语句的使用
- * @黑马ZWF
- */ public static void main(String[] args) {
- change(3,2);
- }
- public static void change(int a, int b) {
- System.out.println("交换前的顺序为"+ a + "···" + b); //输出结果是:交换前的顺序为3···2
- if(a > b) {
- int temp = a;
- a = b;
- b = temp;
- }
- System.out.println("交换后的顺序为"+ a + "···" + b); //输出结果是:交换后的顺序为2···3}}
- }
- }
2)if-else 语句
if-else语句的一般形式:
if (表达式) {
若干语句;
}
else {
若干语句;
}
用法与if语句相同,但要注意的是,如果if和else后面的复合语句只有一条,大括号才可以不写,否则一定要加上大括号。
错误用法的代码示例
- public static void main(String[] args) {
- int x = 1, y, z = 0;
- if (x > 0)
- y = 5;
- z = 100;
- else
- y = -100;
- System.out.println(y + "···" + z);
- }
正确用法的代码示例
- public static void main(String args[]) {
- int x = 1, y, z = 0;
- if (x > 0) {
- y = 5;
- z = 100;
- }
- else {
- y = -100;
- z = 50;
- }
- System.out.println(y + "···" + z); //输出结果为: 5···100
- }
3)多个if-else语句
其一般形式为:
if(表达式1)
语句1
else if(表达式2)
语句2
···
else if(表达式n)
语句n
代码示例
- public class FlowControlDemo {
- /**打印成绩,用多个if-else 语句控制
- 大于等于90优;80~90良;70~80中;60~69及格;小于60及格
- * @黑马ZWF
- */
- public static void main(String args[]) {
- score(95); //输出结果是:优
- score(85); //输出结果是:良
- score(75); //输出结果是:中
- score(65); //输出结果是:及格
- score(55); //输出结果是:不及格
- score(-101); //输出结果是:超出范围
- }
- public static void score(int a) {
- if (a > 90 && a < 100 )
- System.out.println("优");
- else if (a > 80)
- System.out.println("良");
- else if (a > 70)
- System.out.println("中");
- else if (a > 60)
- System.out.println("及格");
- else if(a < 60 && a > 0)
- System.out.println("不及格");
- else
- System.out.println("超出范围!!");
- }
- }
2.switch语句
switch语句是多分支的开关语句,一般形式定义如下:
switch(表达式) {
case 常量值1:若干语句;break;
case 常量值2:若干语句;break;
······
case 常量值n:若干语句break;
default: 若干语句;
}
注意事项 :
(1)switch表达式中的值必须是整形或者字符型。
(2)常量值1到常量值n必须也是整型或字符型。
(3)执行顺序:首先计算表达式中的值,如果表达式中的值和某个case后面的常量值相同,就执行该case的语句直到遇到break语句为止。如果表达式中的值没有与之相同的常量 值,则执行default后面的语句。
(4)关于default语句:它是可选的,如果不存在并且switch表达式又没有与之相同的常量值,则系统不执行此switch语句。代码示例
- public class FlowControlDemo3 {
- /**打印成绩,switch语句控制
- 大于等于90优;80~90良;70~80中;60~69及格;小于60不及格
- * @黑马ZWF
- */
- public static void main(String args[]) {
- score(95); //输出结果是:优
- score(85); //输出结果是:良
- score(75); //输出结果是:中
- score(65); //输出结果是:及格
- score(55); //输出结果是:不及格
- }
- public static void score(int a) {
- a = a/10;
- switch(a){
- case 10:
- case 9: System.out.println("优");break;
- case 8: System.out.println("良");break;
- case 7: System.out.println("中");break;
- case 6: System.out.println("及格");break;
- default : if(a >= 0 && a <= 10)
- System.out.println("不及格");
- }
- }
- }
二.循环语句
1.for语句
for语句是Java语言中极其重要的循环语句,其定义格式如下:
for(表达式1; 表达式2; 表达式3) {
若干语句
}
注意事项:
(1)for语句中的复合语句:{若干语句},称为循环体。
(2)表达式1负责完成变量的初始化。
(3)表达式2是值为boolean型的表达式,成为循环条件。
(4)表达式3用来修整变量,改变循环条件。
for循环语句的执行顺序:for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作达式2的值,若表达式2的值为true,则执行循环体:执行完循环体之后紧接着计算表达式3,以便改变循环条件,这样一轮循环就结束了。第二轮循环从计算表达式2开始,若表达式2的值仍为true,则继续循环,否则跳出整个for语句执行后面的语句。
执行顺序图:(其中数字代表进行的步骤)
代码示例:
- public class FlowControlDemo4 {
- /**
- * 利用for循环语句计算1+2+···+100的总和
- * @黑马ZZ
- */
- public static void main(String args[]) {
- int sum = 0;
- for(int x = 1; x <= 100; x++) {
- sum += x;
- }
- System.out.println("1+2+···+100的总和是:" + sum );
- }
- }
2.while语句
while语句定义格式如下:
while(表达式) {
若干语句;
}
代码示例:
- public class FlowControlDemo5 {
- /**
- * 利用while循环语句计算1+2+···+100的总和
- * @黑马ZWF
- */
- public static void main(String args[]) {
- int sum = 0;
- int x = 0;
- while(x <=100){
- sum +=x;
- x++;
- }
- System.out.println("1+2+···+100的总和是:" + sum ); //输出结果是:1+2+···+100的总和是:5050
- }
- }
3.do-while语句
do-while语句定义格式如下:
do{
若干语句;
}
while(表达式) ;
代码示例:
- public class FlowControlDemo6 {
- /**
- * 利用do-while循环语句计算1+2+···+100的总和
- * @黑马ZWF
- */
- public static void main(String args[]) {
- int sum = 0;
- int x = 0;
- do {
- sum += x;
- x++;
- }
- while(x <=100);
- System.out.println("1+2+···+100的总和是:" + sum ); //输出结果是:1+2+···+100的总和是:5050
- }
- }
注意:do-while语句与while语句的区别是:do-while语句至少被执行一次!
三.break语句和continue语句
在循环语句的使用过程中,可以通过break语句和continue语句来控制流程的开关。
break语句使整个循环结束。
continue语句使当前循环结束。
代码示例
- public class FlowControlDemo7 {
- /**
- * 比较break语句和continue语句的区别
- * @黑马ZWF
- */
- public static void main(String args[]) {
- int x, y;
- for(x = 1; x <= 100; x++) {
- break;
- }
- System.out.println(x); //输出结果是:1
- for(y = 1; y <= 100; y++) {
- continue;
- }
- System.out.println(y); //输出结果是:101
- }
- }