1、顺序结构

2、分支结构

(1)if语句

package com.laogao.practice;public class ControlPractice {public static void main(String[] args) {System.out.println("控制语句练习");
//        1、分支结构
//        格式1:if(条件){……}int apples=18;if (apples>20){//括号内只有一行代码时,可以去掉大括号System.out.println("苹果数量大于20");}
//        格式2:if(条件){……}else{……}int age=10;if(age>=18){System.out.println("成年");}else{System.out.println("未成年");}
//        格式3:if(条件1){……}else if(条件2){……}else if(条件3){……}else{……}int score=188;if(score<=100&&score>=90){System.out.println("优秀");}else if(score<90&&score>=80){System.out.println("良好");}else if(score<80&&score>=60){System.out.println("及格");}else if(score<60){System.out.println("不及格");}else{System.out.println("有误");}}
}

(2)switch语句,结构清晰,格式良好

package com.laogao.practice;import java.util.Scanner;public class ControlPractice {public static void main(String[] args) {System.out.println("控制语句练习");
//        2、switch分支结构Scanner scanner=new Scanner(System.in);System.out.println("你想知道什么食材的做法");String food=scanner.next();switch (food){case "兔子":System.out.println("红烧兔头");break;case "鱼":System.out.println("松鼠桂鱼");break;case "牛":System.out.println("酱牛肉");break;default:System.out.println("没有");}}
}

注意:case的值不能是变量,需要是明确的字面量,字面量值不能重复;break不要忘记,丢了会穿透;不支持double、float、long,因为底层运算中不是很精确。

switch的穿透性:也就是不写case,可以解决代码冗余的问题

使用场景:多个分支中功能代码一样时候

package com.laogao.practice;public class ControlPractice {public static void main(String[] args) {System.out.println("控制语句练习");
//      switch穿透性String classroom="1班";switch (classroom){case "1班":System.out.println("35人");break;case "2班":System.out.println("35人");break;case "3班":System.out.println("35人");break;case "4班":System.out.println("40人");break;case "5班":System.out.println("40人");break;case "6班":System.out.println("40人");break;case "7班":System.out.println("30人");break;case "8班":System.out.println("30人");break;}}
}

上述代码冗余,修改代码如下:

package com.laogao.practice;public class ControlPractice {public static void main(String[] args) {System.out.println("控制语句练习");
//      switch穿透性String classroom="1班";switch (classroom){case "1班":case "2班":case "3班":System.out.println("35人");break;case "4班":case "5班":case "6班":System.out.println("40人");break;case "7班":case "8班":System.out.println("30人");break;}}
}

总结:if功能比switch强大,if适合做区间匹配;switch适合做:值匹配的分支选择。

3、循环结构(代码反复执行多次)

(1)for

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//for(初始化语句;循环语句;迭代语句){……}循环格式for (int i=0;i<5;i++){System.out.println("第"+(i+1)+"次循环");}}
}

案例1:前n项和,(for循环快捷键fori)

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//       案例1:前n项和int n=6;int sum1=0;for (int i=0;i<=n;i++){sum1+=i;}System.out.println(sum1);
//        案例2:奇数和int sum2=0;int sum3=0;for (int i = 0; i <= n; i++) {if (i%2==1){sum2+=i;}}
//        求奇数和法2,修改初始语句和迭代语句for (int i = 1; i <= n; i+=2) {sum3+=i;}System.out.println(sum2);System.out.println(sum3);}
}

案例2:水仙花数(三位数,每一位上的数的立方和等于原数)

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//       案例2:水仙花数int ge,shi,bai;for (int i = 100; i <= 999; i++) {ge=i%10;shi=i/10%10;bai=i/100;if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==i){System.out.print(i+"\t");}}}
}

(2)while

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//      while循环int i=0;while (i<3){System.out.println("hhh");i++;}}
}

while和for什么时候用:

知道循环几次用for,不知道建议用while

案例1:用纸折出珠穆拉玛峰高度,不确定循环几次

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//       案例1:珠穆朗玛峰double peakHeight=8848860;//山高double paperThickness=0.1;//纸高int count=0;//记录折叠了几次while (paperThickness<peakHeight){paperThickness*=2;count++;}System.out.println(count);System.out.println(paperThickness);}
}

运行结果如下:

(3)do-while,先循环,在判断条件

使用场景:抢票

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//       do-while
//        学习目标:学会使用,并理解执行流程int i=0;do {System.out.println("hhh");}while(i<3);}
}

注意:for中控制循环的变量i,只在循环中可以使用;while中,控制循环的变量循环语句后还可以用

(4)其他循环形式

1、死循环

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//       死循环
//        学习目标:学会定义死循环for (; ; ) {System.out.println("hhh");}//        经典死循环写法while (true){//当该循环前边还有死循环时,会报错,因为一直执行不到//解决办法:隐藏上边的死循环System.out.println("hhh");}do {System.out.println("hhh");}while (true);}
}

