[JAVA]程序逻辑控制,输入输出

news2024/12/29 8:58:39

🍉内容专栏:【JAVA】

🍉本文脉络:程序逻辑控制,if语句,switch循环,while循环,for循环,do while循环输入输出,例子

🍉本文作者:Melon_西西

🍉发布时间 :2023.7.15

 目录

1.分支结构

1.1 if 语句

1.2 switch 语句

 1.3 while 循环

例子:计算5的阶乘

1.4 for 循环

例子:计算5的阶乘

1.5 do while 循环

2.输入输出

2.1 输出到控制台

 2.2 从键盘输入

例子:输入一个三位数>0且<1000,输出这个数的个位、十位、百位

例子:输入整数 l .求边长为 l 的正方形面积,比直径为 l 的圆形面积大多少(0< l <1000,P1取3.14,输出结果保留两位小数)

 例子:猜数字游戏

 例子:查找质数



1.分支结构

1.1 if 语句

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

1.1.1 语法格式:

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

 1.1.2 语法格式

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

1.1.3 语法格式

if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}

eg.判断一个年是否为闰年:

int year = 2000;
if (year % 100 == 0) {
// 判定世纪闰年
if (year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
} else {
// 普通闰年
if (year % 4 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}

1.2 switch 语句

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

基本语法

switch(表达式){
    case 常量值1:{
    语句1;
    [break;]
    }
case 常量值2:{
   语句2;
   [break;]
   }
   ...
  default:{
   内容都不满足时执行语句;
   [break;]
   }
}

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

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

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

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

 1.3 while 循环

循环条件为 true, 则执行循环语句; 否则结束循环

 基本语法格式:

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

例子:计算5的阶乘

int n = 1;
int result = 1;
while (n <= 5) {
    result *= n;
    n++;
}
System.out.println(num);//输出120

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

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

1.4 for 循环

表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次

表达式2: 循环条件,满则循环继续,否则循环结束

表达式3: 循环变量更新方式

for(表达式①;布尔表达式②;表达式③){
    表达式④;
}

例子:计算5的阶乘

int result = 1;
for (int i = 1; i <= 5; i++) {
    result *= i;
}
System.out.println("result = " + result);

1.5 do while 循环

内容必执行一次。先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

do while 循环最后有分号

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

2.输入输出

2.1 输出到控制台

System.out.println(msg);              // 输出一个字符串, 带换行

System.out.print(msg);                 // 输出一个字符串, 不带换行

System.out.printf(format, msg);   // 格式化输出


println 输出的内容自带 \n, print 不带 \n

printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

 2.2 从键盘输入

import java.util.Scanner; // 需要导入 util 包

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

   system . out.println(”输出且换行!");
    system.out.print("不换行");
    ystem.out.printf("%d\n", 10)

import java.util.Scanner;
public class Text01 {
    public static void main (String []args){
    //导入这个包  include
    Scanner scan = new Scanner(System.in);
    System.out. println("请输入你的姓名:");
    String name = scan.next();//nextLine读入一行next是遇到空格结束
    System.out.println("姓名:"+name);
    System.out.println("输入一个年龄:");
    int age = scan. nextInt();//读入一个int类型的整数
      System.out. println("年龄:"+age);
     System.out.println("请输入你的工资:");
     float salary = scan. nextFloat();
     System.out.println("工资: "+salary);
     scan.close();//可以认为scan是一个资源
    }
}

 

例子:输入一个三位数>0且<1000,输出这个数的个位、十位、百位

import java.util.Scanner;
public class Text02 {
    public static void main (String []args) {
        System.out.println("请输入一个整数>0且<1000");
        Scanner num=new Scanner(System.in);
        int number = num . nextInt();
        if(0<number&&number<1000) {
            System.out.println("个位:" + (number % 10));
            System.out.println("十位:" + ((number / 10) % 10));
            System.out.println("百位:" + (number / 100));
        }
        else{
            System.out.println("数字输入有误");
        }
    }
}

例子:输入整数 l .求边长为 l 的正方形面积,比直径为 l 的圆形面积大多少(0< l <1000,P1取3.14,输出结果保留两位小数)

import java.util.Scanner;
public class Text03 {
    public static void main (String []args) {
        System.out.println("请输入一个整数,0< l <1000");
        Scanner num =new Scanner(System.in);
        int l = num.nextInt();
        if(0<l&&l<1000) {
            int s = l * l;  //正方形面积
            double  r = l/2.0;  //圆形半径
            double s2 = (3.14 * (r * r));//直径为 l 的圆形面积
            double s3=s-s2;   //面积差
            System.out.printf("%.2f",s3);
        }
        else{
            System.out.println("数字输入有误");
        }
    }
}

注意圆形半径这里,一定是/2.0不是/2  !!

2是int行,只保留整数部分
2.0是double型,除了之后会保留小数

 例子:猜数字游戏

    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int randNum = random.nextInt(101);//[0,101)
        //50-100的随机数   random.nextInt(50)--[0,50)  + 50;
        while (true) {
            System.out.println("请输入你要猜的数字:");
            int num = scanner.nextInt();
            if(num < randNum) {
                System.out.println("猜小了!");
            }else if(num == randNum) {
                System.out.println("猜对了!");
                break;
            }else {
                System.out.println("猜大了!");
            }
        }
    }
}

例子:查找质数

    public static void main2(String[] args) {
        for (int n = 1; n <= 100; n++) {
            //int n = 9;
            int i = 2;
            for (; i <= Math.sqrt(n); i++) {
                if(n % i == 0) {
                    break;
                }
            }
            if(i > Math.sqrt(n)) {
                System.out.println(n + " 是素数! ");
            }
        }

    }

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

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

相关文章

Python:基于matplotlib与mayavi的3D可视化

文章目录 &#xff08;1&#xff09;基于matplotlib的3D可视化&#xff08;2&#xff09;基于mayavi的3D可视化&#xff08;2.1&#xff09;立方体&#xff08;2.2&#xff09;体素体 3D可视化是一种用于呈现三维数据的方法&#xff0c;它可以帮助我们更好地理解和分析复杂的空…

搭建 Java 部署环境,部署 Web 项目到 Linux

为了进行部署&#xff0c;把写好的 java web 程序放到 Linux 上&#xff0c;需要先把对应的依赖的软件 (环境) 搭建好&#xff0c;安装一些必要的软件程序 JDKTomcatMySqL jdk 直接使用包管理器进行安装(基于yum安装) 一、yum 1、认识 yum yum (Yellow dog Updater, Modified…

随机产生50个55以内的不重复的整数,要求查找出一个缺失的整数。

一、设计思路 为随机产生50个55以内的整数且不能重复&#xff0c;应先将已经产生的随机数保存下来&#xff0c;然后在获取到新的随机数时&#xff0c;与之前保存下来的值进行对比&#xff0c;如果已经出现过则抛弃&#xff0c;并再次获取&#xff0c;直到获取到不同的随机值为止…

Redis 从入门到精通【进阶篇】之过期和淘汰策略详解

文章目录 0. 前言Redis过期策略&#xff1a;1. 定期删除&#xff08;定时器方式&#xff09;&#xff1a;2. 惰性删除&#xff08;访问时检查方式&#xff09;&#xff1a; Redis淘汰策略&#xff1a;1. noeviction&#xff1a;2. allkeys-lru&#xff1a;3. volatile-lru&…

GOPATH、GOROOT(VSCode编写第一个go程序)

1. GOROOT和GOPATH GOROOT 和 GOPATH 都是 Go 语言中的环境变量&#xff0c;用于指定 Go 工具链和工作区的路径。 GOROOT 指定了 Go 工具链的安装路径&#xff0c;它包含了 Go 语言的标准库、编译器等工具。在使用 Go 编译器、运行时等工具时&#xff0c;它们会默认从 GOROOT…

Linux ➾ 端口占用检查

Linux ➾ 端口占用检查 &#x1f53b; 前言&#x1f53b; 一、什么是监听端口&#x1f53b; 二、使用lsof命令查看端口占用情况&#x1f53b; 三、使用netstat命令检查监听端口&#x1f53b; 四、使用ss 检查监听端口&#x1f53b; 总结—温故知新 &#x1f53b; 前言 在Linux系…

举例说明基于线性回归的单层神经网络网络(以梯度下降算法来求解权重的过程)...

我们将通过一个简单的例子来说明基于线性回归的单层神经网络&#xff0c;以及如何使用梯度下降算法来求解权重。 假设我们有以下数据集&#xff0c;表示学生的学习时间&#xff08;小时&#xff09;与他们的考试分数&#xff1a; 学习时间&#xff08;X&#xff09;&#xff1a…

C# 反转无头链。

给定一个单链表的头结点pHead(该头节点是有值的&#xff0c;比如在下图&#xff0c;它的val是1)&#xff0c;长度为n&#xff0c;反转该链表后&#xff0c;返回新链表的表头。 数据范围&#xff1a; 0≤n≤1000 要求&#xff1a;空间复杂度 O(1) &#xff0c;时间复杂度 O(n) 。…

【SpringBoot应用篇】SpringBoot集成atomikos实现多数据源配置和分布式事务管理

【SpringBoot应用篇】SpringBoot集成atomikos实现多数据源配置和分布式事务管理 分布式事务概念XA和JTA概述SpringBoot集成atomikos数据库结构pom通用工具类RBaseControllerBaseExceptionCodeExceptionCodeBaseExceptionBaseUncheckedExceptionBizException application.yml数据…

【C语言】扫雷----详解(扩展版)

&#x1f341; 博客主页:江池俊的博客_CSDN博客 &#x1f341; 如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏&#x1f31f; 三连支持一下博主&#x1f49e; ✉️每一次努力都是一次进步&#xff0c;每一次尝试都是一次机会。无论遇到什么困难&#xff0c;…

SpringBoot 使用前缀树实现敏感词过滤

文章目录 前缀树介绍节点初始化前缀树添加敏感词删除敏感词敏感词过滤代码实现 前缀树介绍 前缀树&#xff08;Trie&#xff09;&#xff0c;也称为字典树或前缀字典树&#xff0c;是一种特殊的多叉树数据结构。它用于高效地存储和检索字符串集合。以下是前缀树的常见数据结构…

verilog实现led闪烁

文章目录 verilog实现led闪烁一、介绍二、代码三、仿真代码四、仿真结果五、总结 verilog实现led闪烁 一、介绍 使用verilog实现代码&#xff0c;实现led闪烁&#xff0c;每间隔200ms进行切换led灯 二、代码 module led (input wire clk,input wire rstn,output wire[3:0] …

深入解析向量数据库:定义、原理和应用的全面指南

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

C++智能指针(3/3)

目录 上一节内容 share_ptr用法 share_ptr指针可以用于上一节所说的错误 例子&#xff08;类定义&#xff09; 主函数代码 执行的结果 解释说明 share_ptr 相关构造 空的share指针可以指向其他相同类型的变量来进行托管 可以shared_ptr< T > sp2(new T())也可以s…

RocketMQ高阶使用

RocketMQ高阶使用 1. 流程 2. 探讨功能点 RocketMQ的顺序消息消息投递策略消息保障 3. 顺序消息 3.1 顺序类型 3.1.1 无序消息 无序消息也指普通的消息&#xff0c;Producer 只管发送消息&#xff0c;Consumer 只管接收消息&#xff0c;至于消息和消息之间的顺序并没有保证…

macOS搭建C++开发环境CLion

首先我是一个java开发者&#xff0c;最近对C产生点兴趣。想开发点C程序玩一玩。 下载IDE 本人是java开发者&#xff0c;习惯使用IDEA了。所以也下载jetbrains的C开发工具:clion 下载地址&#xff1a; https://www.jetbrains.com/clion/download/#sectionmac Hello world Fi…

利用ArcGIS Pro制作三维效果图

1、新建工程 打开Arcgispro,新建工程,这里我们要用到的模板为全局场景。 2、添加数据 这里添加的数据需要有一个字段内容是数值的,这个字段也是接下来要进行拉伸的字段。 3、高度拉伸 数据添加进来后,如下图所示,这时图层处于2D图层里。 这时我们点中该图层,回到菜单栏…

微服务系列文章 之SpringBoot之定时任务详解

序言 使用SpringBoot创建定时任务非常简单&#xff0c;目前主要有以下三种创建方式&#xff1a; 一、基于注解(Scheduled)二、基于接口&#xff08;SchedulingConfigurer&#xff09; 前者相信大家都很熟悉&#xff0c;但是实际使用中我们往往想从数据库中读取指定时间来动态…

天眼使用指南--分析平台

#天眼分析平台 提供全面的溯源分析能力&#xff0c;涵盖图中模块。负责存储日志&#xff0c;分为三类&#xff0c;告警日志 告警日志&#xff1a;来自探针和沙箱的告警&#xff0c;探针的告警可以记录双向完整对话&#xff0c;如果网络流量中没有恶意信息&#xff0c;就会储存…

windows Server 2008 R2服务器IIS环境启用TLS 1.2

windows Server 2008 R2服务器IIS环境启用TLS 1.2&#xff0c;配置TLS1.2 分为2步, 添加TLS配置和禁用老的SSL版本&#xff0c;提供两种方法, 选择其中一种就行了&#xff0c;手动设置 打开注册表&#xff0c;运行regedit&#xff0c;找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo…