一.if分支

1.复杂if分支

①案例
案例一: 人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)分析:1.输入体重和身高2.计算出健康值3.判断    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分,老师也可以奖励他。分析:   1.输入java和音乐两门成绩2.判断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("奖励小西满里惠吃小龙虾...");}
②总结

总结:if可以判断一个区间 或者 复杂的逻辑判断

2.if…else…

①语法

语法:
if(表达式){
…代码块…
}else{
…else代码块…
}

②理解

理解:表达式的结果只能是boolean类型
true - 执行代码块 false- 执行else代码块

③实验
实验:if(false){System.out.println("...代码块...");}else{System.out.println("...else代码块...");}System.out.println("if分支以外的代码");
④案例
案例:如果椎名空Java考试成绩大于98分,老师就奖励他一个劳斯莱斯,否则老师就罚他进行编码  Scanner scan = new Scanner(System.in);System.out.println("请输入Java考试成绩:");double javaScore = scan.nextDouble();if(javaScore > 98){System.out.println("奖励椎名空劳斯莱斯玩具赛车一辆");}else{System.out.println("何老师给椎名空通宵补课...");}
⑤总结

总结:if…else…就是一个二选一的流程

3.多重if分支

①语法

语法:
if(表达式1){
…代码块1…
}else if(表达式2){
…代码块2…
}else if(表达式n){
…代码块n…
}else{
…else代码块…
}

②理解

理解:
从上往下依次判断表达式,哪个表达式先为true,就执行对应的代码块
如果所有的表达式都为false,就执行else代码块
注意:else{}根据需求可写可不写,语法层面是不会出错的

③实验
实验:if(false){System.out.println("...代码块1...");}else if(false){System.out.println("...代码块2...");}else if(false){System.out.println("...代码块3...");}else if(false){System.out.println("...代码块4...");}else{System.out.println("...else代码块...");}
④案例
案例一:人类的健康值在15-20的数值内为偏瘦20-25的数值内为健康25-30的数值内为偏胖(健康值算法为:体重(Kg) / 身高(米)的平方)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”否则打印“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("数据异常");}
⑤总结

总结:多重if 多选一的流程

4.嵌套if分支

①案例
案例:千锋举行运动会,百米赛跑跑入16秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。Scanner scan = new Scanner(System.in);System.out.println("请输入比赛成绩:");
double s = scan.nextDouble();if(s >= 0 && s < 16){System.out.println("请输入性别:1-男 2-女");int sex = scan.nextInt();if(sex == 1){System.out.println("恭喜,进入到男子组决赛");}else if(sex == 2){System.out.println("恭喜,进入到女子组决赛");}else{System.out.println("性别错误....");}
}else if(s >= 16){System.out.println("重在参与...");
}else{System.out.println("成绩数据错误....");
}

二.switch分支

①语法

语法结构:
switch(表达式){
case 值1:
…代码块1…
break;
case 值2:
…代码块2…
break;
case 值n:
…代码块n…
break;
default:
…default代码块…
break;
}

②理解

理解:
表达式计算出来最终的结果值,分别于值1、值2、值n比较,谁相同,就执行对应的代码块
如果都不相同,就执行default代码块,default代码块可写可不写,类似于else{}
break:跳出整个分支语句

③实验
实验:switch(1000){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分支以外的代码");
④案例
案例:水菜丽参加计算机编程大赛如果获得第一名,将参加千锋组织的1个月马尔代夫旅游如果获得第二名,将奖励苹果Pro笔记本电脑一部如果获得第三名,将奖励移动硬盘一个否则,何老师晚上给水菜丽通宵补课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分支

①深入switc分支

1.switch表达式的值可以是什么类型?
byte、short、int、char、枚举(JDK1.5)、String(JDK1.7)
2.case后面接的值是否能一样?
不能
3.case后面接的值的类型是否能不一样?
能,但是必须兼容
4.break可以不要吗?
可以
5.default代码块可以写在中间位置吗?
可以
6.default代码块可以省略吗?
可以

②案例
案例:输入年和月,输出当月的天数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://能被400整除或者能被4整除但不能被100整除的年份即为闰年if(year%400==0 || (year%4==0&&year%100!=0)){day = 29;}else{day = 28;}break;}System.out.println(year + "年" + month + "月的天数为:" + day + "天");

四.for循环

①语法

语法:
for(表达式1;表达式2;表达式3){
…代码块…
}

②理解

理解:
表达式1:初始化变量
第一次运行for循环时才初始化变量
表达式2:判断条件
判断条件结果必须是boolean类型
true - 执行代码块
false- 跳出循环语句
表达式3:更新变量

③运行步骤

运行步骤:
1.初始化变量
2.判断条件
2.1 true - 执行代码块,再更新变量,重复第2个步骤
2.2 false- 跳出循环语句

④实验
实验:for(int i = 0;i<5;i++){System.out.println("小红真可爱..." + i);}
⑤死循环
死循环:应该避免的错误for(;;){System.out.println("小红真可爱...");}System.out.println("死循环以外");
⑥for循环变形
for循环变形1:int i = 0;
for(;i<5;i++){System.out.println("小红真可爱..." + i);
}
System.out.println(i);for循环变形2:for(int i = 0;i<5;){System.out.println("小红真可爱..." + i);i++;}for循环变形3:for(int i = 5;i>0;i--){System.out.println("小红真可爱..." + i);}   for(int i = 1;i<10;i+=2){System.out.println("小红真可爱..." + i);
}
⑦注意

注意:
1.for循环中声明的变量只能在for循环中使用
2.更新变量 i++ 和 ++i没有区别
3.更新变量不局限于++

⑧案例
案例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);