案例1:密码验证

package com.laogao.practice;import java.util.Scanner;public class JavaPractice {public static void main(String[] args) {
//       案例:密码验证int rightPsw=123;//正确密码Scanner scanner=new Scanner(System.in);//键盘输入while(true){System.out.println("请输入正确密码:");int content=scanner.nextInt();if (content==rightPsw){System.out.println("密码正确");break;//跳出循环}else {System.out.println("密码错误");}}}
}

2、嵌套循环,五行三列

package com.laogao.practice;public class JavaPractice {public static void main(String[] args) {
//      嵌套循环for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {System.out.print("*");}System.out.println();}}
}

运行结果如下:

(5)跳转关键字:break、continue

break:跳出循环,只能用于循环/switch

continue:结束本次循环(continue后的语句不执行了),进入下一次循环,只能用于循环

(6)随机数:Random

1、导包(不用自己写)

2、创建随机对象

3、调用方法

package com.laogao.practice;import java.util.Random;public class JavaPractice {public static void main(String[] args) {
//      随机数Random random = new Random();for (int i=0;i<10;i++) {int data = random.nextInt(10);//0~9的随机数System.out.println(data);//将选中的代码快速放进循环中,快捷键ctrl+alt+t,再5}}
}

案例1:猜数字

package com.laogao.practice;import com.sun.org.apache.xerces.internal.impl.xs.SchemaNamespaceSupport;import java.util.Random;
import java.util.Scanner;public class JavaPractice {public static void main(String[] args) {
//      随机数Random random = new Random();Scanner scanner=new Scanner(System.in);int data = random.nextInt(100)+1;//1-100的随机数while (true){System.out.println("请输入:");int content=scanner.nextInt();if (data==content){System.out.println("成功了");break;}else if(content>data){System.out.println("大了");}else if(content<data){System.out.println("小了");}}}
}

Java流程控制语句——学习笔记(3)相关推荐

  1. JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

    Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句 ...

  2. java 网络编程学习笔记

    java 网络编程学习笔记 C/S模式:客户端和服务器 客户端创建流程 1 1.建立Socket端点 2 3 Socket s = new Socket(绑定地址, 绑定端口); 2.确认源数据方式和 ...

  3. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  4. Java日志框架学习笔记

    Java日志框架学习笔记 文章目录 0 主流Java日志框架 1 log4j 1.1 理论知识 1.1.1 Loggers日志记录器 1.1.2 Appenders输出端 1.1.3 Layout日志 ...

  5. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  6. java.util.List学习笔记

    概述 在Java中,List是一种特殊的集合结构,即:List是一种有序的集合.在List接口的实现中,需要提供根据列表下表对元素进行操作的方法,包括:插入,删除,查询和修改等: List一般允许重复 ...

  7. Java快速入门学习笔记9 | Java语言中的方法

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  8. Java快速入门学习笔记8 | Java语言中的数组

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  9. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

最新文章

  1. python 之GUI设计:Entry组件
  2. dwz中弹出的窗口页面如何获取前页面(点击按钮的页面)的元素???
  3. Django模型(三)
  4. C#中的for,while和do-while循环语句
  5. java泛化_java 类字面常量,泛化的Class引用
  6. I/O资源如何映射到内核虚拟空间
  7. 联想计算机怎样分区,怎么给联想笔记本硬盘分区【图文】
  8. 3D建模与处理软件简介 刘利刚 中国科技大学
  9. EasyPR转qt5-vs2013
  10. 【软考系统架构设计师】2016下系统架构师案例分析历年真题
  11. 代码:Java实现大数据经典案例WordCount
  12. 论文查重库包含哪些?
  13. Android 分析ANR和死锁(3)
  14. position的4个值和用法
  15. Internet Download Manager(V6.37版本IDM)免费序列号密钥激活版使用过程中的一些常见问题
  16. vscode中打开浏览器的快捷键_VSCode设置默认打开的浏览器的方法
  17. 评联想收购IBM PC
  18. QKX-ZSZ-4000岩体真三轴动静载荷-应力应变曲线绘制软件
  19. python获取今日头条搜索信息_python爬虫(十二、爬取今日头条关键词所有文章)
  20. AI遮天传 DL-反馈神经网络RNN

热门文章

  1. Direct2D 几何图形
  2. C/C++ typedef用法详解(有排版)
  3. 2020 HDU多校 第一场 04-Distinct Sub-palindromes(思维)
  4. Snappy格式解压
  5. 基于ESP32搭建物联网服务器十三(自已搭建一个MQTT服务器)
  6. latex在箭头上方加字
  7. 全息透玻璃交互式触摸显示器
  8. vue解决两个字和三个字对齐问题
  9. html情侣相册,浪漫的情侣相册名字技巧(图文)
  10. 自动调用Wine Windows Program Loader执行EXE文件失败的解决办法