Java程序逻辑控制(三种基本结构(顺序、分支、循环)、输入输出、循环输入)

news2024/9/22 11:25:41

目录

一、顺序结构

二、分支结构

1、 if 语句

2、switch 语句 

与C语言不同,不能作为switch参数的类型:float double long boolean

三、循环结构

1.while循环

2.for循环 

 四、输入输出

1.输出 - 将结果显示打印到屏幕上

2.输入

3.输入输出综合例子 

4.循环输入读取数据 scanner.hasNextInt()


一、顺序结构

同C语言一样,按顺序执行代码

System . out . println ( "aaa" );
System . out . println ( "bbb" );
System . out . println ( "ccc" );
// 运行结果
aaa
bbb
ccc

换了顺序之后,结果界不同了 

System . out . println ( "aaa" );
System . out . println ( "ccc" );
System . out . println ( "bbb" );
// 运行结果
aaa
ccc
bbb

 

二、分支结构

与C语言不同,Java分支结构的条件是boolean类型

1、 if 语句

以下三种

 

  

   public static void main2(String[] args) {
        //求闰年,判断普通闰年和世纪闰年
        Scanner scanner = new Scanner(System.in);//java中的输入
        int year = scanner.nextInt();//nextInt读入int型数据

        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("不是闰年");
            }

        }
    }

 

2、switch 语句 

 

与C语言不同,不能作为switch参数的类型:float double long boolean

以及很重要的一点,break 不要遗漏, 否则会失去 "多分支选择" 的效果

 

public static void main3(String[] args) {
        /**
         * 不能作为switch参数的类型:float double long boolean
         * switch不能表达复杂的条件
         */
        int a = 1;
        switch (a) {
            case 1:
                System.out.println(1);
                //break;遇到break才会停止,否则会一致执行,知道遇到break
            case 2:
                System.out.println(2);
                break;
            default:
                System.out.println("输入有误!");
                break;
        }
    }

三、循环结构

1.while循环

while以及do-while与C语言里的差不多,这里就简单说了。

 

 

public static void main4(String[] args) {
        //打印1-10之间所有的数字
        int i = 0;
        while(i <= 10){
            System.out.println(i);
            i++;
        }

        System.out.println("===================================");

        //计算1-100的和
        int n = 1;
        int sum = 0;
        while (n<=100){
            sum+=n;
            n++;
        }
        System.out.println(sum);
    }

2.for循环 

 特别的是:Java中有fori循环foreach循环(后面数组来介绍)

int sum = 0 ;
for ( int i = 1 ; i <= 100 ; i ++ ) {
sum += i ;
}
System . out . println ( "sum = " + sum );
// 执行结果
5050

 

 


输入输出与C语言不太一样,最开始还是要适应一下 

 四、输入输出

1.输出 - 将结果显示打印到屏幕上

打印时可以简写 sout ,回车之后会自动补全
System . out . println ( msg ); // 输出一个字符串 , 带换行
System . out . print ( msg ); // 输出一个字符串 , 不带换行
System . out . printf ( format , msg ); // 格式化输出

2.输入

使用 Scanner 读取字符串 / 整数 / 浮点数
Scanner是一个工具,在使用的时候,需要导入包,在编译器里,这个包会自动加上
import java . util . Scanner ; // 需要导入 util
  Scanner 命名 =  new Scanner ( System . in );
Scanner scanner = new Scanner ( System . in );

使用输入时

int age = scanner.nextInt();

nextInt();是输入整型,还有其他的nextline等等

3.输入输出综合例子 

在混用输入输出时,有可能会出现,读取字符串的时候,把上一个输入的回车给读了,所以要注意小心!

