Java流程控制
流程控制
1.顺序结构
程序从上到下逐步执行。
public class Test {
public static void main(String[] args) {
int a = 5;
int b = 2;
int c = 5;
int d = 6;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
2.选择结构
代码在执行某些程序时需要符合某些条件,就有了选择结构。
1. if 选择
//if(布尔表达式){java语句;}
public class Test {
public static void main(String[] args) {
boolean sex=false;
if(sex){
System.out.println("男");
}
}
}
/*if(布尔表达式){ // 分支1
java语句;
}else{ // 分支2
java语句;
}
分成两部分,两个分支必有一个会执行。
*/
public class Test {
public static void main(String[] args) {
boolean sex;
if(sex=false){
System.out.println("男");
}else{
System.out.println("女");
}
}
}
/*if(布尔表达式1){ // 分支1
java语句;
}else if(布尔表达式2){ // 分支2
java语句;
}else if(布尔表达式3){
java语句;
}else if(布尔表达式4){
java语句;
}else{
java语句;
}
1.判断条件从上到下依次判断满足下面的条件上面必不会满足
2.没有最后一else可能没有一个条件满足
3.当满足某个条件执行某个分支后跳出if判断
*/
public class Test {
public static void main(String[] args) {
int score = 85;
if(score<0 || score>100){
System.out.println("成绩不合法!!!");
}else if(score>90){
System.out.println("优秀");
}else if(score>80){
System.out.println("良好");
}else if(score>70){
System.out.println("一般");
}else {
System.out.println("继续努力");
}
}
}
2. switch选择
switch语句也是选择语句,也可以叫做分支语句。
/*switch(值){
case 值1:
java语句;
break;
case 值2:
java语句;
break;
case 值3:
java语句;
break;
default:
java语句;
}
1.break 与 default 语句不是必须的
2.拿“值”与“值1”“值2”“值3”比较,相等时执行该分支,JDK8后switch后可跟int 和 String
3.break:跳出判断语句,没有break后产生case穿透现象
*/
public class Test {
public static void main(String[] args) {
int grade = (int)(score / 10); // 95.5/10结果9.55,强转为int结果是9
String str = "不及格";
switch(grade){
case 10: case 9:
str = "优";
break;
case 8:
str = "良";
break;
case 7:
str = "中";
break;
case 6:
str = "及格";
}
System.out.println("该学生的成绩等级为:" + str);
}
}
3.循环结构
某一段代码被多次执行时,可使用循环结构
1. fro 循环
/*for(初始化表达式;条件表达式;更新表达式){
循环体;
}
1、先执行初始化表达式,并且只执行1次。
2、然后判断条件表达式
3、如果为true,则执行循环体。
4、循环体结束之后,执行更新表达式。
5、继续判断条件,如果条件还是true,继续循环。
6、直到条件为false,循环结束。
*/
public class Test {
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
System.out.println(i);
}
}
}
2. while循环
/*while(布尔表达式){
循环体;
}
1.判断布尔表达式,如果为true,则执行循环体。
2.直到条件为false,循环结束。
*/
public class Test {
public static void main(String[] args) {
int i = 0;
while(i < 10){
i++;
System.out.println("i = " + i); // 1 2 3 .. 9 10
}
}
}
3. do...while循环
/*do{
循环体;
}while(布尔表达式);
1.执行1次循环体
2.判断布尔表达式,如果为true,则执行循环体。
3.直到条件为false,循环结束。
*/
public class Test {
public static void main(String[] args) {
int i = 0;
do{
System.out.println(i++); // 0 1 2 3 ... 8 9
}while(i < 10);
}
}
}
4. break关键字
- switch语句中跳出switch语句
- 循环中终止离它最近的循环
for(int i = 0; i < 10; i++){
if(i == 5){
break;
}//当i=5时终止for循环
code1;
code2;
code3;
code4;
....
}
5. continue关键字
终止当前“本次”循环,直接跳入下一次循环继续执行。
for(int i = 0; i < 10; i++){
if(i == 5){
continue;
}//当i=5时跳过此次循环,执行i=6之后的循环
code1;
code2;
code3;
code4;
....
}
4. 总结
Java语言的基础,熟练掌握选择结构与循环结构的灵活使用。