一、分支语句 简单if分支

1.语法结构

if(表达式){
          ...代码块...
 }

1.2理解

表达式的结果必须是boolean类型

true -- 执行代码块

false - 跳出if分支,执行if以外的代码

1.3做实验

if(false){

System.out.println("...代码块...");

}

System.out.println("if以外的代码");

1.4案列

import java.util.Scanner;
public class Test01{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入成绩:");double score = scan.nextDouble();if(score > 98){System.out.println("奖励萌萌法拉利玩具赛车一辆");}/**          总结:if(){} 判断要么进入要么不进去      输入大于98  打印奖励萌萌法拉利玩具赛车一辆输入小于98  则不打印
*/}
}

二、复杂if分支

2.1案例

案例一: 人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)

import java.util.Scanner;
public class Test02{public static void main(String[] args){//创建Scanner对象Scanner scan = new Scanner(System.in);//输入体重和身高System.out.println("请输入体重(Kg):");double weight = scan.nextDouble();System.out.println("请输入身高(M):");double height = scan.nextDouble();//计算健康值double health = weight/(height*height);//判断if(health > 20 && health < 25){System.out.println("小护士说:\"健康,请保持身材哟~~~\"");}}
}

案例二:爱田奈奈Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。

import java.util.Scanner;
public class Test02{public static void main(String[] args){//创建Scanner类的对象Scanner scan = new Scanner(System.in);//输入成绩System.out.println("请输入Java成绩:");double javaScore = scan.nextDouble();System.out.println("请输入音乐成绩:");double musicScore = scan.nextDouble();//判断if((javaScore>98 && musicScore>80) || (javaScore==100 && musicScore>70)){System.out.println("奖励爱田奈奈烤肠5根");}   总结:1.if可以判断区间2.if可以判断复杂的条件*/}
}

三、if ...else...分支

3.1语法结构

if(表达式){

...代码块...

}else{

...else代码块...

}

3.2理解

表达式的结果必须是boolean类型

true -- 执行代码块

false - 执行else代码块

3.3做实验

if(false){

System.out.println("...代码块...");

}else{

System.out.println("...else代码块...");

}

System.out.println("if分支以外的代码块");

3.4案列

案例:如果上原亚衣Java考试成绩大于98分,就奖励他一个劳斯莱斯,否则就罚他进行编码

import java.util.Scanner;
public class Test03{public static void main(String[] args){//创建Scanner类的对象Scanner scan = new Scanner(System.in);//输入成绩System.out.println("请输入成绩:");double score = scan.nextDouble();//判断if(score > 98){System.out.println("奖励上原亚衣劳斯莱斯玩具赛车一辆");}else{//其余情况(成绩小于等于98)System.out.println("通宵补课编写代码");}总结:if...else...:在二选一的情况下使用    }
}

四、多重if分支

4.1语法结构

if(表达式1){

...代码块1...

}else if(表达式2){

...代码块2...

}else if(表达式n){

...代码块n...

}else{

...else代码块...

}

4.2理解

表达式的结果必须是boolean类型从上往下判断,哪个表达式先成立(true),就执行对应的代

码块,执行完毕后直接跳出整个分支语句

else{} -- 其余的情况

else{} -- 根据需求,可写可不写

4.3做实验

if(true){

System.out.println("...代码块1...");

}else if(true){

System.out.println("...代码块2...");

}else if(true){

System.out.println("...代码块n...");

}else{

System.out.println("...else代码块...");

}

System.out.println("if分支以外的代码");

4.4案列

案例一:人类的健康值在15-20的数值内为偏瘦20-25的数值内为健康25-30的数值内为偏胖(健康值算法为:体重(Kg) / 身高(米)的平方)

import java.util.Scanner;
public class Test04{public static void main(String[] args){//创建Scanner类的对象Scanner scan = new Scanner(System.in);//输入体重和身高System.out.println("请输入体重(Kg):");double weight = scan.nextDouble();System.out.println("请输入身高(M):");double height = scan.nextDouble();//计算健康值double health = weight/(height*height);//判断if(health > 15 && health <= 20){System.out.println("小护士说:\"偏瘦,多吃垃圾食品、多喝碳酸饮料、多熬夜~~~\"");}else if(health > 20 && health <= 25){System.out.println("小护士说:\"健康,请保持身材哟~~~\"");}else if(health > 25 && health <= 30){System.out.println("小护士说:\"偏胖,多运动,嘿嘿嘿~~~\"");}else{System.out.println("小护士说:\"健康值异常,请去医院进行详细检查\"");}   }
}

案例二:通过键盘录入学生成绩如果在90-100之间,则打印“A”,否则如果在80-90之间,则打印“B”,否则如果在70-80之间,则打印“C”否则如果在60-70之间,则打印“D”否则如果在0- 60之间,则打印“E”否则打印“成绩异常”

import java.util.Scanner;
public class Test04{public static void main(String[] args){//创建Scanner类的对象Scanner scan = new Scanner(System.in);//输入成绩System.out.println("请输入成绩:");double score = scan.nextDouble();//判断if(score >= 90 && score <= 100){System.out.println("A");}else if(score >= 80 && score < 90){System.out.println("B");}else if(score >= 70 && score < 80){System.out.println("C");}else if(score >= 60 && score < 70){System.out.println("D");}else if(score >= 0 && score < 60){System.out.println("E");}else{System.out.println("成绩异常");}
/**             总结:多重if:在多选一的情况下使用*/}
}

五、嵌套if分支

5.1案列

案例:学校举行运动会,百米赛跑跑入16秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。

import java.util.Scanner;
public class Test05{public static void main(String[] args){//创建Scannner类的对象Scanner scan = new Scanner(System.in);//输入比赛成绩System.out.println("请输入比赛成绩:");double score = scan.nextDouble();//判断成绩if(score >= 0 && score < 16){//输入性别System.out.println("请输入性别:");String sex = scan.next();//判断性别if(sex.equals("男")){//判断两个字符串内容是否相等System.out.println("恭喜进入到男子组决赛");}else if(sex.equals("女")){//判断两个字符串内容是否相等System.out.println("恭喜进入到女子组决赛");}else{System.out.println("性别输入有误...");}}else if(score >= 16){System.out.println("无缘总决赛,谢谢参与...");}else{System.out.println("成绩输入有误...");}
/**             总结:if(){} 判断要么进入要么不进去if...else...:在二选一的情况下使用多重if:在多选一的情况下使用if可以判断区间if可以判断复杂的条件*/}
}

六、Switch分支

6.1语法结构

switch(表达式){

case 值1:

...代码块1...

break;

case 值2:

...代码块2...

break;

case 值n:

...代码块n...

break;

default:

...default代码块...

break;

}

6.2理解

表达式的结果可以为:byte、short、int、char、枚举(JDK1.5)、字符串(JDK1.7)表达式的结果分别给值1、值2、值n比较,哪个相等就执行对应的代码块如果都不相等,就执行default代码块default代码块根据需求可写可不写break的作用是跳出整个switch分支语句

6.3做实验

switch(500){

case 10:

System.out.println("10");

break;

case 50:

System.out.println("50");

break;

case 100:

System.out.println("100");

break;

default:

System.out.println("default代码块");

break;

}

System.out.println("switch分支以外的代码");

6.4案列

案例:铃原爱蜜莉参加计算机编程大赛如果获得第一名,将参加1个月马尔代夫旅游如果获得第二名,将奖励苹果Pro笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个否则,晚上给铃原爱蜜莉通宵补课

import java.util.Scanner;
public class Test06{public static void main(String[] args){//创建Scanner类的对象Scanner scan = new Scanner(System.in);//输入比赛成绩String str = scan.next();//判断switch(str){case "第一名":System.out.println("奖励1个月马尔代夫旅游");break;case "第二名":System.out.println("奖励苹果Pro笔记本电脑一部");break;case "第三名":System.out.println("奖励移动硬盘一个");break;default:System.out.println("铃原爱蜜莉通宵补课");break;}}
}

七、Switch分支深入

7.1面试题

面试题1:case的值可以相同吗?

case的值不可以相同

面试题2:default可以省略吗?

可以省略

面试题3:break可以省略吗?

可以省略

面试题4:default的位置一定要在最后吗?

不一定,但是一般是放在最后(为了可读性)

面试题5:表达式值的类型可以是什么?

回答方式1:byte、short、int、char、枚举(JDK1.5)、字符串(JDK1.7)

回答方式2:表达式的类型只能是int,switch底层是把byte、short、char、枚举(JDK1.5)、字符串(JDK1.7)转换为int值

byte 自动转型 int

short自动转型 int

char获取的是字符的ASCII码

枚举 获取对象中的编号(后续讲枚举的时候再了解)

字符串 获取字符串的hash码(数字,后续讲枚举的时候再了解)

面试题6: case值的类型可以不一样吗?

case值的类型如果是兼容的,就可以不一样

