一、Java的执行语句

1.分类

1.顺序语句:方法中的代码从上往下执行
2.分支语句:根据不同的条件,指定不同的功能
2.1 if分支
2.2 switch分支
3.循环语句:条件成立,就重复性的执行某个功能
3.1 for循环
3.2 while循环
3.3 do-while循环
4.特殊的流程控制语句
4.1 break
4.2 continue
4.3 return
4.4 lable

二、简单的if分支

1.语法结构

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

2.理解

表达式的结果必须是boolean类型
true - 执行代码块
false - 跳出if分支

3.做实验

​ if(false){
​ System.out.println("…代码块…");
​ }
​ System.out.println(“if分支以外的代码”);

4.案例

如果麻生希的Java考试成绩大于98分,
麻生希就能获得一辆法拉利作为奖励

     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分支

案例一

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

//1.输入体重和身高Scanner scan = new Scanner(System.in);System.out.println("请输入体重(Kg):");double wigth = scan.nextDouble();System.out.println("请输入身高(M):");double heigth = scan.nextDouble();//2.计算健康值double health =  wigth/(heigth*heigth);//3.判断if(health>20 && health<25){System.out.println("小护士说:\"健康,继续保持\"");}

案例二

小西满里惠Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;
或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。

         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("奖励小西满里惠 仙女棒一根");}

总结

1.if可以判断区间
2.if可以判断复杂的条件
3.变量的驼峰命名法:除了第一个单词,其余的单词首字母大写

四、if…else…

1.语法结构

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

2.理解

表达式的结果必须是boolean
true - 执行代码块
false- 执行else代码块

3.做实验

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

4.案例

如果水菜丽Java考试成绩大于98分,
老师就奖励他一个劳斯莱斯,否则老师就罚他进行编码

         Scanner scan = new Scanner(System.in);System.out.println("请输入Java成绩:");double score = scan.nextDouble();if(score > 98){System.out.println("奖励水菜丽劳斯莱斯玩具赛车一辆");}else{System.out.println("何老师给水菜丽通宵补课~~~");}

五、if…else if…

1.语法结构

         if(表达式1){...代码块1...}else if(表达式2){...代码块2...}else if(表达式n){...代码块n...}else{...else代码块...}

2.理解

表达式的结果必须是boolean
从上往下依次判断表达式,哪个表达式先为true,就执行对应的代码块
所有的表达式都不为true,就执行else代码块
注意:else{}根据需求可写可不写

3.做实验

         if(false){System.out.println("...代码块1...");}else if(false){System.out.println("...代码块2...");}else if(false){System.out.println("...代码块n...");}else{System.out.println("...else代码块...");}System.out.println("if分支以外的代码");

4.案例一

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

         Scanner scan = new Scanner(System.in);System.out.println("请输入体重(Kg):");double wigth = scan.nextDouble();System.out.println("请输入身高(M):");double heigth = scan.nextDouble();//计算健康值double health =  wigth/(heigth*heigth);//判断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("小护士说:\"健康值异常,请到医院详细检查\"");}

5.案例二

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

         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("成绩异常");}

6.总结

多选一的需求时考虑使用if…else if…

六、嵌套if分支

1.案例

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

     public static void main(String[] args){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("男")){//判断sex和"男"这两个字符串内容是否相等System.out.println("恭喜进入到男子组决赛");}else if(sex.equals("女")){//判断sex和"女"这两个字符串内容是否相等System.out.println("恭喜进入到女子组决赛");}else{System.out.println("性别异常");}}else if(score >= 16){System.out.println("重在参与");}else{System.out.println("成绩异常");}

2.总结if

语法的区别:
if(){}:最简单的if
if…else…:二选一
if…else if…:多选一
if可以无限层嵌套
应用场景:
可以判断单个值
可以判断区间
可以判断复杂的条件

七、switch分支

1.语法结构

     switch(表达式){case 值1:...代码块1...break;case 值2:...代码块2...break;case 值n:...代码块n...break;default:...default代码块...break;}

2.理解

表达式的结果可以是:byte、short、int、枚举(JDK1.5)、String(JDK1.7)
分别和值1、值2、值n比较,哪个相等,就执行对应的代码块
break:跳出switch分支语句
default代码块类似于else{},是其余其他情况的意思,根据需求可写可不写

3.做实验

         switch(5000){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分支以外的代码");

4.案例

明日花绮罗参加计算机编程大赛
如果获得第一名,将参加千锋组织的1个月马尔代夫旅游
如果获得第二名,将奖励苹果Pro笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,何老师晚上给明日花绮罗通宵补课

     public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入比赛名次:");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分支

1.面试题

case的值可以相同吗?不可以
default可以省略吗?可以
break可以省略吗?可以
default的位置一定要在最后吗?不一定
case后面值的类型可以不一样吗?可以不一样,但是必须兼容
表达式值的类型可以是什么?byte、short、int、枚举(JDK1.5)、String(JDK1.7)

      switch表达式的类型为什么只有byte、short、int、枚举(JDK1.5)、String(JDK1.7)?switch表达式的结果在底层只接受intbyte自动转型成intshort自动转型成int枚举的对象系统会给他赋int值String是获取的ASCII码
     public static void main(String[] args){switch(97){case 10:System.out.println("10");break;case 50:System.out.println("50");break;case 'a':System.out.println("97");break;default:System.out.println("...default代码块...");break;}System.out.println("switch分支以外的代码");}
}

2.需求

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

闰年:被4整除且不能被100整除 或者 被400整除的年份

     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 + "天");

3.if vs switch

语法结构的区别:
if的表达式:boolean
switch的表达式:byte、short、int、枚举(JDK1.5)、String(JDK1.7)

