Java(三)---逻辑控制

文章目录

  • 前言
  • 1.逻辑控制语句的分类
  • 1.顺序结构
  • 2.分支结构
    • 2.1.if结构
      • 2.1.1.if...else语句
      • 2.2.2.if ... else if... else语句
    • 2.2.switch语句
  • 3.循环结构
    • 3.1.while
    • 3.2.break
    • 3.3.continue
    • 3.4.for循环
    • 3.5.do while循环
  • 4.输入输出
    • 4.1.输入到控制台
    • 4.2.从键盘输入


前言

前两篇文章,我们初步了解了Java语言,今天我们写一篇关于逻辑控制的文章


1.逻辑控制语句的分类

  • 1.顺序结构
  • 2.分支结构
  • 3.循环结构

1.顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行执行。

 public static void main(String[] args) {
        //1.顺序结构
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
    }

2.分支结构

2.1.if结构

语法结构:

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

 public static void main(String[] args) {
        //1.if(布尔表达式)
        int score=90;
        if(score>=90){
            System.out.println("Your score is great");
        }
    }

注意:判断条件一定是布尔表达式,不能是if(1)…,

		if(1){
            System.out.println("Your score is great");
        }

在这里插入图片描述

2.1.1.if…else语句

语法:
if(布尔表达式){
语句1
}else{
语句2
}

判断一个数是奇数还是偶数

		int n=2;
        if(n%2==1){
            System.out.println("n is an odd number");
        }else{
            System.out.println("n is an even number");
        }

2.2.2.if … else if… else语句

判断一个学生成绩(A,B,C,D,E)

 public static void main(String[] args) {
        int score=88;
        if(score >= 90){
            System.out.println("A");
        }else if(score < 90&&score >= 80){
            System.out.println("B");
        } else if (score >= 70 && score < 80) {
            System.out.println("C");
        } else if (score >= 60 && score < 70) {
            System.out.println("D");
        }else {
            System.out.println("E");
        }
    }

注意:悬垂 else 问题

 		int x = 10;
        int y = 10;
        if (x == 10)
            if (y == 10)
                System.out.println("aaa");
            else
                System.out.println("bbb");
        

建议:不要这样写,最好加上大括号。

2.2.switch语句

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

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

		int a=10;
        switch (a)
        {
            //case之后必须是常量值
            case 10:
                System.out.println("a == 10");
                break;
            default:
                System.out.println("a!=10");
        }

判断是星期几

byte day=5;
        switch (day)
        {
            case 1:
                System.out.println("星期二");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
            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;

        }

注意:1.switch的括号内只能是以下类型的表达式
基本类型:byte、char、short、int,注意不能是long类型
引用类型:String常量串、枚举类型
2.switch不要使用嵌套

public static void main(String[] args) {
        int x = 1;
        int y = 1;
        switch(x) {
            case 1:
                switch (y) {
                    case 1:
                        System.out.println("hehe");
                        break;
                    case 2:
                        System.out.println("haha");
                        break;
                }
        }
    }

3.循环结构

3.1.while

语法:
while(布尔表达式){
语句1;
}

计算1—100的和

public static void main(String[] args) {
        //1.计算1--100的和
        int n=1;
        int ret=0;
        while (n<=100){
            ret+=n;
            n++;
        }
        System.out.println(ret);
    }

计算5的阶乘

		int n=1;
        int ret=1;
        while (n<=5){
            ret*=n;
            n++;
        }
        System.out.println(ret);

计算1!+2!+3!+4!+5!的和

		//计算1!+2!+3!+4!+5!的和
        int n=1;
        int sum=0;
        //外部负责相加
        while(n<=5){
            int tmp=1;
            int ret=1;
            //里面负责阶乘
            while (tmp<=n){
                ret*=tmp;
                tmp++;
            }
            sum+=ret;
            n++;
        }
        System.out.println(sum);

3.2.break

找到 100 - 200 中第一个 3 的倍数
break 的功能是让循环提前结束.

        //找到 100 - 200 中第一个 3 的倍数
        int n=100;
        while (n<=200){
            if(n%3==0){
                System.out.println(n);
                break;
            }
            n++;
        }
    }

3.3.continue

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

 public static void main(String[] args) {
        //continue 的功能是跳过这次循环, 立即进入下次循环
        int i=1;
        while(i<=10){
            if(i==7) {
               continue;
            }
            //当i==7时,下面的代码就不执行了,进行到了死循环
            System.out.println(i);
            i++;
        }
    }
    求出 1-100之间 所有既能被3  也能被5 整除的数字
     要使用break 或者continue 做
