【JavaSE】Java基础语法(四)

news2025/2/24 9:03:43

文章目录

  • 🍼1. 循环细节
    • 🥢1.1 循环语句-dowhile循环
    • 🥢1.2 三种循环的区别
    • 🥢1.3 跳转控制语句
  • 🍼2. Random
    • 🥢2.1 Random产生随机数
    • 🥢2.2 Random练习-猜数字


在这里插入图片描述


🍼1. 循环细节

🥢1.1 循环语句-dowhile循环


完整格式

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

执行流程

🍁① 执行初始化语句

🍁② 执行循环体语句

🍁③ 执行条件控制语句

🍁④ 执行条件判断语句,看其结果是true还是false

	如果是false,循环结束
	
	如果是true,继续执行

🍁⑤ 回到②继续


示例代码

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

🥢1.2 三种循环的区别

  • 🍁三种循环的区别
    • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
    • do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后
      判断)
  • 🍁for循环和while的区别
    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不
      能再次被访问到了
    • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结
      束后,该变量还可以继续使用
  • 🍁死循环(无限循环)的三种格式
1. for(;;){}
2. while(true){}
3. do {} while(true);

🥢1.3 跳转控制语句

  • 跳转控制语句(break)
    • 跳出循环,结束循环
  • 跳转控制语句(continue)
    • 跳过本次循环,继续下次循环
  • 注意: continue只能在循环中进行使用!

🍼2. Random

🥢2.1 Random产生随机数

概述

  • Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
    • API后续课程详细讲解,现在可以简单理解为Java已经写好的代码

示例代码

import java.util.Random;
/*
   Random : 产生随机数
   1. 导包 : import java.util.Random;
   导包的动作必须出现在类定义的上面
   2. 创建对象 : Random r = new Random();
   上面这个格式里面,r 是变量名,可以变,其他的都不允许变
   3. 获取随机数 : int number = r.nextInt(10); //获取数据的范围:[0,10) 包括0,
   不包括10
   上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许
   变
   需求: 产生随机数1-10之间的
*/
public static void main(String[] args){
   // 2. 创建对象
   Random r = new Random();
   for(int i = 1; i <= 10; i++){
   	// 3. 获取随机数
   	int num = r.nextInt(10) + 1; // 1-10
   	System.out.println(num);
   }
}

🥢2.2 Random练习-猜数字

需求

程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?

当猜错的时候根据不同情况给出相应的提示

🍁A. 如果猜的数字比真实数字大,提示你猜的数据大了

🍁B. 如果猜的数字比真实数字小,提示你猜的数据小了

🍁C. 如果猜的数字与真实数字相等,提示恭喜你猜中了

示例代码:

需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
🍸1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
🍸2. 使用Random产生一个1-100之间的数, 作为要猜的数
🍸3. 键盘录入用户猜的的数据
🍸4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
🍸5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环
包裹
🍸6. 猜对之后, break结束.
import java.util.Scanner;
import java.util.Random;
public class Test {
	public static void main(String[] args){
		// 1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		// 2. 使用Random产生一个1-100之间的数, 作为要猜的数
		int randomNum = r.nextInt(100) + 1;
		// 5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死
		循环包裹
		while(true){
			// 3. 键盘录入用户猜的的数据
			System.out.println("请输入您猜的数据:");
			int num = sc.nextInt();
			// 4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
			if(num > randomNum){
				System.out.println("猜大了");
			}else if(num < randomNum){
				System.out.println("猜小了");
			}else{
				// 6. 猜对之后, break结束.
				System.out.println("恭喜,猜中了");
				break;
			}
		}
		System.out.println("感谢您的使用");
	}
}

在这里插入图片描述

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

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

相关文章

[资料分享]基于单片机防酒驾酒精检测报警系统装置设计、基于数字电路演讲计时protues仿真设计

