java流程控制

本章内容

程序结构

分支结构:

单if分支

if-else双重分支

else if多重分支

switch多重分支

3. 具体内容

3.1   程序结构

所谓的程序结构指的就是代码的执行的过程。按照怎样的要求进行执行。

程序——模拟现实的。

顺序结构:

典型一行执行完毕之后执行下一行,每一行都必须执行。

所有语言都有,默认都是顺序结构。

分支结构:

处理选择。

循环结构:

处理循环一直操作一模一样的东西的代码。抄写单词自己输出n遍,如果引入循环结果可以只写一遍,但是执行n遍。

3.2 分支结构

如果(气温<5){

// 不去上课

}else{

// 去上课

}

分支结构主要控制代码是否执行。

案例:输入你的java成绩,如果在90以上,输出 优秀! 在 70--90之间输出,良好! 60-70 之间输出 一般!60以下输出 不及格!

3.2.1 if分支

单if分支(5分钟)

如果碰到条件的时候,如果成立我会去执行一个代码块(多个语句的集合),如果不成立,而是结束分支结构,继续后续的代码。如果{}中的语句块只有一句话,{可以省略,但是不建议。

Java

语法:

if(条件 为真){

条件成立时执行的代码块;

}

如果条件成立,执行对应的代码块,如果不成立,if终止直接执行if后的代码。

Java

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入金额");

int money = scanner.nextInt();

// 条件为真 执行后面的代码快里面的语句

if( money > 100 ){

System.out.println("你是一个富豪");

}

System.out.println("条件执行完毕");

}

if-else双重分支(5分钟)

如果条件成立执行一个对应的代码块,如果不成立执行另外一个代码块。

Java

if(条件表达式){

成立的代码块

}else{

条件不成立执行的代码块

}

// 后续代码

Java

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入金额");

int money = scanner.nextInt();

// 条件为真 执行后面的代码快里面的语句

if( money > 100 ){

System.out.println("你是一个富豪");

}else{

// money<=100

// 代表 if里面的条件不成立 或者 跟if里面的条件互斥

System.out.println("啥也不是");

}

System.out.println("条件执行完毕");

}

else if多重分支(8)

如果条件1成立执行对应代码块,如果不成立,进行条件2判断,如果条件2成立执行对应代码块不成立继续判断条件3依次类推,如果都不成立,执行else,如果没有else ,if分支结束执行后续代码。

Java

if(条件1){

条件成立的代码块

}else if(条件2——隐含条件是1不成立){

条件2成立的代码块

}else if(条件3-隐含2不成立){

条件3成立的代码块

}.....

else{

}

// if 只能有一个 else 只能有一个 else if 可以有多个

注意:每一个条件都有一个隐式条件,所以不能乱序。(不是绝对不能,如果乱序可以通过条件的显示声明给规避了)

Java

public static void main(String[] args) {

int score=99;

/**

* 声明一个变量接收小明额成绩:如果成绩及格可以休息一天,如果不及格就罚跑圈。

* 100休息一天

* >90 休息半天

* >80 睡个懒觉

* >=60 正常学习

* 不及格:跑圈

*/

if(score==100){

System.out.println("休息一天");

}else if(score>=90){

System.out.println("休息半天");

}else if(score>=80){

System.out.println("睡个懒觉");

}else if(score>=60){

System.out.println("正常学习");

}else{

System.out.println("跑圈!!!!!!!!");

}

}

3.2.2 switch多重分支

switch也是做多重分支,但是只能做等值判断。

在jdk5之前 只能是基本数据类型的等值判断 但是 jdk5之后 可以用于字符串的等值判断

如果处理等值判断,switch语法上比else if更简洁,而且效率更快。

Java

/*

* 返回的是一个常量值,这个不是一个truefalse而是具体的值,这个值可以是

数字(整数),字符、可以是字符串,但是不能是boolean也不能是其他的引用数据类型

*

* 首选表达式结果和值1判断,如果成立,执行后续的语句块,

* 直到碰到break,如果没有break,后续所有代码都将执行,直到switch结束。

* 如果不成立,会判断case 2的值,成立,执行语句块2,直到碰到break....

* 。。。。。。

* 如果都不成立,执行default。

* */

switch(表达式){

case 值1:语句块1;[break;] 相当于:if(表达式==值1){语句块}

case 值2:语句块2;[break;]相当于:else if(表达式==值2){语句块}

case 值3:语句块3;[break;]相当于:else if(表达式==值3){语句块}

case 值4:语句块4;[break;]相当于:else if(表达式==值4){语句块}

default:默认语句块; 相当于:else{}

}

Java

int score=90;

switch (score/10){

case 10:

System.out.println("休息一天");break;

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:

System.out.println("跑圈!!!");break;

}

3.2.3 三目运算符:

Java

条件? 成立 : 不成立

public static void main(String[] args) {

int score = 100;

// if(score > 100){

// score +=100; //==> score = score+100;

// }else{

// // score - 50

// score-=50;// =>score = score-50;

// }

// 条件?成立:不成立

// 条件? 成立 : 不成立 三目运算符 三元表达式 ?表达式 :表达式

score = score>100 ? score+100 : score-50; // 代码简洁

System.out.println("score的值:"+score);

}

4.总结

分支结构:

单分支

if(条件表达式){

// 条件成立的时候 执行的一段代码

}

双分支

if(条件表达式){

//

}else{

}

多重分支

一个if 一个else 多个else if

if(条件1){

}else if(条件2){

}else if(条件3){

}else{}// else 可以生省略不写

特殊的多重分支、

switch (变量){

case 值:

//代码

break;

case ........

default:

}

三目运算符

条件表达式?成立执行内容:不成立的时候执行的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值