day04_流程语句_if_while_for

今日内容

1.if
2.switch
3.while,do-while,for

零、复习

1算术运算符中除法特性

  • 整数相除不保留小数 10/3=3

2++什么作用,i++和++i什么区别

  • 让数据自增1
  • i++,是++在后先使用后自增
  • ++i,是++在前先自增后使用

3&& 和 & 有相同点和不同点

  • 相同点: 两边判断式子,一错就错全对才对
  • 不同点: &&有短路效果,当第一个式子结果错的时候后面式子不执行

4三目运算的语法格式

  • 数据类型 变量 = 布尔表达式 ? 对时执行 : 错时执行;
  • String s = a > b ? “a大” : “b大”;

5解释如下代码的错误
short s = 1;
s = s + 1;

  • s是short类型变量,数字1int类型
  • s+1执行完,结果的数据类型是int
  • 将int结果赋值给s变量,但是s变量是short类型,即int类型转成short
  • 但是int到short默认不行,所以报错
  • 解决方案: s = (short)(s + 1);
  • 或者 s += 1;

一、流程控制语句

流程: java的执行流程(从main方法中从上至下,逐行执行)

控制: 通过一些技术改变这些流程(选择的执行,跳过不执行,循环重复执行)

能实现流程控制的语句有

  • 分支语句: if,if-else,elseif
  • 选择语句: switch-case
  • 循环语句: while,do-while,for

二、分支语句(重要)

2.1 if(单分支)

if (布尔表达式) {

​ 执行语句;

}


  • 遇到if,就开始判断后面式子
  • 如果式子是true 就执行{}内语句
  • 如果式子false 就跳过{}内不执行,而后续的
       // 判断能不能进入网吧??int age = 8;if (age >= 18) {System.out.println("可以上网,欢迎光临~" );}

2.2 if-else(双分支)

if(布尔表达式) {

执行语句;

} else {

执行语句;

}


  • 遇到if,执行判断
  • 结果为true.执行if后的语句,不再执行else
  • 结果为false.跳过if执行else后的语句
        int age2 = 8;if (age2 >= 18) {System.out.println("可以上网!" );} else {System.out.println("不可以上网!" );}

2.3 练习题

package com.qf.contrl;import java.util.Scanner;/*** --- 天道酬勤 ---** @author QiuShiju* @date 2024/2/22* @desc if和if-else的练习*/
public class Demo2 {public static void main(String[] args) {// 定义两个变量,输出其中最大值(不考虑相等)int a = 1;int b = 2;if (a > b) {System.out.println("max is a = " + a);} else {System.out.println("max is b = " + b);}// 定义三个变量,输出其中最大值(不考虑相等)int x = 11;int y = 22;int z = 3;if (x > y) {if (x > z) {System.out.println("x大" );} else {System.out.println("z大" );}} else {if (y > z) {System.out.println("y大" );} else {System.out.println("z大" );}}// 声明一个int型的数据,判断这个数是否能被2整除,如果能被2整除,那么输出“这个数是偶数”,否则输出“这个数是奇数”。int num = 2;if (num % 2 == 0) { // 整除就是余数为0System.out.println("num = " + num+",是偶数" );} else {System.out.println("num = " + num+",是奇数" );}// 编写一个程序,输入用户名和密码,// 要求用户名和密码同时正确才输出"登录成功",// 否则输出"用户名或密码错误"// 假设正确的用户名是数字1,密码是数字2System.out.println("--- xxx系统 ----" );Scanner scanner = new Scanner(System.in);System.out.println("请输入用户名:" );int username = scanner.nextInt( );// 用户名System.out.println("请输入密码:" );int password = scanner.nextInt( );// 密码if (username == 1 && password == 2) {System.out.println("登录成功,欢迎进入xxx系统" );} else {System.out.println("用户名或密码错误!" );}}
}

2.4 elseif(多分支)

语法

if(布尔表达式1) {执行语句1;
} else if(布尔表达式2){执行语句2;
} else if(布尔表达式3){执行语句3;
} ... {} else {执行语句n;
}

执行顺序:

  • 遇到if执行判断,如果为true,执行if后语句1,后面的都不再执行
  • 如果if是false,跳过语句1,判断第二个if,如果此时为true,执行语句2,后面不再执行
  • 如果判断2为false,跳过语句2,执行第三个判断…
  • 依次类推
  • 如果以上判断都失败,就执行最后的else

给定一个成绩,根据成绩的范围打印相应的等级。90及以上为"A级",80-89为"B级",70-79为"C级",60-69为"D级",60以下为"E级"。