基于单片机防酒驾酒精检测报警系统装置设计 一、说明 通过MQ3传感器检测酒精浓度&#xff0c;信号由ADCO832进行处理模数转化再到单片机进行处理&#xff0c;当检测到浓度超过“酒驾”报警值时&#xff0c;红灯亮起&#xff0c;当检测到浓度超过“醉驾”报警值时&#xff0c;…

网关网卡配置

Vmvare虚拟机设置外网IP 查看当前主机的网卡名/当前IP/子网掩码&#xff0c;网关地址 ifconfig route -n 查看DNS nslookup hcos 网卡名称为enp0s3&#xff0c;IP地址为10.0.2.15&#xff0c;子网掩码为255.255.255.0&#xff0c;网关为10.0.2.2&#xff1b; Centos设置IP/网…

【Java编程系列】gateway限流实践时发生的问题和解决方案

前期回顾&#xff1a; 【Java编程系列】Springcloud-gateway自带限流方案实践篇 1、实践中发生的问题 主要有以下几个问题&#xff1a; 1、限流返回的响应数据无法自定义 (LogFormatUtils.java:91) - [7b93af46-20] Completed 429 TOO_MANY_REQUESTS 返回后显示的情况如下&a…

C++第二章:变量和基本内置类型

变量和基本内置类型 一、基本内置类型1.1 算数类型1.2 带符号类型和无符号类型1.3 类型转换含有无符号类型的表达式 1.4 字面值常量整形和浮点型字面值字符和字符串字面值转义序列指定字面值的类型 二、变量2.1 变量的定义初始化列表初始化默认初始化 2.2 变量声明和定义的关系…

【web-ctf】ctf_BUUCTF_web(2)

文章目录 BUUCTF_webSQL注入1. [RCTF2015]EasySQL2. [CISCN2019 华北赛区 Day1 Web5]CyberPunk3. [CISCN2019 总决赛 Day2 Web1]Easyweb4. [GYCTF2020]Ezsqli5. [网鼎杯 2018]Comment 文件上传漏洞1. [WUSTCTF2020]CV Maker2. [NPUCTF2020]ezinclude3. [SUCTF 2019]EasyWeb 文件…

TADK 23.03 release note

主要功能概述&#xff1a; 基于深度学习的应用分类&#xff1a;在原有的基于机器学习的应用分类(AppID)能力基础上&#xff0c;扩展出新的深度学习参考模型和推理引擎。FFEL的raw byte特征提取&#xff1a;增加了流特征提取库(FFEL)对数据包中的raw byte特征提取能力&#xff0…

Meta AI 重磅推出LIMA!媲美GPT-4、无需RLHF就能对齐!

深度学习自然语言处理 原创作者&#xff1a;鸽鸽 昨天Meta AICMU这篇文章一出&#xff0c;twitter都炸了&#xff01; LIMA&#xff0c;只使用1000个精心挑选的样本微调一个 65B LLaMa&#xff0c;无需RLHF&#xff0c;性能媲美甚至优于GPT-4&#xff01; 论文&#xff1a;LIMA…

游戏洞察丨自来水还是井水,后流量时代的私域挑战

流量生意本质上是买卖用户浏览时间的生意&#xff0c;如果用户增长到顶&#xff0c;那就意味着供给到顶。对比 2021 年&#xff0c;2022 年的游戏出海在谷歌和 Facebook 上投入的广告成本几乎翻了一倍。新晋“渠道王者”TikTok 逐渐走进大家的视野。该现象背后的原因在于&#…

解决幂等问题,只需要记住这个口诀!

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 417 篇原创分享 作者 l Hollis 来源 l Hollis&#xff08;ID&#xff1a;hollischuang&#xff09; 作为开发人员&#xff0c;我们每天都要开发大量的接口&#xff0c;其中包括了读接口和写接口&#xff0c;而对于写接…

