Java流程控制与Scanner类的使用

Scanner类

  • Scanner类可以使程序接受键盘输入,实现人机交互

    一个完整的Scanner的使用例子:

    //创建一个扫描器对象,用于接收键盘数据
    Scanner s=new Scanner(System.in);
    System.out.println("使用next方法接收:");
    //判断用户有没有输入字符串
    if(s.hasNext()){
    System.out.println("使用next接收数据:");
    String a=s.next();
    System.out.println("输出的内容为:"+a);
    }
    //重点:这步必须加,因为Scanner是属于io流的类,所以使用后必须关闭,不然会一直占用内存空间
    s.close();
  • 注意:next只能输出空格前的字符串,nextline可能输出空格后的字符串

  • 将接收语句放进循环就可以从键盘循环输入数据,直到不符合循环的条件表达式

  • 可以将循环的条件表达式写为判断用户有没有从键盘输入,直到输入不符合规范的字符时跳出循环

Java流程控制

  • 顺序结构

    Java中所有的程序都是顺序结构

  • 选择结构

    if if-else 多重if 嵌套if switch结构

    if结构

    //表达式为true,则执行语句,否则,直接跳过
    if(条件表达式){
    要执行的语句;
    }

    if-else结构

    //表达式为true,则执行语句,否则,执行else中的语句
    if(条件表达式){
    执行的语句
    }else{
    执行的语句
    }

    多重if结构

    //适合解决同一种事,但分多种情况,例如成绩管理,100-90,卓越,90-80,优秀,80-70,良好,70-60,及格,60-0,不及格
    if(条件表达式){
    执行的语句
    }else if(条件表达式){
    执行的语句
    }else if(条件表达式){
    执行的语句
    }else{
    执行的语句
    }
    //注意:else if就是将上一句的条件表达式取反,并与if后的条件表达式相交

    嵌套if结构

    //嵌套if就是if语句中还有if语句,另外我们所学的选择结构和循环结构都是可以互相嵌套的,来实现我们想要的功能
    if(条件表达式){
    if(条件表达式){
    执行的语句
    }
    }else{
    执行的语句
    }
  • 循环结构

    while do-while for 增强型for

    while结构

    //如果表达式结果为true,则进入循环,直到不满足条件时结束,因此while中必须要有一个迭代,使得不进入死循环
    while(条件表达式){
    执行的语句
    }

    do-while结构

    //do-while循环中的语句至少会执行一次
    do{
    执行的语句 }while(条件表达式)

    for结构

    //for循环的特点是,定义变量,条件表达式,迭代都是在for循环中定义的,for循环是最灵活,最有效地循环
    for(int i=1;i<=5;i++){
    System.out.println(i+"\t");
    }
    //for循环的快捷键,数字.for

    增强型for结构

    //就是为数组而生的,将数组中的每一个元素都一一赋值给x,for每循环一次赋一个
    int[] numbers={1,2,3,4,5,6}
    for(int x:numbers){
    System.out.println(x);
    }
    //增强型for循环的快捷键,数组.for

Java流程控制与Scanner类的使用的更多相关文章

  1. Java流程控制(Scanner)

    3.1用户交互Scanner 可以通过Scanner类来获取用户的输入: 语法: Scanner s = new Scanner(System.in); 通过Scanner类的next()与nextL ...

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

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

  3. JAVA流程控制

    JAVA流程控制 example1: --输出九九乘法表 public class chengfabiao { public static void main (String[] args){     ...

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

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

  5. 4. Java流程控制

    4.Java流程控制 4.1.用户交互Scanner 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.util.Scann ...

  6. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

  7. Java流程控制练习--万年历

    Java流程控制练习--万年历 标签: Java入坑之旅 0x01. 打印倒三角和正三角 public static void main(String[] args) { // TODO Auto-g ...

  8. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

  9. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

随机推荐

  1. Python写一个对象,让它自己能够迭代

    仿写range()对象,对象是可迭代的: 1 #!usr/bin/env python3 2 # -*- coding=utf-8 -*- 3 4 class myRange(): 5 #初始化,也叫 ...

  2. Core3.0返回的数据格式xml或json

    前言 此方法从百度得,原文链接找不到了 步骤 //WebAPI接口返回xml格式,由Accept.application决定 services.AddMvc(opt => { opt.Respe ...

  3. 10天,从.Net转Java,并找到月薪2W的工作(三)

    放弃Offer之后,压力一天比一天打 好点的公司,除了技术追根问底,还对你平时代码实践问的很多.比如问你,redis缓存一般设置多大.问你项目内容的细节,业务流程. 集合.锁.Jvm.多线程高并发.微 ...

  4. qt界面设计

    需求 需要不同界面同样的位置有上下的公共部分 分解 在WPF中我亦接触到需要这样做的程序.在wpf中我将上下公共部分作为界面基类,其它界面都继承这个基类.我用qt准备定义一个stackedpanel, ...

  5. Spring Data Cache

    Spring Data Cache注解使用 方法是一个对象,使用对象中的属性,如ID,作为cache key RedisConnection超时设置 参考 SpringBoot使用Redis缓存

  6. matplotlib中subplots的用法

    1.matplotlib中如果只画一张图的话,可以直接用pyplot,一般的做法是: import matplotlib.pyplot as plt plt.figure(figsize=(20,8) ...

  7. excel字符串拼接

    函数:CONCATENATE() 参数可以是文本值.数字或单元格引用. 文本值和数字使用双引号括住,单元格引用直接使用.例如 =CONCATENATE("abc",A2),设A2为 ...

  8. Java并发包源码学习系列:CLH同步队列及同步资源获取与释放

    目录 本篇学习目标 CLH队列的结构 资源获取 入队Node addWaiter(Node mode) 不断尝试Node enq(final Node node) boolean acquireQue ...

  9. HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验

    HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验 硬件平台 基于正点原子战舰V3开发板 MCU:STM32F103ZET6 片上SRAM大小:64KBytes 片上FLASH大小 ...

  10. 2021升级版微服务教程—为什么会有微服务?什么是SpringCloud?

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...