public static void main(String[] args) {
        //求出 1-100之间 所有既能被3  也能被5 整除的数字
        // 要使用break 或者continue 做
        int i=0;
        while (i<=100){
            if(i%15!=0){
                i++;
                continue;
            }
            System.out.println(i+" ");
            i++;
        }
    }

3.4.for循环

语法:

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

计算5的阶乘

 public static void main(String[] args) {
        int ret=1;
        for (int i=1;i<=5;i++){
            ret*=i;
        }
        System.out.println(ret);
    }

计算1!+2!+3!+4!+5!的和

		int sum=0;
        for(int i=1;i<=5;i++){
            int tmp=1;
            for (int j = 1; j <= i; j++) {
                tmp*=j;
            }
            sum+=tmp;
        }
        System.out.println(sum);

3.5.do while循环

语法:

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

打印1—10

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

4.输入输出

4.1.输入到控制台

语法:System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

4.2.从键盘输入

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EfficientNet网络结构详细解读+SE注意力机制+pytorch框架复现

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ 网络详细结构1.1 &#x1f393; MBConv结构1.2 ✨SE注意力机制模块1.3 ⭐️Depthwise Separable Convolution深度可分离卷积1.3.1 普通卷积操作(Convolution)1.3.2 逐深度卷积&#xff08;Depthwise Convoluti…

安全测试|常见SQL注入攻击方式、影响及预防

SQL注入 什么是SQL注入&#xff1f; SQL注入是比较常见的网络攻击方式之一&#xff0c;主要攻击对象是数据库&#xff0c;针对程序员编写时的疏忽&#xff0c;通过SQL语句&#xff0c;实现无账号登录&#xff0c;篡改数据库。 SQL注入简单来说就是通过在表单中填写包含SQL关键…

论文笔记:仅一个进程故障就无法达成共识

仅一个进程故障就无法达成共识 仅一个进程故障指的是在异步的分布式系统中 摘要 异步系统的共识问题&#xff08;consensus&#xff09;涉及一组进程&#xff0c;其中有的进程可能不可靠&#xff08;unreliable&#xff09;。共识问题要求可靠的进程一致地从两个侯选中决定&…

制造业如何挖掘数据价值,附数据分析处理软件推荐

制造业如何挖掘和利用数据价值&#xff1f; 在信息化、智能化高速发展的今天&#xff0c;制造业正迎来一场由数据驱动的深刻变革。数据&#xff0c;作为这场变革的核心驱动力&#xff0c;正被制造业企业深度挖掘和利用&#xff0c;以实现更高效、更智能的生产模式。 制造业在利…

【IP证书】公网IP地址SSL证书怎么获取和安装

一、获取SSL证书 1、选择支持IP证书的CA&#xff1a; 选择一个支持为IP地址颁发SSL证书的证书颁发机构&#xff0c;如JoySSL。 2、准备验证信息&#xff1a; 确保您的公网IP地址是可访问的&#xff0c;并准备好相关的组织信息或IP地址所有权证明&#xff0c;具体取决于CA的…

Goby 漏洞发布|瑞友天翼应用虚拟化系统 /hmrao.php SQL注入漏洞

漏洞名称&#xff1a;瑞友天翼应用虚拟化系统 /hmrao.php SQL注入漏洞 English Name&#xff1a; Ruiyou-Tianyi-App-Virtualization-Delivery-Platform /hmrao.php SQL Injection Vulnerability CVSS core: 9.8 影响资产数&#xff1a;75202 漏洞描述&#xff1a; 瑞友天…

揭秘 HTTP 代理:增强在线活动的安全性和匿名性

HTTP 代理在保护您的在线隐私、增强安全性以及允许访问受限内容方面发挥着关键作用。了解 HTTP 代理的工作原理以及如何有效地利用它们可以让您掌控自己的在线状态和浏览体验。让我们深入研究 HTTP 代理的世界&#xff0c;探索它们的优势、应用程序以及最大化其效用的最佳实践。…

基于SSM SpringBoot vue学校办公自动化系统

基于SSM SpringBoot vue学校办公自动化系统 系统功能 登录注册 个人中心 用户信息管理 部门信息管理 公共通知管理 个人邮箱管理 日常安排管理 管理员管理 签到记录管理 会议管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: SSM(Spring SpringMVC Mybaits)或Spr…

1Panel应用推荐:Uptime Kuma

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…

【电路笔记】-无源带通滤波器

