java基础:流程控制

一、用户交互Scanner

(一)基础

1、概念:基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5的新特征,我们可以通过Scanner类来获取用户的输入。
2、基本语法

Scanner s = new Scanner(System in);
//通过Scanner类的next()与nextLine()方法获取输入的字符串
//在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

(二)hasNext()与next()

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输出的内容为:" + str);
        }

        //用完之后记得关掉,要节约资源
        scanner.close();
    }
}

输出结果:
在这里插入图片描述

(三)hasNext()与hasNextLine()

import java.util.Scanner;
public class Demo02 {
    public static void main(String[] args) {
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");

        //判断是否还有输入
        if(scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输出的内容为:" + str);
        }
    }
}

在这里插入图片描述

(四)常用方法

方法描述
boolean hasNext()检查扫描器是否还有更多的输入。
boolean hasNextLine()检查扫描器是否还有另一行。
boolean hasNextInt()检查扫描器的下一个标记是否是一个整数。
boolean hasNextDouble()检查扫描器的下一个标记是否是一个双精度浮点数。
String nextLine()此扫描器读取的下一个完整的行。
String next()返回此扫描器的下一个完整标记。
int nextInt()将下一个完整的标记扫描为一个 int。
double nextDouble()将扫描器的下一个标记扫描为一个 double。
void close()关闭此扫描器。如果此扫描器已关闭,则调用此方法不会执行任何操作。
void useDelimiter(Pattern pattern)设置此扫描器使用的分隔符模式。
void useDelimiter(String pattern)设置此扫描器使用的分隔符。
boolean hasNext(Pattern pattern)检查是否还有下一个与指定模式匹配的输入项。
boolean hasNext(String pattern)检查是否还有下一个与指定字符串模式匹配的输入项。
void skip(Pattern pattern)跳过与模式匹配的输入。
void skip(String pattern)跳过与给定字符串模式匹配的输入。
Locale locale()返回此扫描器的当前区域设置。
void useLocale(Locale locale)设置此扫描器的区域设置。
IOException ioException()如果此扫描器的输入流被关闭或发生其他 I/O 错误,则返回导致最近一次 I/O 异常的 IOException。

二、顺序结构

java中最基本的结构,除非特别指明,否则就按照顺序一句一句执行,顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

三、选择结构

(一)if选择结构

先判断是否可行,再去执行
语法:

if(布尔表达式){
//如果布尔表达式为true将要执行的语句
}

(二)if双选择结构

语法

if(布尔表达式){
//如果布尔表达式的值为true时执行
}else{
//如果布尔表达式的值为false时执行
}

(三)if多选择结构

真实的情况不止是或者不是两种,比如成绩等级判断,会有优秀,良好,合格,不合格等,所以我们需要用到多选择结构。

if(布尔表达式 1){
//如果布尔表达式1的值为true就执行
}else if(布尔表达式 2){
//如果布尔表达式1的值为true就执行
}else if(布尔表达式 3){
//如果布尔表达式3的值为true就执行
}else{
//以上布尔表达式的均不为true时执行
}

(四)嵌套的if结构

if(布尔表达式 1){
//如果布尔表达式1的值为true就执行
if(布尔表达式 2){
//既满足布尔表达式1又满足布尔表达式2时执行
}
}

(五)switch多选择结构

switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch(expression){
case value :
//执行
break;//可不用
case value :
//执行
break;//可不用
}

四、循环结构

(一)while循环

//只要布尔表达式为真,循环会一直执行
whilw(布尔表达式){
//循环内容
}

(二)do…while循环

do{
//执行
}while(布尔表达式);

与while的区别:
①while先判断后执行,do…while先执行后判断
②do…while总是保证循环至少执行一次,while不能保证

(三)for循环

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化;布尔表达式;迭代更新){
//执行
}

增强for循环:java5中引入,主要用于数组和集合的增强型for循环

for(声明语句:表达式)
{
//代码语句
}
在这里插入图片描述

(四)实例:打印九九乘法表

public class Demo3 {
    public static void main(String[] args) {
        for(int j=1;j<=9;j++){
            for (int i = 1;i<=j;i++){
                System.out.print(j + "*" + i + "=" +(j*i) + "\t");
                //注意print和println的区别
            }
            System.out.println( );
        }
    }
}

结果:
在这里插入图片描述

五、break continue

break:在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue:用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

六、建项目相关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建成功后就在javaSE文件下多了scanner模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Java实现登录验证 -- JWT令牌实现

目录 1.实现登录验证的引出原因 2.JWT令牌2.1 使用JWT令牌时2.2 令牌的组成 3. JWT令牌&#xff08;token&#xff09;生成和校验3.1 引入JWT令牌的依赖3.2 使用Jar包中提供的API来实现JWT令牌的生成和校验3.3 使用JWT令牌验证登录3.4 令牌的优缺点 1.实现登录验证的引出 传统…

Spring 泛型依赖注入

Spring 泛型依赖注入&#xff0c;是利用泛型的优点对代码时行精简&#xff0c;将可重复使用的代码全部放到一个类之中&#xff0c;方便以后的维护和修改&#xff0c;同时在不增加代码的情况下增加代码的复用性。 示例代码&#xff1a; 创建实体类 Product package test.spri…

在电子表格中对多列数据去重