应用场景的区别:

​ if:判断单个值、区间、复杂的条件

​ switch:判断单个值

九、for循环

1.含义

条件成立就重复执行

2.好处

减少了代码的冗余(减少重复性的代码)

3.语法结构

for(表达式1;表达式2;表达式3){...代码块...}

4.理解

表达式1:初始化变量
表达式2:判断条件
表达式3:更新变量

5.执行流程

1.初始化变量
2.判断条件:判断条件的结果必须是boolean
2.1 true - 执行代码块,并更新变量,重复第2个步骤
2.2 false- 跳出整个循环语句

6.做实验

输出去5遍"用良心做教育"

         for(int i = 1;i<=5;i++){System.out.println("用良心做教育");}

7.for循环变形记

循环中声明变量的作用域只能在循环内
再循环中i++和++i没有区别

         int i = 1;for(;i<=5;){System.out.println("用良心做教育");//i++;++i;}System.out.println(i);

理解案例1

输出1-9的数字

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

理解案例2

输出0-9的数字

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

理解案例3

输出1~9数字中的奇数

//解决方案1for(int i = 1;i<10;i+=2){System.out.println(i);}//解决方案2for(int i = 1;i<10;i++){if(i%2!=0){System.out.println(i);}}

理解案例4

输出9~1的数字

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

8.总结 - 理解案例

i可以从1开始也可以从0开始,更新变量可以递增也可以递减

9.死循环(应该避免的)

         for(;;){System.out.println("用良心做教育");}

10.伪死循环(应该避免的)

         for(int i = 0;i>=0;i++){System.out.println("用良心做教育");}

案例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 score = scan.nextDouble();sum += score;//累加}System.out.println("平均分为:" + (sum/5));

案例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();if(max < num){max = num;}}System.out.println("最大值为:" + max);

案例4

打印图形

​ ****
​ ****
​ ****

         for(int i = 0;i<3;i++){for(int j = 0;j<4;j++){System.out.print("*");}System.out.println();}

Java的执行语句(if、for、while、do-while、break、continue、return、lable)相关推荐

  1. 重学JavaSE 第4章 : 顺序结构、分支语句、循环结构、break, continue, return区别

    文章目录 一. 程序流程控概述 二. 顺序结构 三.分支语句 2.1.分支语句1:if-else结构 2.1.1.输入语句 2.2. 分支语句2:switch-case结构 四.循环结构 4.1.fo ...

  2. java 理解break,continue,return

    这是第一次写博客,今天在工作中遇到有关break,return,continue.记录一下我的理解. break: break常用于for循环中判断语句中和switch语句,break只能跳出一层fo ...

  3. java 反射执行语句_JAVA反射机制

    JAVA反射机制定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...

  4. Java中 break continue return 的区别

    1.break break :跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环: for (int i = 0; i < 10; i++) { i ...

  5. Java中 break continue return 的用法以及区别

    1.return (1)return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2)return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致 ...

  6. 【JavaSE04】Java中循环语句for,while,do···while

    Java的循环语句 引入: 生活中有循环,程序的世界也有循环. 思考:生活中有哪些循环的事情? 总结:什么是循环? 重复做类似的事情,而且有终止条件,如果没有终止条件会是怎样? 类似这样的情况,Jav ...

  7. -1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义

    Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class ...

  8. 6.4_[Java 数组]-详解 break/continue 跳转语句

    ################################################## 目录 详解 break/continue 跳转语句 b/c 跳转语句对二重循环的影响 break ...

  9. 04_星仔带你学Java之流程语句(顺序结构、选择结构、循环结构、控制循环结构语句)

    大家好,我是星仔.本博客收录于华星详谈-学习中心.本学习中心收集了Java整个技术体系的所有技术要点.每篇博客后面或者知识点结尾都附带有面试题,提供给大家巩固本章内容.         为各位同胞们能 ...

最新文章

  1. Git单人本地仓库操作
  2. 一个基于特征向量的近似网页去重算法——term用SVM人工提取训练,基于term的特征向量,倒排索引查询相似文档,同时利用cos计算相似度...
  3. C#中System.ServiceProgress报错
  4. idea中git提交代码更改作者名字(亲测)
  5. python import re_Python标准库笔记(2) — re模块
  6. Android 中opengl es灯光效果实例
  7. Microsoft Enterprise Library 5.0 系列(四) Logging Application Block
  8. Python 中的 10 个常见安全漏洞,以及如何避免(上)
  9. mysql主键外键_MySQL数据库的主键和外键详解3
  10. python Only timezones from the pytz library are supported
  11. chosen插件使用
  12. vue项目如何部署?history与hash模式部署时的区别
  13. springboot+vue前后端分离项目(后台管理系统)
  14. CTF Series Forensics
  15. PNN模型理论和实践
  16. 基于paddlepaddle构建resnet神经网络的蝴蝶分类
  17. Tableau绘图一热图、日历图、人口金字塔、标靶图、凹凸图、帕累托图
  18. Python爬虫——Scrapy框架(附有实战)
  19. 小米5s服务器代码_通过5S实现更易管理,更高效的代码
  20. 目前与征信相关的大数据来源,主要可以划分为哪四大类?

热门文章

  1. 用百度输入法的用户体验
  2. 四角号码查询器手机版
  3. 全新第九代智能英特尔(R)酷睿(TM) i9-9900K处理器发布
  4. SQL Server中字符串处理函数
  5. ElasticSearch基础2之倒排索引原理和中文分词器es-ik
  6. Linux fdisk分区
  7. android menu菜单样式,Android Menu 的样式定制
  8. 讽刺Google搜索API
  9. 企业环境分析的一些框架
  10. UI自动化测试-数据驱动(ddt)