无源带通滤波器 文章目录 无源带通滤波器1、概述2、二阶带通滤波器的频率响应3、带通滤波器示例4、总结无源带通滤波器可以通过将低通滤波器与高通滤波器连接在一起制成。 1、概述 无源带通滤波器可用于隔离或滤除特定频带或频率范围内的某些频率。 简单 RC 无源滤波器中的截止…

ollama api只能局域网访问,该怎么破?

安装ollama: ollama离线安装,在CPU运行它所支持的那些量化的模型-CSDN博客文章浏览阅读178次,点赞2次,收藏6次。ollama离线安装,在CPU运行它所支持的哪些量化的模型 总共需要修改两个点,第一:Ollama下载地址;第二:Ollama安装包存放目录。第二处修改,修改ollama安装目…

vivado Kintex UltraScale+ 配置存储器器件

Kintex UltraScale 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Kintex UltraScale 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 &#xff0c; 并支持通过 Vivado 软件对其中所列非易失性存…

如何挑选护眼灯?分享最好的台灯品牌排行榜

作为家长&#xff0c;孩子的健康无疑是我们最为牵挂的事项。然而&#xff0c;通过研究数据显示&#xff0c;我国青少年儿童的近视率高达52.7%&#xff0c;这意味着在每十名儿童中&#xff0c;就有超过半数的孩子可能面临视力问题。这一数据无疑令人警觉。当我们看到孩子们在写作…

【刷题】一篇文章搞定“位运算”

只要春天不死&#xff0c;就有迎春的花朵年年岁岁开放&#xff0c;生命讲涅槃&#xff0c;生生不息&#xff0c;并会以另一种形式永存。 – 路遥 《平凡的世界》 (◦′ᆺ‵◦) ♬ ✧❥✧.•✧♡✧ ℒℴѵℯ ✧♡✧•.❥ (◦′ᆺ‵◦) ♬ ✧❥✧.•✧♡✧ ℒℴѵℯ ✧♡✧•.❥…

变分自编码器(Variational Autoencoder, VAE)

目录 why VAE&#xff1a; 关于变分自编码器&#xff0c;这篇文章讲的不错 1. 自编码器&#xff08;Autoencoder&#xff09;的基础 2. 引入概率图模型 3. 重参数化技巧 4. 损失函数 5. 应用 变分自编码器&#xff08;Variational Autoencoder, VAE&#xff09; why VAE…

opencv车道偏离系统-代码+原理-人工智能-自动驾驶

车道偏离预警系统&#xff08;Lane Departure Warning System, LDWS&#xff09;是一种主动安全技术&#xff0c;旨在帮助驾驶员避免因无意中偏离车道而引发的事故。从原理到实战应用&#xff0c;其工作流程大致如下&#xff1a; 传感器采集 &#xff1a;系统通常配备有一个或…

探索未知:风靡硅谷开发者的 Unstructured Data Meetup 即将登陆中国

“最硅谷”的 Unstructured Data Meetup 即将来袭&#xff01; 众所周知&#xff0c;AI 三要素包括&#xff1a;算力、算法和数据。数据的价值愈发凸显&#xff0c;而其中非结构化数据更是备受关注。IDC 预测&#xff0c;到 2025 年&#xff0c;全球数据总量中将有超过 80% 的数…

Linux提权--SUDO(CVE-2021-3156)Polkit(CVE-2021-4034)

免责声明:本文仅做技术学习与交流... 目录 SUDO(CVE-2021-3156) 影响版本 -判断&#xff1a; -利用&#xff1a; Polkit(CVE-2021-4034&#xff09; ​ -判断&#xff1a; -利用: 添加用户 SUDO(CVE-2021-3156) another: SUDO权限配置不当. 影响版本 由系统的内核和发…

运维安全管理系统:“四集中”管理 解决迫切问题

日前&#xff0c;国内专注于保密与非密领域的分级保护、等级保护、业务连续性安全和大数据安全产品解决方案与相关技术研究开发的领军企业——国联易安依托自身强大的研发能力&#xff0c;丰富的行业经验&#xff0c;自主研发了新一代软硬件一体化统一安全运维平台——国联易安…

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计

目录&#xff1a; 目录&#xff1a; 一、绪论 1.1 设计背景 1.2 设计目的 二、系统总体方案 2.1 专题调研题目 2.2 调研背景 2.3 设计任务解读 2.4 设计原理 2.4.1 原理框图 2.4.2 功能验证 三、软件设计 3.1 程序解读 3.2 程序设计 3.3 仿真结果&#xff1a; 四、程序代码分析…