public static void main7(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入你的姓名:");
//        String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
//        System.out.println(name);//ni hao
//
//        System.out.println("请输入你的年龄:");
//        int age = scanner.nextInt();
//        System.out.println(age);
//
//        System.out.println("请输入你的工资:");
//        float salary = scanner.nextFloat();
//        System.out.println(salary);

        /**
         * 当先输入年龄的时候,输入数字后,回车
         * 接下来的String name = scanner.nextLine();输入名字的地方,把回车当作字符串读进去了
         * 所以实际工作中尽量少使用java中的读取数据(传参),避免出现这样的问题
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        int age = scanner.nextInt();
        System.out.println(age);

        //解决办法:用这个先把回车读了,后面就能正常运行了,相当于C语言的getchar()
        scanner.nextLine();//读取回车
        System.out.println("请输入你的姓名:");
        String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
        System.out.println(name);//ni hao

        System.out.println("请输入你的工资:");
        float salary = scanner.nextFloat();
        System.out.println(salary);
    }

4.循环输入读取数据 scanner.hasNextInt()

    public static void main8(String[] args) {
        //使用Scanner循环读取n个数字,求平均值
        Scanner scanner = new Scanner(System.in);

        /**
         * scanner.hasNextInt(),有下一个整型int,读取到数据时,为真,进入while循环。
         * 结束循环读取,按 Ctrl d (windows的cmd终端用ctrl z)
         * 网上刷题时不用管,那边服务器会自动处理的
         */
        while(scanner.hasNextInt()){
            int a = scanner.nextInt();//读取到了的整型,用a存起来
            System.out.println(a);//打印该整型
        }
    }

 

 

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

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

相关文章

用友畅捷通T+服务器数据库中了locked勒索病毒怎么办,如何处理解决

计算机技术的发展&#xff0c;也为网络安全埋下隐患&#xff0c;其中勒索病毒攻击已经成为企业和组织面临的严重威胁之一。作为一款被广泛使用的企业资源管理软件&#xff0c;用友畅捷通T系统也成为黑客攻击的目标之一。近期&#xff0c;我们收到很多企业的求助&#xff0c;公司…

Shell脚本实现分库分表操作

目录 一&#xff0c;分库备份 二&#xff0c;分库操作 三&#xff0c;分库分表备份 四&#xff0c;备份还原 一&#xff0c;分库备份 #!/bin/bash mysql_cmd-uroot -pzly666666 bak_path/backup/db [ -d ${bak_path} ] || mkdir -p ${bak_path}mysql ${mysql_cmd} -e show…

【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Pythonmatlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

FFmpeg 音视频开发工具

目录 FFmpeg 下载与安装 ffmpeg 使用快速入门 ffplay 使用快速入门 FFmpeg 全套下载与安装 1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案&#xff0c;用于录制、转换和流式传输音频和视频。 官网&#xff1a;http…

Informer 论文学习笔记

论文&#xff1a;《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》 代码&#xff1a;https://github.com/zhouhaoyi/Informer2020 地址&#xff1a;https://arxiv.org/abs/2012.07436v3 特点&#xff1a; 实现时间与空间复杂度为 O ( …

LaTex4【下载模板、引入文献】

下载latex模板&#xff1a;&#xff08;模板官网一般都有&#xff0c;去找&#xff09; 我这随便找了一个&#xff1a; 下载得到一个压缩包&#xff0c;然后用overleaf打开&#x1f447;&#xff1a; (然后改里面的内容就好啦) 另外&#xff0c;有很多在线的数学公式编辑器&am…

1 Python的前世今生

为什么要学Python 这个问题&#xff0c;仁者见仁&#xff0c;智者见智。编程界有一句名言&#xff1a;“人生苦短&#xff0c;我用Python”&#xff0c;这句话似乎道出了一些原因。Python是一门简单直观的语言&#xff0c;更是一门注重可读性和效率的语言。解决同一个问题&…

数据结构空间复杂度

数据结构空间复杂度 空间复杂度常见的复杂度对比 空间复杂度 空间复杂度也是一个数学表达式&#xff0c;是对一个算法在运行过程中临时额外占用存储空间大小的量度 。 空间复杂度不是程序占用了多少bytes的空间&#xff0c;因为这个也没太大意义&#xff0c;所以空间复杂度算的…

jmeter常用的性能测试监听器