五.嵌套for循环

①案例
案例1:打印三行四列的长方形************for(int i = 0;i<3;i++){//控制行数for(int j = 0;j<4;j++){//控制列数System.out.print("*");}System.out.println();//换行}案例2:打印三角形***************for(int i = 0;i<5;i++){//控制行数for(int j = 0;j<= i;j++){//控制列数System.out.print("*");}System.out.println();//换行}

JAVA零基础入门第一阶段(4)相关推荐

  1. JAVA零基础入门第一阶段(3)

    一.运算符 1.算数运算符:+.-.*./.%.++.– 1.算数运算符 int num1 = 10;int num2 = 5;int result = num1 + num2;System.out. ...

  2. JAVA零基础入门第一阶段(7)

    一.数组的说明 1.数组含义 存储多个数据的集合 2.相关概念 元素:数组里的数据 下标/索引:每个数据对应的编号,从0开始 3.数组的声明 数据类型[] 数组名; 二.数组的初始化 1.静态初始化 ...

  3. 最适合Java初学者学习的Java零基础入门教程

    各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java. 因此,也是吸引了不少年轻人投入到Java的学习之中. 所以,今天 ...

  4. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  5. 一篇文章让你从JAVA零基础入门`OOP`编程12.19

    一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后,整理的文章,文中对知识点的解释仅为个人理解. 配套PPT,站点源码,等学习资料 一.预科 1.1 JAVA 介 ...

  6. 一篇文章让你从JAVA零基础入门`OOP`编程12.20

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.png)] 一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后, ...

  7. 一期完结《一篇文章让你从JAVA零基础入门`OOP`编程》12.21

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.jpg)] 一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后, ...

  8. java零基础入门的四大步骤

    对于许多想要转换到Java开发的初学者来说,如何学习Java是一个问题.在很多人眼里,程序员是高薪的代名词,所以他们吸引了很多想要转到Java开发的初学者.但是对于很多初学者来说,他们不知道从哪里开始 ...

  9. 【JAVA零基础入门系列】Day14 Java对象的克隆

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

最新文章

  1. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(二)
  2. MyBatis 源码分析 - 缓存原理
  3. 10 个优质的 Laravel 扩展推荐
  4. mes系统服务器要求,mes系统 服务器配置
  5. MySQL令人头疼的Aborted告警案例分析
  6. java安全编码指南之:Thread API调用规则
  7. 【转】事务和锁机制是什么关系? 开启事务就自动加锁了吗?
  8. java 字符串截取_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...
  9. C++ —— string函数
  10. HardwareRenderer EGL error: EGL_BAD_SURFACE
  11. 熊猫入金讲为什么seo没效果
  12. 2012北京地区Java程序员的平均工资调查数据分析
  13. 考研复试数据库原理课后习题(一)——绪论
  14. 蓝牙sbc怎么解决_【科普】蓝牙音频常用的编解码格式
  15. html css 写百度页面,Html+CSS练习(百度注册页面)--div布局实现
  16. 中医大2020年7月网考计算机应用基础,2020年7月网络教育统考《计算机应用基础》操作系统应用模拟题试卷2...
  17. 二分查找理论(三种问题类型、两种算法形式)
  18. 自动化爬取淘宝数据--(保存到文本中)
  19. Negroni和Gorilla/mux 解析 Golang
  20. NO.2-24 [网鼎杯 2020 朱雀组]Nmap

热门文章

  1. 学习PCL心得体会——结构点云(Organized PointClouds)
  2. 2012年国产空间信息软件测评结果
  3. java两个List的交集,并集
  4. 解决往数据库插入数据时报错的问题
  5. 考研英语易混词整理【闪过】
  6. 如何一键抠图换背景,这三个工具告诉你
  7. 一些常用的Bootstrap模板资源站
  8. 新房交付验收攻略 ~ 2022
  9. [第3集] 牛顿-莱布尼茨公式(微积分基本定理)
  10. Android和Unity互调