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. 结合RocketMQ 源码,带你了解并发编程的三大神器

    摘要:本文结合 RocketMQ 源码,分享并发编程三大神器的相关知识点. 本文分享自华为云社区<读 RocketMQ 源码,学习并发编程三大神器>,作者:勇哥java实战分享. 这篇文章 ...

  2. C++编程笔记(STL学习)

     一.顺序容器   1.1.vector   1.2.dequeue   1.3.list  二.关联性容器   2.3.set   2.3.map  三.算法   3.1.遍历算法(for_each ...

  3. ArcObjects SDK开发 011 RasterLayer

    1.RasterLayer的结构 图层的话,除了FeatureLayer外,用的最多的就是RasterLayer了.较FeatureLayer而言,RasterLayer比较简单,这点可以从栅格图层的 ...

  4. 云数据库FinOps实战复盘

    历时三个多月的HBase成本优化项目按照预期交付了,HBase云数据库月度成本下降了32.5%,超出预期达成目标. 我们对本次HBase成本优化项目进行深度复盘,并进一步尝试总结云数据库的FinOps ...

  5. vue3 el-pagination 将 英文 修改 为 中文

    当前视图: 我要做的是将 Total 类似的 英文 改为 中文 1.  在组件里引入  ElConfigProvider 组件 和中文包 // ElConfigProvider 组件 import { ...

  6. 8个Spring事务失效的场景,你碰到过几种?

    前言 作为Java开发工程师,相信大家对Spring种事务的使用并不陌生.但是你可能只是停留在基础的使用层面上,在遇到一些比较特殊的场景,事务可能没有生效,直接在生产上暴露了,这可能就会导致比较严重的 ...

  7. 编写异步任务@Async出现bean无法注入的问题解决方案

    在编写一个异步任务时出现报错:"The bean 'asyncShenCe' could not be injected as a 'com.sinochem.api.service.imp ...

  8. python模块(module)

    目录 模块化(module)程序设计理念 模块和包概念的进化史 标准库模块(standard library) 为什么需要模块化编程 模块化编程的流 模块的 API 和功能描述要点 模块的创建和测试代 ...

  9. Java面试的一些面试题

    ​ 10<<2=? tip:10的二进制为1010,左移两位即:101000,换算为十进制为2的5次方加上2的三次方等于40 答:40 1.dr-xr-xr-r解释一下权限的含义 tip: ...

  10. 使用Python库pyqt5制作TXT阅读器(一)-------UI设计

    项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p ...