jmeter中提供了很多性能数据的监听器&#xff0c;我们通过监听器可以来分析性能瓶颈 本文以500线程的阶梯加压测试结果来描述图表。 常用监听器 1&#xff1a;Transactions per Second 监听动态TPS&#xff0c;用来分析吞吐量。其中横坐标是运行时间&#xff0c;纵坐标是TPS…

【后端面经】微服务构架 (1-6) | 隔离:如何确保心悦会员体验无忧?唱响隔离的鸣奏曲!

文章目录 一、前置知识1、什么是隔离?2、为什么要隔离?3、怎么进行隔离?A) 机房隔离B) 实例隔离C) 分组隔离D) 连接池隔离 与 线程池隔离E) 信号量隔离F) 第三方依赖隔离二、面试环节1、面试准备2、基本思路3、亮点方案A) 慢任务隔离B) 制作库与线上库分离三、章节总结 …

【Linux】TCP协议

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;TCP协议&…

java设计模式-建造者(Builder)设计模式

介绍 Java的建造者&#xff08;Builder&#xff09;设计模式可以将产品的内部表现和产品的构建过程分离开来&#xff0c;这样使用同一个构建过程来构建不同内部表现的产品。 建造者设计模式涉及如下角色&#xff1a; 产品&#xff08;Product&#xff09;角色&#xff1a;被…

通过clone的方式,下载huggingface中的大模型(git lfs install)

1、如图&#xff1a;可以手动一个个文件下载&#xff0c;但是那样太慢了&#xff0c;此时&#xff0c;可以点击下图圈起来的地方。 2、点击【Clone repository】&#xff0c;在命令行中&#xff0c;输入【git lfs install】&#xff08;安装了这个&#xff0c;才会下载大文件&a…

【Git】git企业开发命令整理,以及注意点

1.git企业开发过程 业务的分支大概有以下几个&#xff1a; master&#xff1a;代码随时可能上线 develop&#xff1a;代码最新 feature/xxx&#xff1a;实际业务开发分支 release/xxx&#xff1a;预发布分支 fix&#xff1a;修复bug分支 过程大概是这样的&#xff1a; 首…

机器学习知识经验分享之六:决策树

python语言用于深度学习较为广泛&#xff0c;R语言用于机器学习领域中的数据预测和数据处理算法较多&#xff0c;后续将更多分享机器学习数据预测相关知识的分享&#xff0c;有需要的朋友可持续关注&#xff0c;有疑问可以关注后私信留言。 目录 一、R语言介绍 二、R语言安装…

【1.3】Java微服务:Spring Cloud版本说明

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 微服务 ✨特色专栏&#xff1a; 知识分享 &#x…

python实现递推算法解决分鱼问题

一、问题描述 A、B、C、D、E5个人合伙夜间捕鱼&#xff0c;凌晨时都已经疲惫不堪&#xff0c;于是各自在河边的树丛中找地方睡着了。第二天日上三竿时&#xff0c;A第一个醒来&#xff0c;他将鱼平分为5份&#xff0c;把多余的一条扔回河中&#xff0c;然后拿着自己的一份回家…

如何快速同步第三方平台数据?

前言 最近知识星球中有位小伙伴问了我一个问题&#xff1a;如何快速同步第三方平台数据&#xff1f; 他们有个业务需求是&#xff1a;需要同步全国34个省市&#xff0c;多个系统的8种业务数据&#xff0c;到他们公司的系统当中。 他们需求同步全量的数据和增量的数据。 全量…

Ray

public Ray(Vector3 origin, Vector3 direction); 射线&#xff1a;origin为起始点&#xff0c;direction为射线方向 public static bool Raycast(Ray ray); 物理射线监测&#xff1a;返回值为bool型&#xff0c;可以确定射线有无碰撞到碰撞体 public static bool Raycast(R…

isp调试工具环境搭建及其介绍!

一、isp调试环境搭建&#xff1a; 后期调试isp&#xff0c;是在rv1126提供的RKISP2.x Tuner工具上进行调试&#xff0c;所以我们大前提必须要把这个环境和一些操作先搞熟悉来&#xff0c;后面有一些专用术语&#xff0c;我们遇到了再去看&#xff0c;现在专门看一些专用术语&am…