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,一经查实,立即删除!

相关文章

(学习日记)2023.04.30

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

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

点击跳转专栏>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…

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…

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​ 表示能量从物…

Java反射 -- 详细介绍 (框架核心)

反射 是 Java框架 的核心 &#xff0c;无论是Tomcat、SpringMVC、Spring IOC、Spring AOP、动态代理 &#xff0c;都使用到了 反射 反射的作用简单讲就是 无需 new 对象&#xff0c;就可以动态获取到一个类的全部信息&#xff0c;包括 属性、方法&#xff0c;构造器&#xff0…

边写代码边学习之全连接Dense

1. 全连接原理 全连接神经网络&#xff08;Fully Connected Neural Network&#xff09;是一种最基本的神经网络结构&#xff0c;也被称为多层感知器&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;。其原理是模拟人脑神经元之间的连接方式&#xff0c;通过多个…

pytorch学习——多层感知机

一.感知机 感知机——神经网络基本单元&#xff0c;最简单的深度网络称为多层感知机。多层感知机由多层神经元组成&#xff0c;每一层与它上一层相连&#xff0c;从中接收输入&#xff0c; 同时每一层也与它的下一层相连&#xff0c;影响当前层的神经元。 解释&#xff1a;如果…

生态系统景观指数-聚集度指数AI计算

景观指数是景观生态学的常见指标&#xff0c;可用于不同生态系统的特征识别。景观指数是反映景观结构与空间格局的定量指标&#xff0c;目前已成为景观生态学领域常用的分析景观格局、度量空间异质性的重要方法。不同水平下的指数结果往往代表不同含义&#xff0c;应在把握指数…

决策树学习

决策树学习 决策树决策树基础适用决策树学习的经典目标问题样本的表示训练样本决策树的概念发展历史 经典决策树算法ID3算法属性选择和节点混杂度&#xff08;Impurity&#xff09;ID3 Q1: 哪个属性是最佳属性&#xff1f;当前最佳属性节点选择熵&#xff08;Entropy&#xff0…

如何高效实现文件传输:小文件采用零拷贝、大文件采用异步io+直接io

一般会如何实现文件传输&#xff1f; 服务器提供文件传输功能&#xff0c;需要将磁盘上的文件读取出来&#xff0c;通过网络协议发送到客户端。如果需要你自己编码实现这个文件传输功能&#xff0c;你会怎么实现呢&#xff1f; 通常&#xff0c;你会选择最直接的方法&#xf…