    switch(97){case 10:System.out.println("10");break;case 50:System.out.println("50");break;case 'a':System.out.println("a");break;case 100:System.out.println("100");break;default:System.out.println("default代码块");break;}

7.2案列

输入年和月,输出当月的天数

分析:

1、3、5、7、8、10、12月:31天
        4、6、9、11月:30天
        2月:平年28天、闰年29天
        判断闰年的标准:年份被4整除并且不能100整除 或者 年份被400整数

import java.util.Scanner;
public class Test07{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入年:");int year = scan.nextInt();System.out.println("请输入月:");int month = scan.nextInt();int day = 0;//记录当月的天数switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:if(year%4==0 && year%100!=0 || year%400==0){day = 29;}else{day = 28;}break;}System.out.println(year + "年" + month + "当月的天数为" + day + "天");
/**             总结:判断单个值是否相同就使用switchif vs switch表达式的区别:if:布尔类型switch:byte、short、int、char、枚举、字符串应用场景的区别:if判断区间或复杂条件switch判断单个值       */}
}

八、for循环

应用场景:重复性的做某个功能
好处:减少代码的冗余

8.1语法结构

for(表达式1;表达式2;表达式3){

...代码块/循环体...

}

8.2理解

表达式1 - 初始化变量
表达式2 - 判断条件(结果必须是boolean,true就执行代码块,false就跳出循环)
表达式3 - 更新变量

8.3执行步骤

1.初始化变量
2.判断条件(结果必须是boolean)
   2.1 true -- 执行代码块,更新变量,再重复执行第2步
   2.2 fasle - 跳出循环

8.4做实验

使用for循环输出5遍 -- "用良心做教育,做真实的自己"

for(int i = 0;i<5;i++){System.out.println("用良心做教育,做真实的自己");}

8.5for变形记

int i = 0;

for(;i<5;){

System.out.println("用良心做教育,做真实的自己");

//i++和++i作用在更新变量时,没有区别
         //i++;
          ++i;
}      
        System.out.println(i);//5

8.6需求

需求1:输出1~10的数字

for(int i = 1;i<=10;i++){System.out.println(i);}

需求2:输出1~10的奇数数字

for(int i = 1;i<=10;i+=2){System.out.println(i);}

需求3:输出10~1的数字

for(int i = 10;i>0;i--){System.out.println(i);}

需求4:输出10~1的偶数数字

for(int i = 10;i>0;i-=2){System.out.println(i);}

注: 死循环:

