Java基础语法(三)| 循环语句

news2024/11/30 9:48:35

前言

Hello,大家好!很开心与你们在这里相遇,我是一个喜欢文字、喜欢有趣的灵魂、喜欢探索一切有趣事物的女孩,想与你们共同学习、探索关于IT的相关知识,希望我们可以一路陪伴~

1. if语句

1.1 格式一

 if (关系表达式) {
    语句体;    
}

  • 执行流程

        ①首先计算关系表达式的值

        ②如果关系表达式的值为true就执行语句体

        ③如果关系表达式的值为false就不执行语句体

        ④继续执行后面的语句内容

  • 代码示例:
public class IfDemo {
	public static void main(String[] args) {
		System.out.println("开始");	
		//定义两个变量
		int a = 10;
		int b = 20;	
		//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于b
		if(a == b) {
			System.out.println("a等于b");
		}		
		//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c
		int c = 10;
		if(a == c) {
			System.out.println("a等于c");
		}		
		System.out.println("结束");
	}
}

1.2 格式二 

 if (关系表达式) {
    语句体1;    
} else {
    语句体2;    
}

  • 执行流程

        ①首先计算关系表达式的值

        ②如果关系表达式的值为true就执行语句体1

        ③如果关系表达式的值为false就执行语句体2

        ④继续执行后面的语句内容

  • 代码示例:
public class IfDemo02 {
	public static void main(String[] args) {
		System.out.println("开始");		
		//定义两个变量
		int a = 10;
		int b = 20;
		//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,否则,在控制台输出:a的值不大于b
		if(a > b) {
			System.out.println("a的值大于b");
		} else {
			System.out.println("a的值不大于b");
		}		
		System.out.println("结束");
	}
}

1.3 格式三

 if (关系表达式1) {
    语句体1;    
} else if (关系表达式2) {
    语句体2;    


else {
    语句体n+1;
}

  • 执行流程

        ①首先计算关系表达式1的值

        ②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值

        ③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值

        ④…

        ⑤如果没有任何关系表达式为true,就执行语句体n+1。

  • 代码示例:
import java.util.Scanner;
public class IfDemo03 {
	public static void main(String[] args) {
		System.out.println("开始");
		// 需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个星期数(1-7):");
		int week = sc.nextInt();
		if(week == 1) {
			System.out.println("星期一");
		} else if(week == 2) {
			System.out.println("星期二");
		} else if(week == 3) {
			System.out.println("星期三");
		} else if(week == 4) {
			System.out.println("星期四");
		} else if(week == 5) {
			System.out.println("星期五");
		} else if(week == 6) {
			System.out.println("星期六");
		} else if(week ==7){
			System.out.println("星期日");
		}else{
            System.out.println("你个二x,我们只有星期一到星期日,请回到地球!!!!");
        }	
		
	}
}

2. switch语句

  • 语句格式
switch (表达式|变量) { //整型(byte ,short ,int) 字符型(char)  1.7+ String 枚举        
    case 值1:
        语句体1;
        break;      //跳出,当前匹配项;
    case 值2:
        语句体2;
        break;
    ...
    default:
        语句体n+1;
        break;
}
注意:case 后面常量应该各不相同
    break 可以省略,如果省略穿透case运行,直到break才会结束switch
    default 可以省略,位置任意摆放, 没有匹配情形,才去执行default中代码
  • 执行流程
  • 首先计算出表达式的值

  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。

  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

案例--春夏秋冬

public class Demo1 {
    public static void main(String[] args) {
        //键盘录入月份数据,使用变量接收
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个月份:");
        int month = sc.nextInt();
        //case穿透  某些情形执行语句是一样的 
        switch(month) {
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("你输入的月份有误");
        }
    }
}

3. for循环

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

  •  for循环结构

for (初始化语句;条件判断语句;条件控制语句) {
    循环体语句; //重复执行的代码
}

格式解释:

  • 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样

  • 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去

  • 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情

  • 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去

 

  • 执行流程

①执行初始化语句
②执行条件判断语句,看其结果是true还是false
       如果是false,循环结束
       如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续

  •  案例--偶数和
public class ForTest03 {
    public static void main(String[] args) {
		//求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
		int sum = 0;
		//对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
		for(int i=1; i<=100; i++) {
			//对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数
			if(i%2 == 0) {
				sum += i;
			}
		}
		//当循环执行完毕时,将最终数据打印出来
		System.out.println("1-100之间的偶数和是:" + sum);
    }
}

 4. while循环

  • 语法结构

 初始化语句;
while (条件判断语句) {
    循环体语句;
    条件控制语句(循环变量更新);
}

  •  执行流程

①执行初始化语句
②执行条件判断语句,看其结果是true还是false
     如果是false,循环结束
     如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续

  •  案例实现

需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

代码实现:

public class WhileTest {
    public static void main(String[] args) {
		//定义一个计数器,初始值为0
		int count = 0;        
		//定义纸张厚度
		double paper = 0.1;        
		//定义珠穆朗玛峰的高度
		int zf = 8844430;        
		//因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
		//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
		while(paper <= zf) {
			//循环的执行过程中每次纸张折叠,纸张的厚度要加倍
			paper *= 2;            
			//在循环中执行累加,对应折叠了多少次
			count++;
		}
		//打印计数器的值
		System.out.println("需要折叠:" + count + "次");
    }
}

 5. do...while循环

  • 语法结构

 初始化语句;
do {
    循环体语句;
    条件控制语句;
}while(条件判断语句); 

  • 执行流程

① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
    如果是false,循环结束
    如果是true,继续执行
⑤ 回到②继续

  • 代码示例:
public class DoWhileDemo {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"
        
		//do...while循环实现
		int j = 1;
		do {
			System.out.println("HelloWorld");
			j++;
		}while(j<=5);
    }
}

 6.三种循环区别

  • for、while和do...while区别
  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)。

  • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)至少执行一次。

  • for循环与while的区别
  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。

  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。

  • for循环一般用在确定一个范围的场景, while循环一种不确定的范围的场景。