 		int score = 92;if (score >= 90) {System.out.println("A" );} else if (score >= 80) {System.out.println("B" );} else if (score >= 70) {System.out.println("C" );} else if (score >= 60) {System.out.println("D" );} else {System.out.println("E" );}

给定两个整数,比较它们的大小并打印结果。如果第一个数较大,输出"第一个数较大",如果第二个数较大,输出"第二个数较大",如果两个数相等,输出"两个数相等"。

		int x = 11;int y = 22;if (x > y) {System.out.println("x > y" );} else if (x < y) {System.out.println("x < y" );} else {System.out.println("x == y" );}

编写一个程序,根据用户输入的月份,判断该月份的天数并输出。假设输入的月份范围为1到12。

Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scanner.nextInt( );// 月
if (month >= 1 && month <= 12) {if (month == 2) {System.out.println("28天或者29天");} else if (month == 4 || month == 6 || month == 9 || month == 11) {System.out.println("30天");} else {System.out.println("31天");}
} else {System.out.println("输入的月份有误!!!");
}

三、选择语句(switch,了解)

类似于else-if,实现多选一的效果,语法

switch(){case:执行语句;break;case:执行语句;break;...default:执行语句;
}

switch: 转换,选择 case: 情况,案例 break: 破坏打断 default: 默认

package com.qf.contrl;/*** --- 天道酬勤 ---** @author QiuShiju* @date 2024/2/22* @desc 演示switch*/
public class Demo4 {public static void main(String[] args) {// 老年机打电话,长按1打给110// 长按2打给120,长按3打给119// 其他打给儿子/女儿int num = 1;switch (num) { // ()内是数值,不能写判断式子case 1:   // case后是定值,不能写变量,后面是冒号:System.out.println("打给110" );break; // break可以不写,不写的话会造成case击穿case 2:System.out.println("打给120" );break;case 3:System.out.println("打给119" );break;default:  // 以上case都不成立,执行此处System.out.println("打给孩子们!!" );}}
}

四、循环语句

循环语句的作用: 就是能代码循环重复执行

为什么? 提供效率…减少代码重复的

如何实现重复循环?

  • while循环
  • do-while循环
  • for循环

4.1 while

while(布尔表达式){

​ 执行语句;

}


执行流程:

  • 遇到while,判断式子
  • 如果为true,执行{}内语句,回头继续再判断
  • 直到当判断结果为false时跳出循环

image-20240222151839663

练习题

package com.qf.contrl;/*** --- 天道酬勤 ---** @author QiuShiju* @date 2024/2/22* @desc while语句*/
public class Demo5 {public static void main(String[] args) {// 输出5遍 I Love China.System.out.println("-- 输出5遍 I Love China. --" );int i = 1;while (i <= 5) {System.out.println("I Love China");i++;}/*** 一个合适的循环,需要有四部分* 1) 循环初始值* 2) 循环控制条件* 3) 循环内容* 4) 循环迭代*/// 输出1-10System.out.println("-- 输出1-10 --" );int a = 1;while (a < 11) {System.out.println(a );a++;}// 输出10-1System.out.println("-- 输出10-1 --" );int b = 10;while (b > 0) {System.out.println(b );b--;}// 输出1-100中既能被3整除又能被5整除的所有数System.out.println("-- 输出1-100中既能被3整除又能被5整除的所有数 --" );int c = 1;while (c < 101) {if (c % 3 == 0 && c % 5 == 0){System.out.println(c );}c++;}// 找出1~2024年中所有的闰年// (年份能被4整除,且不能被100整除,或者能被400整除的年份)System.out.println("-- 找出0~2024年中所有的闰年 --" );int year = 1;while (year <= 2024) {if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){System.out.println(year+"年是闰年!" );}year++;}}
}

4.2 do-while(了解)

do {

​ 执行语句;

}while(布尔表达式);

package com.qf.contrl;/*** --- 天道酬勤 ---** @author QiuShiju* @date 2024/2/22* @desc do-while*/
public class Demo6 {public static void main(String[] args) {// 输出1-10int a = 1;do {System.out.println(a );a++;}while (a < 11);// 输出1-100的偶数int b = 1;do {if (b % 2 == 0){System.out.println(b );}b++;}while (b < 101);/*** while和do-while区别* 1 while是先判断后执行* 2 dowhile是先执行一次再判断*/}
}

4.3 for(重点)

for循环是使用的最多的循环语句!!!

语法

for(初始值;控制条件;迭代){执行语句;
}

image-20240222162931276

练习

package com.qf.contrl;/*** --- 天道酬勤 ---** @author QiuShiju* @date 2024/2/22* @desc for循环*/
public class Demo7 {public static void main(String[] args) {// 输出1-10for (int i = 1; i < 11; i++) {System.out.println(i);}// 求出1-10的和int sum = 0;for (int i = 1; i < 11; i++) {// sum = i + sum;sum += i;}System.out.println("1-10的和:sum = " + sum);// 求出1-100的奇数和int sum2 = 0;for (int i = 1; i < 101; i++) {if (i % 2 == 1) {sum2 += i;}}System.out.println(sum2);}
}

4.4 for循环嵌套[熟练]

