程序逻辑控制

news/2025/2/28 12:51:46/

 


文章目录

  • 顺序结构
  • 分支结构
  • 循环结构
  • 输入输出
  • 猜数字

 


一、顺序结构

所谓顺序结构就是程序一步一步的往下执行。

public class 顺序结构 {public static void main(String[] args) {System.out.println("Hello");System.out.println("World");System.out.println("!");}
}

二、分支结构

if语句

语法格式1 :                                                   

if(布尔表达式){
// 语句
}

 

public class 分支结构 {public static void main(String[] args) {int score=85;if(score>=85)System.out.println("excellent");}
}
语法格式2:
if(布尔表达式){
// 语句1
}else{
// 语句2
}

 

public class 分支结构 {public static void main(String[] args) {int score=80;if(score>=85)System.out.println("excellent");else if(score>=70)System.out.println("just so so");}
}
语法格式3:
if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
public class 分支结构 {public static void main(String[] args) {int score=50;if(score>=85)System.out.println("excellent");else if(score>=70)System.out.println("just so so");else System.out.println("bad score");}
}
switch 语句
switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
public class 分支结构 {public static void main(String[] args) {int day = 1;switch(day) {case 1:System.out.println("星期一");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("输入有误");break;}}
}

注意:多个case后的常量值不可以重复

        switch的括号内只能是以下类型的表达式:

                基本类型:byte、char、short、int,注意不能是long类型

                引用类型:String常量串、枚举类型

三、循环结构

while循环

while(循环条件){
循环语句;
}

public class 循环结构{public static void main(String[] args) {int n = 1;int result = 0;while (n <= 100) {result += n;n++;}System.out.println(result);}
}

break

break 的功能是让循环提前结束.

public class 循环结构{public static void main(String[] args) {int num = 100;while (num <= 200) {if (num % 3 == 0) {System.out.println("找到了 3 的倍数, 为:" + num);break;}num++;}}
}

continue

continue 的功能是跳过这次循环, 立即进入下次循环

public class 循环结构{public static void main(String[] args) {int num = 100;while (num <= 200) {if (num % 3 != 0) {num++; // 这里的 ++ 不要忘记! 否则会死循环.continue;}System.out.println("找到了 3 的倍数, 为:" + num);num++;}}
}

for循环

基本语法:

for(表达式①;布尔表达式②;表达式③){
表达式④;
}
表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式2: 循环条件,满则循环继续,否则循环结束
表达式3: 循环变量更新方式

public class 循环结构{public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("sum = " + sum);}
}

do-while循环

基本语法:

do{
循环语句;
}while(循环条件);
 

public class 循环结构{public static void main(String[] args) {int num = 1;do {System.out.println(num);num++;} while (num <= 10);}
}

四、输入输出

输出到控制台
基本格式:
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

 注意:

println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.
从键盘输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner;public class 循环结构{public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入你的姓名:");String name = sc.nextLine();System.out.println("请输入你的年龄:");int age = sc.nextInt();System.out.println("请输入你的工资:");float salary = sc.nextFloat();System.out.println("你的信息如下:");System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);}
}
使用 Scanner 循环读取 N 个数字,并求取其平均值
import java.util.Scanner;public class 循环结构{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int sum = 0;int num = 0;while (sc.hasNextInt()) {int tmp = sc.nextInt();sum += tmp;num++;}System.out.println("sum = " + sum);System.out.println("avg = " + sum / num);sc.close();}
}
注意: 当循环输入多个数据的时候, 使用 ctrl + d来结束输入 .

猜数字

import java.util.Random;
import java.util.Scanner;public class 猜数字{public static void main(String[] args) {Random random = new Random(); // 默认随机种子是系统时间Scanner sc = new Scanner(System.in);int toGuess = random.nextInt(100);
// System.out.println("toGuess: " + toGuess);while (true) {System.out.println("请输入要输入的数字: (1-100)");int num = sc.nextInt();if (num < toGuess) {System.out.println("低了");} else if (num > toGuess) {System.out.println("高了");} else {System.out.println("猜对了");break;}}sc.close();}
}


http://www.ppmy.cn/news/23260.html

相关文章

【深度学习】Stable Diffusion AI 绘画项目搭建详解,并运行案例

文章目录前言1.安装环境1.1 基础环境1.2 权重文件2.牛刀小试2.1 用法在这里3.封装api总结前言 先把人家的git放过来&#xff1a;https://github.com/CompVis/stable-diffusion 40.7k 的stars&#xff0c; flask 和 django 两个web框架也不过如此数量级吧。 就是给一段文字&…

FMC DA子卡设计方案原理图:FMCJ465-2路 16bit 12.6GSPS FMC DA子卡

FMCJ465-2路 16bit 12.6GSPS FMC DA子卡 一、板卡概述&#xff1a; FMCJ465是一款转换速率最高为12.6GSPS 的 DAC 回放板&#xff0c;DAC位数16bit; 板卡基于ADI的AD9172系列DAC设计;板卡支持2路可配置的触发输出/触发输入;DAC的时钟支持内部参考时钟、外部参考时钟、外部…

(考研湖科大教书匠计算机网络)第三章数据链路层-第九节:以太网交换机自学习和转发帧的流程

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;自学习算法流程演示&#xff08;1&#xff09;情况1&#xff08;2&#xff09;情况2&#xff08;3&#xff09;情况3&#xff08;4&#xff09;情况…

Vue2学习笔记

Vue2笔记 Vue 在组件实例上暴露的内置 API 使用 $ 作为前缀。它同时也为内部属性保留 _ 前缀。因此&#xff0c;你应该避免在顶层 data 上使用任何以这些字符作前缀的属性。 Vue 自动为 methods 中的方法绑定了永远指向组件实例的 this。这确保了方法在作为事件监听器或回调函…

计算机网络-网络层

文章目录前言概述IP地址划分分类IP地址IP 地址与硬件地址划分子网和构造超网总结前言 本博客仅做学习笔记&#xff0c;如有侵权&#xff0c;联系后即刻更改 科普&#xff1a; 参考网址 概述 因特网设计理念 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服…

向量的点积与叉积

1. 向量的点积 点积是指两个维度相同的向量相乘&#xff0c;结果是对应坐标配对的乘积之和: eg: [12]∙[12]11237\left[\begin{array}{l} 1 \\ 2 \end{array}\right] \bullet\left[\begin{array}{l} 1 \\ 2 \end{array}\right]1 \times 12 \times 37[12​]∙[12​]11237 留意…

跨域小样本系列1:简介篇

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 跨域小样本系列1&#xff1a;简介√ 跨域小样本系列2&#xff1a;常用数据集与任务设定详解 跨域小样本系列3&#xff1a;元学习方法解决CDFSL以及两篇SOTA论文讲解 跨域小样本系列4&#xff1a;finetune方…

【C++: list的模拟实现】

目录 1 list的简单回顾 2 类中成员变量的声明 3 __list_iterator 中运算符重载 4 list中的迭代器 5 list中增删查改以及clear 6 const迭代器 6.1 __list_iterator的重新实现 6.2 list类的巧妙修改 7 构造函数&&拷贝构造&&赋值运算符重载 8 反向迭代器…