中断语句--break

跳转控制语句--continue

跳转控制语句--return 

for(int x = 0; x < 10; x++){
    if(x == 3){
        //跳出当前(本次)循环,继续下次循环
        continue;
    }
    System.out.println(x);
}
//break之后这个句话是可以打印出来的
 System.out.println("over");
for(int x = 1; x < 7; x++){
    if(x == 3){       
        return;   //return 其实它的作用不是结束循环的,而是结束方法的。
    }
    System.out.println(x);
}
//return之后这个句话就不会直接输出的
 System.out.println("over");

7. 循环嵌套

循环嵌套,并不是新的保留字,而是一种结构 ( 其实就是把多个循环扣在一起... )。do... while、while、for循环均可作为内层或外层循环,建议两层,不要超过三层。

可以这么理解,内层循环作为外层循环的循环体。

  • 只有当内层循环执行完毕,才可以执行外层循环。

  • 案例--打印九九乘法表

  public class TestJJ{
  	public static void main(String[] args){
  		for(int i = 1 ; i <= 9;i ++){
  			for(int j = 1 ; j <= i ; j++){
  				System.out.print(j + " * " + i + " = " + (i*j) +"\t");
  			}
  			System.out.println();
  		}
  	}
  }

 星星发亮是为了让每一个人有一天都能找到属于自己的星星~ 希望你今天很开心~

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

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

相关文章

Halcon3D表面平面度检测-平面差值法

//倾斜平面矫正 https://blog.csdn.net/m0_51559565/article/details/137146179 //平面度和平面缺陷检测&#xff0c;平面矫正法 https://blog.csdn.net/m0_51559565/article/details/137163729前言 通常我们对表面平面度进行检测时&#xff0c;通常使用2种方式。1&#xff1a…

【目录整理】(五)

​​​​​Git 基础 Git 详细安装教程文章浏览阅读10w次&#xff0c;点赞9.6k次&#xff0c;收藏1.7w次。Git 是个免费的开源分布式版本控制系统&#xff0c;下载地址为git-scm.com 或者 gitforwindows.org&#xff0c;本文介绍 Git-2.40.0-64-bit.exe 版本的安装方法&#x…

Linux网络配置(超详细)

Linux网络配置大全 Linux网络配置一.网络地址配置网络地址查看–ifconfig使用网络配置命令设置网络接口参数-ifconfig禁用(临时)或者重新激活网卡设置虚拟网络接口 修改网络配置文件网络接口配置文件 IP命令详解OPTIONS选项OBJECT对象 ip link 二、获取和修改主机名hostname查看…

如何在OceanBase的OCP多节点上获取日志

背景 在使用OceanBase的OCP的过程中&#xff0c;因各种因素&#xff0c;我们可能需要对当前页面进行跟踪。在单一ocp节点环境下&#xff0c;我们自然可以直接在该节点上查找所需的日志。然而&#xff0c;当我们的环境中部署了多个ocp节点时&#xff0c;在排查问题时就会变得相…

QA:绑定ROS机器人控制板PCB设备ID

前言 一般情况下&#xff0c;主控板(树莓派、Jetson等)会同时和多个串口进行通信&#xff0c;这时&#xff0c;我们希望&#xff0c;用一个固定名称代表特定串口&#xff0c;比如用serial_motor_drive绑定电机驱动控制板&#xff0c;使ROS2的配置、编程和运行更加方便。 下面是…

图扑数字孪生智慧城市,综合治理一屏统览

现代城市作为一个复杂系统&#xff0c;牵一发而动全身&#xff0c;城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。领导曾在中央城市工作会议上指出&#xff0c;城市工作要树立系统思维&#xff0c;从构成城市诸多要素…

[webpack-cli] Invalid options object 报错