一、数据展示 二、代码 Sub 选中区域数据去重()Dim arr()Dim c, d, id Selection.Counti 0For Each c In SelectionIf c.Value <> "" ThenReDim Preserve arr(0 To i)arr(i) c.Valuei i 1End IfNextarr 一维去重(arr)i 0For Each c In Range("O2&…

当需要对多个表进行联合更新操作时,怎样确保数据的一致性?

文章目录 一、问题分析二、解决方案三、示例代码&#xff08;以 MySQL 为例&#xff09;四、加锁机制示例五、测试和验证六、总结 在数据库管理中&#xff0c;经常会遇到需要对多个表进行联合更新的情况。这种操作带来了一定的复杂性&#xff0c;因为要确保在整个更新过程中数据…

Charles拦截发送数据包-cnblog

Charles拦截发送数据包 打开允许断点 右键要打断点的数据包&#xff0c;打断点 重新发请求进入断点模式 修改完毕后发送

集成学习(三)GBDT 梯度提升树

前面学习了&#xff1a;集成学习&#xff08;二&#xff09;Boosting-CSDN博客 梯度提升树&#xff1a;GBDT-Gradient Boosting Decision Tree 一、介绍 作为当代众多经典算法的基础&#xff0c;GBDT的求解过程可谓十分精妙&#xff0c;它不仅开创性地舍弃了使用原始标签进行…

浪潮信息携手算力企业为华东产业集群布局提供高质量算力支撑

随着信息技术的飞速发展&#xff0c;算力已成为推动数字经济发展的核心力量。近日&#xff0c;浪潮信息与五家领先的算力运营公司在南京正式签署战略合作协议&#xff0c;共同加速华东地区智算基础设施布局&#xff0c;为区域经济发展注入新动力。 进击的算力 江苏持续加码智算…

论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法

论文速览 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法 1 引言 在计算机视觉和机器人领域,相机校准一直是一个基础而又重要的问题。传统的相机校准方法主要依赖于从已知校准图案中提取角点,然后通过优化算法求解相机的内参和外参。这…

创新配置,秒级采集,火爆短视频评论抓取

快速采集评论数据的好处 快速采集评论数据是在当今数字信息时代的市场趋势分析和用户反馈分析中至关重要的环节。通过准确获取并分析大量用户评论&#xff0c;您将能够更好地了解消费者的需求、情感和偏好。集蜂云采集平台提供了一种简单配置的方法&#xff0c;使您能够快速采…

docker部署mycat,连接上面一篇的一主二从mysql

一、docker下载mycat镜像 查看安装结果 这个名称太长&#xff0c;在安装容器时不方便操作&#xff0c;设置标签为mycat docker tag longhronshens/mycat-docker mycat 二、安装容器 先安装一个&#xff0c;主要目的是获得配置文件 docker run -it -d --name mycat -p 8066:…

ubuntu设置开启自动挂载sftp

1. 前言 与其说 ubuntu 开启自动挂载 sftp, 更确切的说应该是 nautilus (ubuntu上默认的文件管理器) 开机自动挂载 sftp。 因为 这里即使选择永远记住&#xff0c;开机也不会自动挂载 sftp 2.设置方法 gnome-session-properties #开机只启动设置命令设置 gio mount sftp…

智慧文旅(景区)解决方案PPT(42页)

智慧文旅解决方案摘要 行业分析中国旅游业正经历消费大众化、需求品质化、发展全域化和产业现代化的发展趋势。《“十三五”旅游业发展规划》的发布&#xff0c;以及文化和旅游部的设立&#xff0c;标志着旅游业的信息化和智能化建设成为国家战略。2018年推出的旅游行业安全防范…

「技术分享」FDL对接金蝶云API取数

很多企业的ERP系统都在用金蝶云星空&#xff0c;金蝶云星空API是IT人员获取数据的重要来源&#xff0c; 常常用来生成定制化报表&#xff0c;进行数据分析&#xff0c;或是将金蝶云的数据与OA系统、BI工具集成。 通常情况下&#xff0c;IT人员需要使用Python、Java等语言编写脚…

从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理

一、背景 随着城市化进程的加快&#xff0c;越来越多的市民热衷于钓鱼活动。钓鱼活动在带来乐趣的同时&#xff0c;也伴随着一定的安全隐患。尤其是在一些危险水域&#xff0c;也经常出现垂钓者的身影&#xff0c;非法垂钓&#xff0c;这给城市管理带来了不小的阻力。传统的人…

STMF4 硬件IIC(天空星开发板)

前言&#xff1a;笔记参考立创开发文档&#xff0c;连接放在最后 #IIC概念介绍 #IIC介绍 IIC通信协议&#xff0c;一种常见的串行通信协议&#xff0c;英文全程是 Inter-Integrated Circuit 使用这种通信方式的模块&#xff0c;通常有SCL&#xff08;Serial Clock Line&…

SQL-DCL(三)

一.DCL介绍 DCL英文全称是Data Control Language(数据库控制语言),用来管理数据库 用户,控制数据库的访问权限。 二.两个方面 1.数据库可以由那些用户访问 2.可以访问那些内容 三.DCL-管理用户 1.查询用户 USE mysql SELECT * FROM user 2.创建用户 CREATE USER…

Redis---10---SpringBoot集成Redis

SpringBoot集成Redis 总体概述jedis-lettuce-RedisTemplate三者的联系 本地Java连接Redis常见问题&#xff0c;注意 bind配置请注释掉​ 保护模式设置为no​ Linux系统的防火墙设置​ redis服务器的IP地址和密码是否正确​ 忘记写访问redis的服务端口号和auth密码集成Jedis …

HTML(26)——平面转换-旋转-多重转换-缩放

旋转 属性&#xff1a;transform:rotate(旋转角度) 角度的单位是deg。 取值为正&#xff0c;顺时针旋转取值为负&#xff0c;逆时针旋转 默认情况下&#xff0c;旋转的原点是盒子中心点 改变旋转的原点可以使用属性:transform-origin:水平原点位置 垂直原点位置 取值&a…

Vue表单输入绑定v-model

表单输入绑定 在前端处理表单时&#xff0c;我们常常需要将表单输入框的内容同步给Javascript中相应的变量。手动连接绑定和更改事件监听器可能会很麻&#xff0c;v-model 指令帮我们简化了这一步骤。 <template><h3>表单输入绑定</h3><hr> <inpu…