将矩阵按指定对角线转化为一个上三角矩阵numpy.triu()方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将矩阵按指定对角线转化为一个上三角矩阵 numpy.triu() 选择题 关于以下代码说法错误的一项是? import numpy as np a np.array([[1,2],[3,4]]) print("【显示】a\n",a) print(&…

应用程序和 API 攻击呈上升趋势

Akamai Technologies 发布了一份新的互联网现状报告&#xff0c;标题为“突破安全漏洞&#xff1a;针对组织的应用程序和 API 攻击的兴起”。 报告显示&#xff0c;亚太地区和日本&#xff08;APJ&#xff09;的金融服务业仍然是该地区受攻击最严重的行业&#xff0c;Web 应用…

大模型推理性能优化之KV Cache解读

0. 引言 做大模型性能优化的一定对KV Cache不陌生&#xff0c;那么我们对这个技术了解到什么程度呢&#xff1f;请尝试回答如下问题&#xff1a; KV Cache节省了Self-Attention层中哪部分的计算&#xff1f;KV Cache对MLP层的计算量有影响吗&#xff1f;KV Cache对block间的数据…

知识点滴 - 什么是膳食结构

膳食结构是指膳食中各类食物的数量及其在膳食中所占的比重&#xff0c;由于影响膳食结构的这些因素是在逐渐变化的&#xff0c;所以膳食结构不是一成不变的&#xff0c;人们可以通过均衡调节各类食物所占的比重&#xff0c;充分利用食品中的各种营养&#xff0c;达到膳食平衡&a…

适配器模式:代码接口的神奇转换

一、概要 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户端所期望的另一个接口&#xff0c;使得原本由于接⼝不兼容⽽不能⼀起⼯作的那些类可以⼀起⼯作。通俗来讲&#xff0c;就是通过适配器来连接两个不…

Js 如何实现一个类似 chatGPT 打字机效果

在使用chatGPT的时候,会有一个打字机的效果,以下是分别使用原生Js和Vue实现 原生 JS 实现 如下是示例代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Printer 打字机效果</title><style>* {margin: 0;bor…

记录--使用率比较低的10个Web API

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 avaScript中有些API可能使用率比较低&#xff0c;下面我们逐一介绍它们的用法和使用场景。 至于标题&#xff0c;主要是想让你进来看看&#xff0c;兄弟们别打我&#xff01; Blob API Blob API 用于处…

电脑技巧:CopyQ剪切板增强工具介绍(附下载)

目录 1、软件简介 2、主要功能介绍 3、使用说明 4、总结 今天给大家再分享一款剪切板增强工具——CopyQ&#xff0c;感兴趣的朋友可以下载试一试&#xff01; 1、软件简介 CopyQ 是一款开源的、跨平台剪贴板管理工具&#xff0c;支持 Windows、macOS、Linux&#xff0c;可…

项目中遇到的一些问题总结(十)

nacos保护阈值 Nacos 中的保护阈值&#xff08;Protection Threshold&#xff09;是用来保护服务实例的一种机制。当某个服务实例出现故障或异常时&#xff0c;服务注册中心 Nacos 会通过心跳检测等方式将其从服务列表中移除&#xff0c;以避免客户端继续向其发送请求。但是&a…

在Linux中为Simulink添加ROS自定义消息类型

在Linux中为Simulink添加ROS自定义消息类型 基于Matlab/Simulink的ROS自定义消息类型的添加方法 ROS与Simulink联合仿真(三):自定义Message 1、下载 ROS Toolbox Interface for ROS Custom Messages 将 roscustommsg.mlpkginstall 文件放入 MATLAB 工作空间 双击 roscustommsg…

Nature -- 人类首个 “泛基因组”旨在编目人类遗传多样性

在人类基因组项目发布第一个人类基因组草图的20多年后,研究人员发布了人类“泛基因组”草图——这预示着一种新的参考基因组的出现,它能捕获到更多的人类遗传多样性信息。 泛基因组变异图由两个元素组成:序列图&#xff0c;其ode表示定向DNA链&#xff0c;双向边表示连通性关系…