[webpack-cli] Invalid options object. Dev Server has been initialized using an options object that does not match the API schema devServer: {contentBase: ./src, // 告诉服务器从哪里提供内容&#xff0c;默认情况下&#xff0c;它会使用当前工作目录作为根目录c…

【数据结构与算法】递归和逆置

线性数据结构的遍历 let arr [1,2,3,4]// 数组的基本遍历 function traverse(arr) {if (arr null) returnfor (let i 0; i < arr.length; i) {console.log(arr[i])} } traverse(arr)function Node(value) {this.value valuethis.null null }let node1 new Node(1) le…

【Node.js】文件流下载

后端把文件以流的形式发送给前端&#xff0c;前端将流转成一个一个的blob文件&#xff0c;将这些 blob 转成url&#xff0c;将url放到a标签上&#xff0c;用于点击&#xff0c;下载文件&#xff0c;处理大型文件和动态生成的文件。 index.js import express from express imp…

基于java高校社团招新系统设计与实现

摘要 &#xff1a;大学学生社团的不断壮大发展&#xff0c;让对社团的招新管理越来越重要&#xff0c;如何高效的管理社团&#xff0c;促进社团有效的运行和发展变得尤为关键。学生社团在学生的成长发展过程中有着一定的积极作用&#xff0c;要发挥好社团的优势&#xff0c;管…

蚂蚁庄园3.31今日答案春季美食“雷竹笋”之所以得名是因为出笋与打雷有关吗?

蚂蚁庄园是一款爱心公益游戏&#xff0c;用户可以通过喂养小鸡&#xff0c;产生鸡蛋&#xff0c;并通过捐赠鸡蛋参与公益项目。用户每日完成答题就可以领取鸡饲料&#xff0c;使用鸡饲料喂鸡之后&#xff0c;会可以获得鸡蛋&#xff0c;可以通过鸡蛋来进行爱心捐赠。其中&#…

代码随想录算法训练营 DAY 24 | 回溯理论基础 77.组合 + 剪枝优化

回溯理论 回溯法就是递归函数&#xff0c;纯暴力搜索 解决的问题 组合&#xff08;无顺序&#xff09; 1 2 3 4 给出大小为2的所有组合 切割字符串 子集问题 1 2 3 4&#xff0c;子集有1 2 3 4,12,13,14&#xff0c;…123 124… 排列&#xff08;有顺序&#xff09; 棋盘…

谷歌seo怎么找到优化关键词?

要在谷歌SEO中找到那些能让你的网站排名飙升的优化关键词&#xff0c;关键在于深入研究和了解用户&#xff0c;要明确你的受众群体&#xff0c;想想他们可能会搜索什么内容&#xff0c;这能帮你大致确定方向&#xff0c;然后这时候就需要关键词工具帮助你找到真正需要优化的&am…

Pandas操作MultiIndex合并行列的Excel,写入读取以及写入多余行及Index列处理,插入行,修改某个单元格的值,多字段排序

Pandas操作MultiIndex合并行列的excel&#xff0c;写入读取以及写入多余行及Index列处理&#xff0c;多字段排序尽量保持原来的顺序 1. 效果图及问题2. 源码参考 今天是谁写Pandas的 复合索引MultiIndex&#xff0c;写的糊糊涂涂&#xff0c;晕晕乎乎。 是我呀… 记录下&#…

24.WEB渗透测试-BurpSuite关于app抓包

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;23.WEB渗透测试-BurpSuite&#xff08;二&#xff09; 方法一&#xff1a;使用模拟器&am…

kubernetes-networkpolicies网络策略问题

kubernetes-networkpolicies网络策略问题 问题描述 重点重点重点&#xff0c;查看我的博客CKA考题&#xff0c;里面能找到解决方法 1.部署prometheus监控的时候&#xff0c;都部署成功&#xff0c;但是web访问503-504超时 2.添加ingress的时候也是访问不到&#xff0c;其他命…

【大数据】Flink学习笔记

文章目录 认识FlinkDocker安装Flink基本概念Flink的特点Flink 和 Spark Streaming 对比 基本使用WordCount实现依赖 批模式代码流模式代码网络流模式代码在web UI上提交代码创建项目[^1]编写代码配置打包在Web UI上提交 Flink 架构系统架构核心概念并行度算子链(Opeartor Chain…

第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片

人工智能时代&#xff0c;最需要学习的编程语言是&#xff1a;python 。笔者是个 python 小白&#xff0c;昨天花了两个小时&#xff0c;第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor &#xff0c;可以将 ppt 文件中的图片提取出来&#xff0c;并输出到固定…

uniapp开发微信小程序设置分包,简单易学

文章目录 前言一、在 manifest.json文件中的源码试图中配置二、配置pages.json 前言 我们使用uniapp开发微信小程序的时候&#xff0c;当我们的包体积过大的时候&#xff0c;无法真机模拟。 因为小程序单个包只支持2MB&#xff08;现已支持预览4MB&#xff09;&#xff0c;所以…

内网靶机~~dc-2

一、信息收集 1.端口扫描&#xff1a; nmap -sV -p 1-10000 10.1.1.4 2.CMS识别 3.目录扫描&#xff1a; dirsearch http://10.1.1.4/ 4.FLAG1 似乎让我们用cewl生成密码字典&#xff0c;并爆破登录。 cewl -w rewl_passwd.txt http://dc-2/index.php/flag/ 总结&#xff…