             for(;;){System.out.println("用良心做教育,做真实的自己");}

注://伪死循环(int类型取值范围是有边际)

for(int i = 1;i>0;i++){System.out.println("用良心做教育,做真实的自己");}

8.6注意

1.for循环中声明的变量作用域在整个循环中(循环外没有用)
2.i++和++i作用在更新变量时,没有区别
3.初始化变量不一定从0开始
4.更新变量不一定每次都++
5.尽量不要使用死循环

8.7案列

案例1:循环录入5次int类型的数字,输出总和

Scanner scan = new Scanner(System.in);int sum = 0;//总和for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "个数字:");int num = scan.nextInt();sum += num;//累加总和}System.out.println("总和为:" + sum);

案例2:循环录入麻生希同学的5门课成绩,计算平均分

Scanner scan = new Scanner(System.in);double sum = 0;//总分for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "门成绩:");double num = scan.nextDouble();sum += num;//累加总和}//计算平均分double avg = sum/5;System.out.println("平均分为:" + avg);

案例3:循环录入5次int类型的数字,输出最大值

Scanner scan = new Scanner(System.in);//假设第一个数字就是最大值System.out.println("请输入第1个数字:");int max = scan.nextInt();for(int i = 2;i<=5;i++){System.out.println("请输入第" + i + "个数字:");int num = scan.nextInt();//如果输入的数字比max大,就把输入的数字赋值给maxif(max < num){max = num;}}System.out.println("最大值为:" + max);

Java执行语句--------04相关推荐

  1. Java入门-Java执行语句

    Java入门--Java执行语句 1.顺序语句 ​ 顺序语句:方法里的代码从上往下执行 2.分支语句if 和 switch ​ 分支语句:根据某个条件执行不同的功能 2.1 if 1.简单if分支语句 ...

  2. 笔记整理1----Java语言基础(一)01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法

