Java-逻辑控制

目录

一、顺序结构

二、分支结构

        1.if语句

          2.swich语句

三、循环结构

        1.while循环

        2.break

        3.continue

        4.for循环

        5.do while循环

四、输入输出

        1.输出到控制台

        2.从键盘输入


一、顺序结构

        按照代码的书写结构一行一行执行。

        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");

      

         调整代码顺序

        System.out.println("bbb");
        System.out.println("ccc");

        System.out.println("aaa");

 

 

二、分支结构

        1.if语句

        if(布尔表达式){

        //语句

        }

        如果布尔表达式结果为true,执行if中的语句,否则不执行。

        int gor=100;if(gor>90) {System.out.println(gor);}

         if(布尔表达式){

                //语句1

          }else{

                //语句2

          }

        如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。

        int a = 92;
        if(a >= 90){
        System.out.println("足够大");
        }else{
        System.out.println("太小");

        

         if(布尔表达式){

                       //语句1

        }else if(布尔表达式){

                        //语句2

        }else{

                        //语句3

        }

        int a = 92;if(a >= 90){System.out.println("优秀");}else if(a>=60){System.out.println("良");}else{System.out.println("不及格");}

      

          2.swich语句

           switch(表达式){
                case 常量值1:{
                                语句1;
                                break;
                                }
                case 常量值2:{
                                语句2;
                                break;
                                }

                ...

                default:{
                     内容都不满足时执行语句;
                     break;
                     }

               }

执行顺序:先计算表达式的值,之后和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束,当表达式的值没有与所列项匹配时,执行default。
 

int day=2;
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常量串、枚举类型。
        break不能遗漏,否则就会失去多分支效果。

        int day = 1;
        switch(day) {
        case 1:
        System.out.println("星期一");
        // break;
        case 2:
        System.out.println("星期二");
        break;

        }

      switch不能表达复杂条件,其虽可以嵌套但不推荐。

三、循环结构

        1.while循环

        while(循环条件){

                循环语句;

        }

        循环条件为true时, 则执行循环语句, 否则结束循环。
示例 打印1-20的数字

        int num = 1;
        while (num <= 20) {
        System.out.println(num);
        num++;
        }

         注意:当while的循环语句只有一条时,while 下面的语句可以不写 { },建议还是加上 { }。

        2.break

        break 是让循环提前结束。
        示例:找100-200中第一个3的倍数

        int num = 100;
        while (num <= 200) {
           if (num % 3 == 0) {
                  System.out.println("找到了 3 的倍数, 为:" + num);
                   break;
            }

            num++;

        }

        3.continue

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

        示例找到100-200中所有三的倍数

        int num = 100;
        while (num <= 200) {
                if (num % 3 != 0) {
                num++;
                continue;
                }

                System.out.println("找到了 3 的倍数, 为:" + num);
                num++;
         }

 

        4.for循环

        for(表达式1;表达式2;表达式3){

                表达式4;

}

        表达式1:用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次,表达式2循环条件,满则循环继续,否则循环结束,表达式3 循环变量更新方式。

示例 打印1-100的和

int sum = 0;
for (int i = 1; i <= 100; i++) {sum += i;
} 
System.out.println("sum = " + sum);

 

        5.do while循环

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

        先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束

示例 打印1-10

        int num = 1;
        do {
           System.out.println(num);
           num++;
         } while (num <= 10);

         注意:do while 循环最后的分号不要忘记。

四、输入输出

        1.输出到控制台

System.out.println(msg);// 输出一个字符串, 带换行
System.out.print(msg);//输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出,printf 的格式化输出方式和 C 语言的 printf 是基本一致的

        示例

        System.out.println("hello world");
        int x=10;

        System.out.printf("x=%d\n",x);

 格式化字符串

转换符类型举例结果
d十进制整数(“%d”,100)100
x十六进制整数(“%x”,100)64
o八进制整数(“%o”,100)144
f定点浮点数(“%f”,100f)100.000000
e指数浮点数(“%e”,100f)1.000000e+02
g通用浮点数(“%g”,100f)100.000
a十六进制浮点数(“%a”,100)0x1.9p6
s字符串(“%s”,100)100
c字符(“%c”,'1')1
b布尔值(“%b”,100)true
h散列码(“%h”,100)64
%百分号(“%.2f%%”,2/7f)0.29%

        2.从键盘输入

        使用 Scanner 读取字符串/整数/浮点数

 

import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();//输入字符串,也可以用next,但若字符串中有空格,使用next则只打印空格前的的字符串

System.out.println(name);

Scanner sc=new Scanner(System.in);
String name = sc.next();
System.out.println(name);

Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int age = sc.nextInt();

System.out.println(age);

 

        Scanner sc=new Scanner(System.in);

        System.out.println("请输入工资");

        float salary =sc.nextFloat();

        System.out.println(salary);

 

import java.util.Scanner; // 需要导入 util 包
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);
sc.close(); // 注意, 要记得调用关闭方法
 

 循环输入n个整数并求和读取平均值

