当前位置: 首页 > news >正文

JAVA SE — 循环与分支和输入输出

1.语句的读取
​​​​​​在这里插入图片描述
每一个程序在运行过程,如果遇到的是顺序结构,语句是从上到下读取;遇到分支结构是通过分支语句的表达式选择读取语句;遇到循环结构,会重复读取语句,直到不满足循环表达式,跳出循环,终止循环内的语句的读取。

2. if else分支

语法上的定义
​​​​​​在这里插入图片描述
语句读取到 if else分支时,会先判断 if 语句的表达式,满足条件就进入if 分支内的语句进行读取,读取后不会再进入后面的分支;如果 if 分支的表达式不满足,会判断下一分支else if 的表达式,如果表达式为真,进入分支内的语句进行读取,读取后不会再进入后面的分支;如果else if 分支表达式结果为假,进入最后else 分支,不需要表达式进行判断,读取号分支内的语句后,结束分支。

if else 分支的使用

判断一个数是否为奇数,如果是,输出奇数,如果不是,输出偶数;

public class Test {public static void main(String[] args) {int a = 2;//判断是否为奇数或者偶数if(a % 2 == 1)System.out.println("奇数");elseSystem.out.println("偶数");}
}

程序输出

在这里插入图片描述
输入一个数,如果是大于0,输出 >, 如果等于0,输出 ==,如果小于0,输出 <;

 public static void main(String[] args) {int num = 0;if (num > 0) {System.out.println(">");} else if (num < 0) {System.out.println("<");} else {System.out.println("==");}}

输出结果
在这里插入图片描述

3. switch case分支的使用

使用每一个分支case分支对应周一到周末,1对应星期一,2对应星期二,以此类推到7对应星期天

//switch case分支的使用public static void main(String[] args) {int day = 7;//先对表达式进行判断switch(day){//day此时为7对应 case 7的分支case 1:System.out.println("星期一");break;//break的作用是跳出循环,此case 2:   //出是为了不执行多个分支System.out.println("星期二");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7://满足输出System.out.println("星期天");break;default:System.out.println("输出错误");}

输出结果

在这里插入图片描述

4.while循环的使用

输出1 - 10 的数字

//while循环:输出 1 - 10public static void main(String[] args) {int i = 1;while(i <= 10){System.out.print(i + " ");//i + " " 输出的是字符串//等价于将i 加到空格字符前//输出 1和空格i++;}}

在这里插入图片描述
求两个数的最大公约数

//while:求两个数的最大公约数public static void main(String[] args) {int a = 16;int b = 24;//使用辗转相除法不断的求余数,赋值int c = a % b;//16 % 24 = 16while(c != 0){//c = 16满足 第二次 c = 8满足 c = 0不满足 a = b;//a = b = 24   a = 16b = c;//b = 16;   b =8c = a % b;//c = 24 % 16 = 8  c = 16 % 8 =0}System.out.println("a 和 b 的最大公约数是:" + b);}

在这里插入图片描述

以下程序输出的结果是什么?

  //while:break 和 continuepublic static void main(String[] args) {int i = 1;while(i < 10){while(i !=5){i++;}if(i == 6)break;System.out.println(i + " ");i++;}}

i 是从1开始进入循环的,满足第一次while循环的表达式,进入while循环的内部语句,遇到第二次while循环,满足表达式,进入第二次while循环的内部,i++,一直循环到不满足第二层while循环的表达式,即 i 不等于5,跳出第二次while循环时,i 等于5,判断if语句的表达式,不满足,到输出语句,输出5和空格,i++变为6,重新进入第一层while循环,满足 i < 10,进入第二层while消耗会,满足判断条件,i一直++,满足i != 5,导致死循环。

在这里插入图片描述

此时程序一直死循环,结果是一直输出5。

在这里插入图片描述

5.for循环的使用

输出 1 - 10 的数字

在键盘上输入mian后回车,在idea中可以快速生成mian方法语句

在这里插入图片描述
在这里插入图片描述

输入fori,后回车快速生成for循环语句

在这里插入图片描述
在这里插入图片描述

完善for循环的表达式,输入sout后回车,快速生成printfln语句

在这里插入图片描述

在这里插入图片描述

//for循环:输出 1 -10public static void main(String[] args) {for (int i = 1; i <= 10 ; i++) {System.out.println(i + " ");}}

在这里插入图片描述

以下程序输出的结果是什么?

 //以下程序输出的结果是什么?public static void main(String[] args) {for (int i = 0; i < 10; i++) {if(i == 5)continue;System.out.print(i + " ");}}

i 从0开始,满足判断i < 10,进入语句中,不满足if语句的判断,continue不执行,输出1和空格,然后进入for循环的调整,i++,满足 i < 10,重复以上流程,直到 i == 5 时,执行continue,此轮循环continue后面的语句不再执行,不输出 5 和空格,i++变为6,重复流程输出,直到i不满足 i < 10跳出循环。

在这里插入图片描述

6.do while循环的使用

以下程序的输出结果是什么?