    public static void main(String[] args) {System.out.print("输出后不换行");System.out.println("输出内含后,会换行");// -------------/*** 要求输出数据只能输出一颗** 打印出正方形* ********** ********** ********** **********/// 外层循环控制行数for(int i = 1;i < 5;i++) {// 内层循环控制列数for (int j = 1; j < 10; j++) {System.out.print("*");// 输出后不换行}System.out.println( );// 纯换行}/*** ** *** **** ***** ****** *******/for(int i = 1;i < 7;i++) {for(int j = 1;j <= i;j++) {System.out.print("*");}System.out.println( );}}

五、总结

今日重点

  • if和if-else
  • while和for循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS滚动条样式如何单独给firefox设置 scrollbar-width: none;,而不影响其他浏览器

要在Firefox中单独设置滚动条样式,你可以使用​​@-moz-document​​规则。这个规则允许你为特定的浏览器或浏览器引擎应用样式。 下面是一个例子,演示如何在Firefox中隐藏滚动条: @-moz-document url-prefix() {/* 在这里添加只对Firefox生效的样式 */body {scrollbar-wi…

一文了解web开发基础知识【HTML、CSS、JavaScript】

文章目录 1 前言1.1 HTML1.2 CSS1.3 JavaScript1.4 理解HTML、CSS、JavaScript之间的关系 2 HTML2.1 什么是网页2.2 什么是HTML2.2.1 文本内容2.2.1.1 标题 2.2.2 图像2.2.3 链接2.2.4 列表2.2.5 表格2.2.6 HTML代码注释 2.3 第一个HTML文件2.3.1 示例2.3.2 补充2.3.2.1 < l…

苹果iPad通过Code APP应用实现SSH连接服务器远程进行开发

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 本文主要介绍开源iPad应用IDE Code App 如何下载安装&#xff0c;并…

Linux-查看服务器--硬件配置信息

在Linux服务器上查看硬件配置信息&#xff0c;可以使用一系列命令行工具。以下是一些常用命令来获取不同硬件组件的详细信息&#xff1a; 查看CPU信息&#xff1a; cat /proc/cpuinfo&#xff1a;显示处理器类型、型号、频率、核心数等详细信息。lscpu&#xff1a;提供更为人性…

五个简单的C#编程案例

案例一&#xff1a;Hello, World! csharp using System; class Program { static void Main() { Console.WriteLine("Hello, World!"); } } 这个案例是最基础的C#程序&#xff0c;它打印出“Hello, World!”到控制台。每个C#程…

基于springboot + vue实现的前后端分离-酒店管理系统

项目介绍 基于springboot vue实现的酒店管理系统一共有酒店管理员和用户这两种角色。 管理员功能 登录&#xff1a;管理员可以通过登录功能进入系统&#xff0c;确保只有授权人员可以访问系统。用户管理&#xff1a;管理员可以添加、编辑和删除酒店的用户&#xff0c;包括前…

运维SRE-18 自动化批量管理-ansible4

12.2handles handles触发器(条件)&#xff0c;满足条件后再做什么事情应用场景&#xff1a;想表示&#xff1a;配置文件变化&#xff0c;再重启服务 配置handlers之前&#xff0c;每次运行剧本都会重启nfs&#xff0c;无论配置文件是否变化。 [rootm01 /server/ans/playbook]…

C++--输入一个数字判断是否是素数

一.算法思路 要判断数字n是否是素数&#xff0c;那么用n除以一个2~根号n的数字i&#xff0c;若有一个被整除&#xff0c;说明n不是素数&#xff0c;否则是素数 二.完整代码 #include<cmath> #include<iostream> bool IsPrime(int n) {for (int i 2;i < sqrt(n…

【计算机网络:DHCP协议】

文章目录 前言一、DHCP是什么&#xff1f;二、DHCP的工作原理1.基本流程发现&#xff08;DISCOVER&#xff09;提供&#xff08;OFFER&#xff09;请求&#xff08;REQUEST&#xff09;确认&#xff08;ACKNOWLEDGEMENT&#xff09; 2.DHCP租约的概念3.DHCP续租过程 三、DHCP服…

【MATLAB GUI】 1. 普通按钮、静态文本和可编辑文本

看B站up主freexyn的freexyn编程实例视频教程系列36Matlab GUI的学习笔记 文章目录 初步认识普通按钮静态文本和可编辑文本设计一个简易计算机 初步认识普通按钮 任务要求&#xff1a;点击一次“100”按钮&#xff0c;按钮上的文字值就递增1&#xff1b;点击“close”按钮&…

Python语言例题集(006)

#!/usr/bin/python3 #建立一个含3个节点的链表&#xff0c;然后打印此链表。 class Node(): def init(self,dataNone): self.datadata self.nextNone n1Node(5) n2Node(15) n3Node(25) n1.nextn2 n2.nextn3 ptrn1 while ptr: print(ptr.data) ptrptr.next

[精通linux]-302- linux 高级命令

查看bash类型 $ echo $0 #输出位zsh或者bash查看命令类型 $ type ls # 输出 ls is an alias for ls -G重定向 学会使用 > 和 < 来重定向输出和输入,学会使用 | 来重定向管道。明白 > 会覆盖了输出文件而 >> 是在文件末添加。 任务管理器 熟悉 Bash 中的任…

UniApp中打开蓝牙所需哪些权限

Hello&#xff0c;各位同学们新年好呀&#xff0c;咱们又见面了&#xff01;我是咕噜铁蛋&#xff01;随着移动应用的普及&#xff0c;蓝牙技术正变得越来越重要。在UniApp中&#xff0c;打开蓝牙功能为我们提供了更多便利和创新的可能性。然而&#xff0c;很多人可能不清楚在U…

物联网土壤传感器简介

物联网土壤传感器简介 物联网土壤传感器的工作原理基于多种物理、化学和生物原理&#xff0c;通过感应器等组成部件将土壤中的特征数据转化为电信号&#xff0c;从而进行采集、处理和输出。这些传感器主要包括土壤湿度传感器、土壤温度传感器、土壤酸碱度传感器和土壤颗粒物传…

Sora是什么?Sora怎么使用?OpenAI最新文字转视频AI模型Sora,一句子生成60秒超逼画面

Sora 是 OpenAI 开发的AI视频生成模型&#xff0c;它能够根据用户的文本描述生成长达 60 秒、1080P 高质量视频&#xff0c;其中包含精细复杂的场景、生动的角色表情以及复杂的镜头运动。 Sora能够创造出包含多个角色、特定动作类型以及与主题和背景相符的详细场景。这款模型不…

【计算机网络】socket 网络套接字

网络套接字 一、端口号1. 认识端口号2. socket 二、认识TCP协议和UDP协议1. TCP协议2. UDP协议 三、网络字节序四、socket 编程1. socket 常见API2. sockaddr 结构3. 编写 UDP 服务器&#xff08;1&#xff09;socket()&#xff08;2&#xff09;bind()&#xff08;3&#xff0…

8080端口占用与解决

记录一下 j​​​​​​​http://t.csdnimg.cn/Pslch

【Unity编辑器扩展】Unity编辑器主题颜色设置工具

可以用来应用和自定义你的Unity编辑器。14个主题可供选择。轻松创建自己的主题。 主题展示:

明御运维审计与风险控制系统漏洞复现

简介 明御运维审计与风险控制系统是安恒信息在多年运维安全管理的理论和实践经验积累的基础上,采用B/S架构,集“身份认证、账户管理、控制权限、日志审计”于一体,支持多种字符终端协议、文件传输协议、图形终端协议、远程应用协议的安全监控与历史查询,具备全方位运维风险…

ChatGPT丨“成像光谱遥感技术中的AI革命:ChatGPT应用指南“

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境&#xff0c;是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型&#xff0c;在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用&#xff0c;人工智能…