四 . 分支和循环——Java基础篇

四 . 分支和循环

1 . switch的基本语法

if 和 swicth 的对比:

  1. if既可以用于范围校验, 也可以用于等值校验
  2. swicth对于if效率更高,只能用于等值校验

语法格式:

switch(表达式){case 常量值1:语句块1;//break;case 常量值2:语句块2;//break; // ...[default:语句块n+1;break;]
}
注意:1. Switch用于等值校验2. break结束分支3.default可有可无, 所有的case都不满足时,就会执行
public class SwitchTest {public static void main(String[] args) {//1,创建键盘输入对象Scanner in=new Scanner(System.in);//2,获取整数System.out.println("请您输入一个整数");int num = in.nextInt();//3,对整数进行判断switch(num){case 1:System.out.println("11");break;case 2:System.out.println("22");break;case 3:System.out.println("33");break;default:System.out.println("输入有误!");break;}//4,输出//5,关闭资源in.close();}
}

2 . switch支持的数据类

在这里插入图片描述

switch表达式的数据类型----------------byte short int char String 枚举,,,不支持long
class SwitchTest2{public static void main(String[] args) {//键盘输入一个季节,展示当前季节的特点//1,创建键盘输入对象Scanner in=new Scanner(System.in);//2,获取System.out.println("请您输入一个季节:");//类型是String的话,后面用next()String arr = in.next();//3,判断switch(arr){case "春天":System.out.println("春天好呀");break;case "夏天":System.out.println("夏天好呀");break;case "秋天":System.out.println("秋天好呀");break;case"冬天":System.out.println("冬天好呀");break;default:System.out.println("你输入的不是季节");break;}//4,输出//5,关闭资源in.close();}}

-------键盘输入年份和月份 输出制定月份的天数

/*
switch练习
1.键盘输入年份和月份  输出制定月份的天数*/
public class SwitchExer {public static void main(String[] args) {//1.创建键盘输入Scanner in=new Scanner(System.in);//2,获取System.out.println("请您输入年份");int year=in.nextInt();System.out.println("请您输入月份");int month=in.nextInt();//3,定义变量 接受天数的值int days=0;//4,月份进行校验,特别处理2月switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2://闰年的条件
//                if(year%400==0||year%4==0&&year%100!=0){
//                    days=29;
//                }else{
//                    days=28;
//                }//普通的if双循环可用三目条件来判断days=year%400==0||year%4==0&&year%100!=0?29:28;break;default:System.out.println("月份输入 有误");}//5,展示System.out.println(year+"年"+month+"月"+days+"天");//6,关闭in.close();}
}

在这里插入图片描述

3.循环语句

循环语句就是解决重复性问题

  • 循环的作用:循环语句具有在某些条件满足的情况下,反复执行特定代码的功能。

  • 循环结构分类:

    • for 循环
    • while 循环
    • do-while 循环
  • 循环结构四要素

