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. MySQL可视化软件(Navicat)部署与使用

    目录 一:可视化软件(Navicat) 1.什么是可视化软件? 2.什么是Navicat? 二:部署MySQL(Navicat) 1.Navicat连接本地MySQL 2.连接MySQL,输入密码,在 ...

  2. Django之ORM表高级操作、增删改查、外键字段连表查、单表查、跨表查、F/Q查询

    目录 一.如何开启自己的测试脚本? 二.对表数据的添加.更新.删除 1.create() 变态操作之批量插入数据 2.update() 3.delete() 4.如何查看QuerySet对象执行的sq ...

  3. $_GET方法踩坑

    背景 写代码时,遇到一个奇怪的问题:小程序卡券解码接口老是报解码失败,苦寻了一个小时,发现原来是url参数经过thinkphp的I方法被过滤掉,而且涉及到PHP原生的$_GET 原因 I方法底层是原生 ...

  4. Python实验报告(第8章)

    实验8:模块 一.实验目的和要求 1.了解模块的内容: 2.掌握模块的创建和导入方式: 3.了解包结构的创建和使用. 二.实验环境 软件版本:Python 3.10 64_bit 三.实验过程 1.实 ...

  5. 一款极简的流媒体Web服务器(Streaming Media Web Server),提供视频音乐的在线播放功能

    一款极简的流媒体Web服务器(Streaming Media Web Server),提供视频音乐的在线播放功能 A extremely simple web server of streaming ...

  6. 论文解读(CAN)《Contrastive Adaptation Network for Unsupervised Domain Adaptation》

    论文信息 论文标题:Contrastive Adaptation Network for Unsupervised Domain Adaptation论文作者:Guoliang Kang, Lu Ji ...

  7. 有意思,小程序还可以一键生成App!

    小程序≠微信小程序 说到小程序,大部分同学的第一反应,可能是微信小程序.支付宝小程序,确实,小程序的概念深入人心,并且已经被约定俗成的绑定到某些互联网公司的 APP 上. 但是,"小程序&q ...

  8. 用Java写一个分布式缓存——缓存淘汰算法

    前言 之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结. 源码:weloe/Java-Distributed-Cache (g ...

  9. 03-逻辑综合工具 - Design Compiler

    逻辑综合工具DC IC设计流程,市场-->制定spec-->RTL(同时进行sim,通过alint检查RTL有没有错误)-->systhesis(逻辑综合)-->PR(STA) ...

  10. forms组件渲染标签、展示信息、校验数据的一些补充,forms组件参数和源码剖析,modelform组件,Django中间

    今日内容 forms组件渲染标签 forms组件渲染标签的方式1 <p>forms组件渲染标签的方式1</p> {{ form_obj.as_p }} {{ form_obj. ...