    01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法 第01天 java基础知识 今日内容介绍  Java概述.helloworld案例  工 ...

  3. 【转】Java finally语句到底是在return之前还是之后执行?

    网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下final ...

  4. java怎么延迟执行语句_Go语言defer(延迟执行语句)

    Go语言中关键字defer允许我们推迟到函数返回之前(或任意位置执行return语句之后)一刻才执行某个语句或函数(为什么要在返回之后才执行这些语句?因为return语句同样可以包含一些操作,而不是单 ...

  5. java结束程序是什么语句,在Java程序中,每条功能执行语句的最后都必须用结束。...

    在Java程序中,每条功能执行语句的最后都必须用结束. 答: 分号 热继电器可以实现短路保护和过载保护 答:× 皮亚杰用表示通过作用或者操控物体和事件来发现其特点从而获取知识的人 答:建构者 品行包括 ...

  6. Java的执行语句(if、for、while、do-while、break、continue、return、lable)

    一.Java的执行语句 1.分类 1.顺序语句:方法中的代码从上往下执行 2.分支语句:根据不同的条件,指定不同的功能 2.1 if分支 2.2 switch分支 3.循环语句:条件成立,就重复性的执 ...

  7. java while语句打印三角形_【连载】(循环执行语句while和if)乐创DIY C语言讲义——3.8节(3)...

    文 | Edward 2 循环执行语句 计算机有一个强大的能力,快速地重复执行某一计算,这种重复计算多次的方法,是通过软件中的循环执行语句去实现的.C语言中实现循环语句结构的方式有三种,第一种为&qu ...

  8. Java编程基础04——流程控制语句

    1.顺序结构语句(了解) A:什么是流程控制语句 流程控制语句:可以控制程序的执行流程. B:流程控制语句的分类 顺序结构 选择结构 循环结构 C:执行流程: 从上往下,依次执行. D:案例演示 输出 ...

  9. java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?

    写好一个java程序之后,我们的最终目的就是可以正确的运行程序,如果程序运行正确了,那么代码也就没有什么问题了,可是java如何运行步骤cmd?接下来,我们就来给大家讲解一下这方面的内容. 1.首先用 ...

  10. java下列语句正确的是_下列Java语句中,不正确的一项是( )。

    [多选题]装卸搬运机械具有( )功能 [判断题]char[] str="abcdefgh"; ( ) [单选题]7.关于内部类,下列说法不正确的是( ). [单选题]下列关于Jav ...

最新文章

  1. python中停车收费问题_使用CKRule实现停车场收费计算
  2. display:inline、block、inline-block
  3. oracle 德部分操作笔记(自己用的)
  4. 几个简单的排序方式1
  5. 登录文件传输服务器,生信小技巧之:在本地与服务器间快速传输文件,无密码登录远端服务器...
  6. fot mac matlab_Matlab for Mac
  7. php获取input file路径,input上传文件获取路径为C:\fakepath\文件名
  8. 从BIO到NIO的网络通信
  9. SpringCloud与微服务Ⅴ --- Eureka服务注册与发现
  10. 你知道吗?希腊神话人物表
  11. InvalidateRect和Invalidate的区别
  12. 【IDEA】idea插件的安装和删除
  13. 【Android】TypedArray——三个方法获取dimen返回值的类型
  14. FBI查封泄露数据售卖网站WeLeakInfo.com
  15. linux的系统监视器图片_替代Windows还有多远?国产统一操作系统UOS上手体验
  16. 【JavaScript】VUE前端实现微信版录制音频wav格式转化成mp3格式和Base64
  17. 链路追踪-Google-Dapper论文翻译总结
  18. 在一个目录下面收索文件
  19. Zencart的首页php 301,zencart网店系统301重定向
  20. php 实现paypal订阅

热门文章

  1. iOS开发-Masonry约束宽高比
  2. 谷歌浏览器提示Flash版本过低,要求更新或运行一次
  3. UML类图中各种箭头和线条的含义和用法
  4. 计算机用户密码最长使用期限,电脑Win10系统强制用户定期更新密码的方法
  5. matlab 多变量求偏导,新手求解两个自变量的函数,求其中一个变量的偏导
  6. python 有道翻译,python 简单的调用有道翻译
  7. 微信小程序怎么设置服务器上,如何为微信小程序设置服务器地址?-微信小程序服务器诗...
  8. 【Python基础教程】while循环用法详解
  9. mac sz rz file tras
  10. git官网下载慢的问题解决方法