Scanner sc = new Scanner(System.in);
int sum = 0;
int num = 0;

//判断是否有整数
while (sc.hasNextInt()) {
int tmp = sc.nextInt();
sum += tmp;
num++;
} S
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();

注意:当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z(cmd),ctrl(IDEA), Linux / Mac 上使用 ctrl+ d)。

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

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

相关文章

el-date-picker时间范围只能选五分钟之内

el-date-picker时间范围只能选五分钟之内 一、主要代码 一、主要代码 <el-date-pickertype"datetime"size"small"value-format"yyyy-MM-dd HH:mm:ss"v-model"searchData.submitTimeCode":editable"false"placeholder&qu…

(学习日记)2023.04.30

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Mysql-多表查询

目录 多表关系 多表查询 多表查询分类 内连接 外连接 自连接 多表关系 分为一下几种关系&#xff1a; 一对多&#xff08;多对一&#xff09; 案例: 部门 与 员工的关系实现: 在多的一方建立外键&#xff0c;指向一的一方的主键多对多 案例: 学生 与 课程的关系实现: 建…

蓝桥杯专题-真题版含答案-【加法变乘法】【三羊献瑞】【交换瓶子】【卡片换位】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Sharding-JDBC强制路由案例实战

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

【NLP】图解变压器(transformer)

一、说明 在这篇文章中&#xff0c;我们将看看 The Transformer——一个利用注意力来提高这些模型训练速度的模型。转换器在特定任务中优于谷歌神经机器翻译模型。然而&#xff0c;最大的好处来自变压器如何适应并行化。事实上&#xff0c;谷歌云建议使用The Transformer作为参…

1 第一个vue程序

复习次数 &#xff1a;✔ 1.1 vue优势 1.2 vue环境 直接在idea的插件搜vue.js&#xff0c;然后下载。 接着创建一个空项目&#xff0c;并添加模块。然后&#xff0c;创建一个html文件。 1.3 vue例子 完整的html代码如下&#xff1a; <!DOCTYPE html> <html lang&qu…

【VUE】npm打包报错 Syntax Error: Error: Cannot find module ‘imagemin-gifsicle‘

一. Syntax Error: Error: Cannot find module ‘imagemin-gifsicle’ npm run build 报错&#xff0c;报错如下 原因 这个错误消息显示缺少了 imagemin-gifsicle 模块&#xff0c;而它是 image-webpack-loader 的依赖项&#xff0c;导致构建失败。解决 &#xff08;1&#xf…

MyBatis学习笔记之缓存

文章目录 一级缓存一级缓存失效 二级缓存二级缓存失效二级缓存相关配置 MyBatis集成EhCache 缓存&#xff1a;cache 缓存的作用&#xff1a;通过减少IO的方式&#xff0c;来提高程序的执行效率 mybatis的缓存&#xff1a;将select语句的查询结果放到缓存&#xff08;内存&…

睡眠健康数据分析

