Java流程控制:用户交互Scanner、选择结构

用户交互Scanner

Scanner类用于获取用户的输入

基本语法

Scanner s = new Scanner(System.in);
s.close();
package com.qiu.first.scanner;

import java.util.Scanner;

public class Demo1 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入数据:");
       String str = scanner.nextLine();
       System.out.println(str);
       scanner.close();//凡是IO流的类如果不关闭的话会一直占用资源,所以要用完就关掉
  }
}

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前可以使用hasNext()与hasNextLine()判断是否还有输入的数据。

  • next():

    1. 一定要读取到有效字符后才可以结束输入;

    2. 对输入有效字符之前的空白,next()方法会自动将其去掉;

    3. 只有输入有效字符之后才将其后面输入的空白作为分隔符或者结束符;

    4. next()不能得到带有空格的字符串。

  • nextLine():

    1. 以Enter作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;

    2. 可以获得空白。


顺序结构

顺序结构是最简单的算法结构。

它是任何一个算法都离不开的一种基本算法结构。


选择结构

1. if单选择结构

语法:

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

2. if双选择结构

语法:

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

3. if多选择结构

语法:

if (布尔表达式1){
   //如果布尔表达式1为true将执行的语句
}else if (布尔表达式2){
   //如果布尔表达式2为true将执行的语句
}else if (布尔表达式3){
   //如果布尔表达式3为true将执行的语句
}else{
   //如果以上表达式都不为true将执行的语句
}

4. if 嵌套结构

语法:

if (布尔表达式1){
   //如果布尔表达式1的值为true执行代码
   if (布尔表达式2){
       //如果布尔表达式2的值为true执行代码
  }
}

5. switch多选择结构

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

switch语句中的变量类型可以是:

  • byte、short、int或者char。

  • 从JavaSE 7开始,switch支持字符串String类型了,同时case标签必须为字符串常量或字面量。

语法:

switch(expression){
   case value:
       //语句
       break;//可选
   case value:
       //语句
       break;//可选
   //你可以有任意数量的case语句
   default://可选
       //语句
       
}

注意预防case穿透现象。

 

 

Java流程控制:用户交互Scanner、选择结构的更多相关文章

  1. 【java从入门到精通】day08-java流程控制-用户交互Scanner--顺序结构--选择结构

    1.java流程控制 Scanner对象: Java提供了一个工具类,可以获取用户的输入 java.until.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语 ...

  2. Java流程控制以及顺序、选择、循环结构

    目录 用户交互Scanner Scanner对象 hasNext()与next() hasNextLine()与nextLine() Scanner进阶用法 求和与平均数 顺序结构 选择结构 if单选 ...

  3. Java流程控制:三种基本结构

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

  4. Java流程控制02:Scanner进阶

    Scanner进阶使用 import java.util.Scanner;​public class Demo04 {    public static void main(String[] args ...

  5. 第4天 JavaDoc生成文档&Java流程控制(第一节:用户交互Scanner)

    JavaDoc生成文档 javadoc命令是用来生成自己的API文档 参数信息: @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @ ...

  6. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

  7. Java流程控制01——用户交互Scanner

    用户交互Scanner sacnner对象 之前的语法并没有实现程序与人的交互.java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入. 基本语法:  S ...

  8. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  9. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  10. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

随机推荐

  1. Mybatis04:延迟加载、一二级缓存、注解开发

    今日内容 mybatis中的延迟加载 延迟加载的概念 立即加载的概念 如果实现延迟加载 Mybatis中的缓存 什么是缓存 为什么使用缓存 什么数据可以使用缓存,什么样的数据不能使用缓存 Mybati ...

  2. 【每日一题】【回溯】【StringBuilder】2021年12月7日-17. 电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 来源:力扣(LeetCode)链 ...

  3. Selenium4+Python3系列(十三) - 与docker中的jenkins持续集成

    前言 文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们的支持和陪伴. Jenkins ...

  4. vue项目 h5上拉加载(分页功能)

    <template> <div class="receivable"> <div class="application-header fle ...

  5. vue实现移动端左右菜单双向联动效果

    话不多说,上demo <template> <div id="app"> <header>左右列表双向联动</header> < ...

  6. [图像处理] YUV图像处理入门4

    9 yuv420图像截取 本程序中的函数主要是对YUV420P视频数据流的第一帧图像进行截取.类似opencv中的rect函数,函数的代码如下所示: /** * @file 9 yuv_clip.cp ...

  7. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记6

    1. 发送电子邮件和短信笔记(第16章)(代码下载) 1.1 发送电子邮件 简单邮件传输协议(SMTP)是用于发送电子邮件的协议.SMTP 规定电子邮件应该如何格式化.加密.在邮件服务器之间传递,以及 ...

  8. [OpenCV实战]46 在OpenCV下应用图像强度变换实现图像对比度均衡

    本文主要介绍基于图像强度变换算法来实现图像对比度均衡.通过图像对比度均衡能够抑制图像中的无效信息,使图像转换为更符合计算机或人处理分析的形式,以提高图像的视觉价值和使用价值.本文主要通过OpenCV ...

  9. VMware安装linux系统CentOs7.4 mini版过程

    创建虚拟机 新建虚拟机 选择虚拟机的操作系统,本文中安装的CentOS属于linux 设置虚拟机的名称和虚拟机所使用的文件再物理机中的路径, 设置虚拟机的cup数量和核心数量,如果设置的不合适可以再创 ...

  10. 大公司为什么禁止SpringBoot项目使用Tomcat?

    本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...