    • 初始化条件
    • 循环条件
    • 循环体
    • 迭代条件

4.for循环

基本语法

for (①初始化条件; ②循环条件; ④迭代条件){③循环体;

**执行过程:**①-②-③-④-②-③-④-②-③-④-…-②

①初始化条件: 循环的起始值

②循环条件: 判断循环是否执行的条件

③循环体: 循环做的事

④迭代条件: 更改起始值

i++和++i一样,习惯问题
在这里插入图片描述

注意 :如果需要变量记录数据, 思考变量的位置循环外: 记录总变化(循环结束后才能拿到最终结果)循环内:

在这里插入图片描述

1. 如果需要变量记录数据, 思考变量的位置循环外: 记录总变化(循环结束后才能拿到最终结果)循环内:
2. for中声明的变量, 外部无法使用(可以把初始化条件调到外面)
3. 特殊的写法缺少循环条件  无限循环缺少迭代条件  无限循环只有循环体    无限循环无限循环下  不能存在其他内容  无法访问

5.偶数. 奇数

判断偶数: i%2==0

判断奇数: i%2!==0
在这里插入图片描述

在这里插入图片描述

6 .while循环

语法格式:

①初始化部分
while(②循环条件部分){③循环体部分;④迭代部分;
}

**执行过程:**①-②-③-④-②-③-④-②-③-④-…-②
在这里插入图片描述

练习----展示1-200内能被3整除的所有数, 每行输出5个

class While4{public static void main(String[] args) {//展示1-200内能被3整除的所有数, 每行输出5个//定义变量能被3整数的数量int count=0;//1.所有的数for (int i = 1; i <=200 ; i++) {//2.筛选被3整除的数if(i%3==0){System.out.println(i+"\t");count++;if(count%5==0){System.out.println();}}}}
}

练习----找产生幸运数字 [1,1000] 666

 */
class While5{public static void main(String[] args) {//幸运数字公式int yy=(int)(Math.random()*(1000-1+1)+1);//1.`确定幸运数字//2,键盘输入Scanner in=new Scanner(System.in);//这个num在范围外的目的是为了接受所输入的数字//只要这个num与幸运数字不一样,就会不断地寻找int num=-1;while(num!=yy){System.out.println("输入数字");num=in.nextInt();//输入的数字与幸运数字比较if(num>yy){System.out.println("大了");} else if (num < yy) {System.out.println("笑了");}else{System.out.println("找到了,幸运数字是:"+num+",yy"+yy);}}
//        System.out.println("输入一个数字");
//        int num = in.nextInt();
//        if(num>yy){
//            System.out.println("大了");
//        } else if (num<yy) {
//            System.out.println("笑了");
//        }else{
//            System.out.println("找到了");
//        }}
}

7. do-while循环

语法格式:

①初始化部分;
do{③循环体部分④迭代部分
}while(②循环条件部分); 

**执行过程:**①-③-④-②-③-④-②-③-④-…-②

public class d0while {public static void main(String[] args) {//创建初始化int i=1;do{System.out.println("i="+i);i++;}while (i<=5);}
}
for:循环次数固定
while: 循环次数不固定
do while:即使初始化 条件不满足循环条件也会执行一次循环体

return: 结束方法, 跳出程序

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

面试redis篇-10Redis集群方案-主从复制

在Redis中提供的集群方案总共有三种: 主从复制哨兵模式分片集群主从复制 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 主从数据同步原理 Replication Id:简称replid,是数据集的标记,id一致则说明是同一数据集。每…

Wireshark TS | Linux 系统对时问题

问题描述 节前业务运维同事提交了一个 case &#xff0c;说是部署在新业务区域的 Linux 服务器和老业务区域的 Linux 服务器无法对时&#xff0c;脚本里使用的是 clockdiff 命令&#xff0c;无法正常返回结果&#xff0c;而在老业务区域两台服务器之间执行命令就正常&#xff…

【笔记】深度学习入门:基于Python的理论与实现(三)

误差反向传播法 一 个能够高效计算权重参数的梯度的方法 计算图 正向传播 太郎在超市买了 2 个 100 日元一个的苹果&#xff0c;消费税是 10%&#xff0c;请计 算支付金额。 反向传播&#xff08;导数&#xff09; 如果苹果的价格增加某个微小值&#xff0c; 则最终的支付金额…

【JavaSE】实用类——String、日期等

目录 String类常用方法String类的equals()方法String中equals()源码展示 “”和equals()有什么区别呢&#xff1f; StringBuffer类常用构造方法常用方法代码示例 面试题&#xff1a;String类、StringBuffer类和StringBuilder类的区别&#xff1f;日期类Date类Calendar类代码示例…

Redis学习------实战篇----2024/02/27

1.导入项目 2.基于Session实现登录 手机验证码完整实现 /*** 发送验证码* param phone* param session* return*/Overridepublic Result sendCode(String phone, HttpSession session) {//1.校验手机号if(RegexUtils.isPhoneInvalid(phone)){//2.如果不符合&#xff0c;返回错…

非常好!超齐全的故障诊断数据集及相关实验平台介绍

故障诊断数据集目录 一. 故障诊断数据集库介绍 二. 轴承故障诊断数据集 1.美国-凯斯西储大学轴承数据中心轴承数据集 2.SUDA试验台数据集 3.美国-机械故障预防技术学会MFPT 4.德国-帕德伯恩大学Paderborn轴承数据集 5.SDUST山东科技大学数据集 6.SEU东南大学轴承数据集 …

ARMv8-AArch64 的异常处理模型详解之异常处理详解(同步异常和异步异常的分析和处理)

这里写目录标题 一&#xff0c;同步异常的分析1.1 同步异常分析-异常链接寄存器ELR1.2 同步异常分析-异常综合寄存器ESR&#xff0c;Exception Syndrome Register1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register 二&#xff0c; 同步异常的处理示例 Synchronous ex…

windows 11+docker desktop+grafana+influxDB+python写入

下载安装docker desktop 出现WSL相关的错误。WSL是一个linux内核的子系统&#xff0c;docker是基于linux内核的&#xff0c;所以运行docker需要WSL。 以管理员权限打开powershell&#xff0c;查看WSL状态 wsl --status 我遇到的错误是因为我关闭了windows的某些更新 执行上…

SAP Business Technology Platform (BTP)的架构理解

长期以来&#xff0c;我在与客户和伙伴的沟通交流中发现大家依然对SAP业务技术平台 - SAP Business Technology Platform (以下简称BTP)纯有各种疑惑&#xff0c;借此机会借助我原来作为SAP内部IT开发的经验和近期一年来在客户前线的经验&#xff0c;简要聊一下我对BTP的架构理…

工厂安全智能巡检机器人系统开发及其对您的价值体现

在工厂生产环境中&#xff0c;安全生产一直是业主、采购商以及中间商们十分关注的焦点。为了提升工厂生产线的安全性、效率和可追溯性&#xff0c;一款工厂安全智能巡检机器人系统应运而生&#xff0c;旨在为需求方带来全新的生产安全管理模式。 自动巡检增加效率 传统的工厂…

SD-WAN技术:优化国内外服务器访问的关键

在全球化的商业环境中&#xff0c;企业经常需要在国内访问国外的服务器。然而&#xff0c;由于地理位置和网络架构的限制&#xff0c;这种跨国访问往往会遇到速度慢、延迟高等问题。SD-WAN&#xff08;软件定义广域网&#xff09;技术的兴起&#xff0c;为企业提供了一种新的解…

大文件传输之udp如何传输大量数据

在数字化时代&#xff0c;对大文件传输的需求正以前所未有的速度增长。无论是个人用户还是企业&#xff0c;都急切寻求一种能够快速且稳定地处理大量数据的传输方法。UDP&#xff08;用户数据报协议&#xff09;以其无连接的特性和高效的数据传输能力&#xff0c;成为了大文件传…

C语言自定义数据类型(三)结构体指针

所谓结构体指针就是指向结构体变量的指针&#xff0c;一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中&#xff0c;那么&#xff0c;这个指针变量就指向该结构体变量。 目录 一、指向结构体变量的指针 1.1举例说明 …

就业班 2401--2.26 Linux Day5--进程管理一

一、权限扩展 文件权限管理之&#xff1a; 隐藏权限防止root误删除 文件属性添加与查看 [rootlinux-server ~]# touch file1 file2 file3 1.查看文件属性 [rootlinux-server ~]# lsattr file1 file2 file3 ---------------- file1 ---------------- file2 ----------------…

【吴恩达·机器学习】第四章:详解神经网络:推理和训练

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; Yaoyao2024每日一言&#x1f33c;: 勇敢的人&#xff0c;不是不落泪的人&#xff0c;而是愿意含着泪继续奔跑的人。 ——《朗读者》 0、声明 本系列博客文章是博主本人根据吴…

RubyMine 2023:让Ruby编程变得更简单 mac/win版

JetBrains RubyMine 2023是一款专为Ruby开发者打造的强大集成开发环境&#xff08;IDE&#xff09;。这款工具集成了许多先进的功能&#xff0c;旨在提高Ruby编程的效率和生产力。 RubyMine 2023软件获取 RubyMine 2023的智能代码编辑器提供了丰富的代码补全和提示功能&#…

深度学习基础(三)循环神经网络(RNN)

之前的章节我们初步介绍了卷积神经网络&#xff08;CNN&#xff09;&#xff1a; 深度学习基础&#xff08;二&#xff09;卷积神经网络&#xff08;CNN&#xff09;-CSDN博客文章浏览阅读2次。卷积神经网络&#xff08;CNN&#xff09;的应用领域广泛&#xff0c;尤其在图像处…

Delphi 报错 Type androidx.collection.ArraySet is defined multiple times

Delphi 11 建立一个新的 Multi-Device Application 编译成app的时候报错 报错信息 [PAClient Error] Error: E7688 Unable to execute "E:\Program\Java\jdk1.8.0_301\bin\java.exe" -cp "e:\program\embarcadero\studio\22.0\bin\Android\r8-3.3.28.jar"…

git push提交后GitHub没有统计我的Contributions

我在家里的电脑上创建了一个仓库&#xff0c;然后在笔记本上录取下来并进行提交合并等操作&#xff0c;但是发现笔记本上提交的记录并没有被github记录&#xff0c;就是那个绿色的点没有 就是提交完之后 没有出现当天的绿色的点 通过git log 后发现&#xff0c;提交记录中存在…

【pytorch】常用代码

文章目录 条件与概率torch.tensor()torch.rand()torch.randn()torch.randint()torch.multinominal() 逻辑运算torch.argmax()torch.max()torch.sum()torch.tanh()torch.pow() 功能性操作 torch.nn.functionalF.normalize()F.elu()F.relu()F.softmax() 张量计算torch.zeros()tor…