项目背景 背景描述 本数据集涵盖了与睡眠和日常习惯有关的诸多变量。如性别、年龄、职业、睡眠时间、睡眠质量、身体活动水平、压力水平、BMI类别、血压、心率、每日步数、以及是否有睡眠障碍等细节。 数据集的主要特征&#xff1a; 综合睡眠指标&#xff1a; 探索睡眠持续时…

重庆市北斗新型智慧城市政府项目

技术栈&#xff1a;使用vue2JavaScriptElementUIvuexaxiosmapboxcesium 项目描述&#xff1a;重庆市北斗新型智慧城市政府项目是基于千寻孪界开发的一款智慧城市项目&#xff0c;包含车辆实时位置定位&#xff0c;智能设备的报警&#xff0c;基础设施的部设等等功能 工作内容&a…

WebSocketServer的使用(@ServerEndpoint)

前端代码 function initWebSocket() {if (typeof WebSocket "undefined") {console.log("您的浏览器不支持WebSocket");} else {console.log("您的浏览器支持WebSocket");//实现化WebSocket对象&#xff0c;指定要连接的服务器地址与端口 建立连…

React的hooks---自定义hooks

通过自定义 Hook&#xff0c;可以将组件逻辑提取到可重用的函数中&#xff0c;在 Hook 特性之前&#xff0c;React 中有两种流行的方式来共享组件之间的状态逻辑&#xff1a;render props和高阶组件&#xff0c;但此类解决方案会导致组件树的层级冗余等问题。而自定义 Hook 的使…

【LeetCode】75.颜色分类

题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况…

Flink状态的理解

Flink是一个带状态的数据处理系统&#xff1b;系统在处理数据的过程中&#xff0c;各算子所记录的状态会随着数据的处理而不断变化&#xff1b; 1. 状态 所谓状态State&#xff0c;一般指一个具体的 Task 的状态&#xff0c;即线程处理过程中需要保存的历史数据或历史累计数据…

数据结构【排序】

第七章 排序 一、排序 1.定义&#xff1a;将无序的数排好序 &#xff1b; 2.稳定性&#xff1a; Kᵢ和Kⱼ中&#xff0c;Kᵢ优先于Kⱼ那么在排序后的记录中仍然保持Kᵢ优先&#xff1b; 3.评价标准&#xff1a;执行时间和所需的辅助空间&#xff0c;其次是算法的稳定性&#xf…

[算法很美打卡] 多维数组篇 (打卡第一天)

文章目录 顺时针打印二维数组0所在的行列清零 顺时针打印二维数组 package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test1 {public static void main(String[] args) {int[][] matrix {{1,2},{5,6},{9,10},{13,14},};print(matrix);}static void print(i…

62 | Python 操作 PDF

文章目录 Python 操作 PDF 教程1. 安装 PyPDF22. 读取 PDF 文件3. 创建 PDF 文件4. 修改 PDF 文件练习题1. 创建一个新的 PDF 文件,其中包含两个页面。第一个页面包含一段文本和一张图片,第二个页面包含一个表格。2. 打开练习题中创建的 PDF 文件,并将第一个页面中的文本修改…

LangChain Agents深入剖析及源码解密上(一)

LangChain Agents深入剖析及源码解密上(一) LangChain Agents深入剖析及源码解密上 Agent工作原理详解 本节会结合AutoGPT的案例,讲解LangChain代理(Agent)为核心的内容。我们前面已经谈了代理本身的很多内容,也看了绝大部分的源代码,例如:ReAct的源代码,还有mrkl的源代…

P3183 [HAOI2016] 食物链

题目描述 如图所示为某生态系统的食物网示意图&#xff0c;据图回答第 1 小题 现在给你 n 个物种和 m 条能量流动关系&#xff0c;求其中的食物链条数。物种的名称为从 1 到 n 编号 M 条能量流动关系形如 1,2,3​,…,am−1​,bm−1​,am​,bm​。其中 ai​ 和 bi​ 表示能量从物…