  //do while:以下程序的输出结果是什么public static void main(String[] args) {int i = 0;int j = 0;while (j < 2) {do {i++;if (i == 6)break;//跳出循环System.out.print(i + " ");} while (i < 10);j++;}}

do while循环与while循环的区别在于do while循环第一次进入循环内部不需要判断,而while循环需要先进行表达式的判断;while循环满足j < 2,进入内部语句,do while循环第一次进入不需要表达式判断,直接进入循环内部,执行 i++, i 变成2,不满足if语句,输出 1 和空格,最后判断while的表达式,满足 i < 10,重复执行do while循环进入内部,一直到满足if语句的表达式,跳出do while循环,此时 i 等于6,j++变为1,满足while循环,进入循环内部,执行do while循环,i++变为7,不满足if语句,执行输出语句,一直重复到 i < 10,跳出do while循环,j++变为2,不满 j < 2,跳出循环。

在这里插入图片描述

7. 输出语句

    //输出语句:printpublic static void main(String[] args) {int i = 10;System.out.print(i);//将数据打印,变量名作为参数System.out.println();//换行System.out.println(i);//将数据打印后换行,变量名作为参数System.out.printf("%d",i);//按照指定格式打印,与C语言使用方式一样}

在JAVA中比较少使用printf语句将数据按照指定格式输出,通常使用println输出语句。

在这里插入图片描述

8.输入语句

JAVA程序中使用输入语句需要导包:import java.util.Scanner;,输入Scanner后回车,就会自动生成,类似于C语言中的头文件。
在这里插入图片描述

需要先输入: Scanner scanner = new Scanner(System.in);

在这里插入图片描述

创建变量接收返回值: int n = scanner.nextInt();

在这里插入图片描述

 //Scanner的使用public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//Scanner是一种类 scanner是变量名// new相当于新开辟一块空间//system.in表示是系统输入//创建变量int n = scanner.nextInt();//scanner.nextInt()表示输入的是一个整型值//创建整型变量n接收返回值//输出nSystem.out.println(n);}

输入 1 ,输出 1
在这里插入图片描述

此时只能输出1次,如果想多次输入,可以使用while循环,表达式为:scanner.hasNext()

 //Scanner:多次输出public static void main(String[] args) {//创建变脸scannerScanner scanner = new Scanner(System.in);//scanner.hasNext()表示有多次输出while (scanner.hasNext()) {//创建变量n接收键盘输入的值int n = scanner.nextInt();//输出nSystem.out.println(n);}}

在这里插入图片描述

表达式的值还可以是ture,while循环一直执行

    //Scanner:多次输出public static void main(String[] args) {//创建变脸scannerScanner scanner = new Scanner(System.in);while (true) {//创建变量n接收键盘输入的值int n = scanner.nextInt();//输出nSystem.out.println(n);}}

在这里插入图片描述

9.使用输入输出和循环与分支实现一个猜数字小游戏

生成随机数,使用Random这一个类,需要导包:import java.util.Random;,输入Random后回车,会自动生成导包需要的文件。

在这里插入图片描述

创建random变量

在这里插入图片描述

创建变量n接收生成的随机数

在这里插入图片描述

使用while循环完成多次输入,如果输入的数大于随机数,输出猜大了,如果输入的数小于随机数,输出猜小了,其它输出猜对了,并打印出随机数,跳出while循环,回收scanner指向的空间。

在这里插入图片描述

    //猜数字小游戏public static void main(String[] args) {Random random = new Random();//Ramdom 是一种类//new Random()是开辟新的空间//将新开辟的空间给random使用int n = random.nextInt(100);//random.nextInt表示生成的是整型值//()括号内表示生成的范围:0 - 100//开辟新的空间赋给变量scannerScanner scanner = new Scanner(System.in);while(true){System.out.print("请输入猜测的数字:");//guest接收输入的值int guest = scanner.nextInt();//猜测判断if(guest > n){System.out.println("猜大了");} else if (guest < n) {System.out.println("猜小了");} else {System.out.println("猜对了");System.out.println("随机数是:" + n);break;}}scanner.close();//回收scanner指向的空间}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • VS Code + Maven 创建项目
  • JDK8中的 Stream流式编程用法优化(工具类在文章最后)
  • 【记录】PPT|PPT打开开发工具并支持Quicker VBA运行
  • C++初阶-list的使用1
  • Ubuntu 通过指令远程命令行配置WiFi连接
  • GuzzleHttp和DomCrawler的具体用途?
  • 【自用-python】生成准心居中exe程序,防止云电脑操作时候鼠标偏移
  • 谷歌开源医疗领域多模态生成式AI模型:medgemma-4b-it
  • 关于常见日志的几种级别和格式
  • mapbox V3 新特性,实现三维等高线炫酷效果
  • 工业物联网中隐私保护入侵检测的联邦学习增强型区块链框架
  • MyBatis-Plus的自带分页方法生成的SQL失败:The error occurred while setting parameters
  • 522UART是什么
  • 【项目】抽奖系统bug历程(持续更新)
  • Git分支的强制回滚
  • Python Click库:轻松构建优雅的命令行工具
  • 技术篇-2.1.C\C++应用场景及开发工具安装
  • Java使用Collections集合工具类
  • 力扣238.除自身以外数组的乘积
  • 【TI MSP430与SD NAND:心电监测的长续航解决方案】
  • 天津百度网站排名优化/广州seo招聘
  • wap网站 开发/房产网站建设
  • 编程开发/网站优化排名哪家好
  • 微官网和公众号的区别/奇零seo赚钱培训
  • 科技网站建设分析/市场营销渠道
  • 绵阳网站建设维护/今天合肥刚刚发生的重大新闻