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穿透现象。

 

 

最新文章

  1. 《selenium2 Java 自动化测试实战(第二版)》 更新2016.5.3
  2. 张艾迪(创始人):Be.Time+Cr.Idear的创新理念
  3. js单击自动选择文本
  4. std::reverse_iterator::base
  5. HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结
  6. Mac必装app-持续更新
  7. CentOS 7.0 重置root密码
  8. learn-python3
  9. Linux查看进程内存占用及内存使用情况
  10. sync fsync fdatasync ---systemtap跟踪
  11. css里面position:relative与position:absolute的区别
  12. JS源生代码“增删改查”之增
  13. python写一个翻译的小脚本
  14. windows下安装配置python + selenium 来驱动firefox
  15. Java课堂笔记(零):内容索引
  16. 无脑博士的试管们--dfs搜素
  17. Spring Boot, Java Config - No mapping found for HTTP request with URI [/…] in DispatcherServlet with name 'dispatcherServlet'
  18. jQuery清除数组中的空值
  19. LibreOJ 6285. 数列分块入门 9
  20. centos配置备忘(apache\php\mysql)

热门文章

  1. Kubernetes(K8S) 配置管理-ConfigMap 介绍
  2. 《MySQL必知必会》知识汇总二
  3. 【Java EE】Day01 基础加强、Junit单元测试、反射、注解
  4. 【JVM调优】Day04:总结前三日内容(GC+算法*4+简单回收器*3三色标记,CMS+G1+ZGC,参数个数+OOM+调优参数)
  5. 【Scala】思维导图
  6. Day34:BigDecimal的使用
  7. Vue快速上门(3)-组件与复用
  8. 【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制
  9. 【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。
  10. 基于 VScode 搭建 Verilog 自动格式化