流程控制

用户交互Scanner

  1. Scanner**对象**

    下面是创建 Scanner 对象的基本语法:

     Scanner s = new Scanner(System.in);

    接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。

  1. next & nextLine

    public static void main(String[] args) { 
       //创建一个扫描器对象,用于接收键盘数据
       Scanner scanner = new Scanner(System.in); //next方式接收字符串
       System.out.println("Next方式接收:");
       //判断用户还有没有输入字符
       if (scanner.hasNext()){
           String str = scanner.next();      
           System.out.println("输入内容:"+str);
      }
       //凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就会觉得 卡,这一个道理.
       scanner.close();
    }

    测试数据:Hello World!

    结果:只输出了Hello。

    public static void main(String[] args) { 
       Scanner scan = new Scanner(System.in);
       // 从键盘接收数据 // nextLine方式接收字符串
       System.out.println("nextLine方式接收:");
       // 判断是否还有输入
       if (scan.hasNextLine()) {
           String str2 = scan.nextLine();
           System.out.println("输入内容:" + str2);
      }
       scan.close();
    }

    测试数据:Hello World!

    结果:输出了Hello World!

    两者区别:

next():

  • 一定要读取到有效字符后才可以结束输入。

  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

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

nextLine():

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

  • 可以获得空白。

三种结构

顺序结构

选择结构

if单选择结构

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

if双选择结构

if(布尔表达式){ //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

if多选择结构

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

嵌套的if结构

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

switch多选择结构

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

当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必

须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现

break 语句。switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何

位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分

支不需要 break 语句。

循环结构

主要三种循环结构

  • while 循环

  • do…while循环

  • for 循环

while先判断后执行。dowhile是先执行后判断!

99乘法表

for (int i = 1; i <= 9 ; i++) { 
   for (int j = 1; j <= i; j++) {
       System.out.println(j + "*" + i + "=" + (i * j));
  }
   System.out.println();
}

另外有增强for循环

for(声明语句 : 表达式) 
{
   //代码句子
}

JavaSE基础语法学习-流程控制的更多相关文章

  1. Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...

  2. Java基础语法与流程控制

    Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...

  3. Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制

    Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...

  4. Java基础语法02——流程控制

    流程控制:顺序结构.分支结构(if-else.switch-case).循环结构(for.while.do-while)

  5. JavaSE基础语法学习-异常

    异常 异常指程序运行中出现的不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等. 异常发生在程序运行期间,它影响了正常的程序执行流程. 比如说,你的代码少了一个分号,那么运行出来结果是提示是 ...

  6. python基础语法2 流程控制 if,while,for

    if语句: 什么是if? 主要是用于判断事物得对错,真假,是否可行 语法结构: python是通过缩进来决定代码的归属 pep8: 缩进一定是四个空格 tab键 if 条件: 代码块 .... ... ...

  7. JavaSE基础语法学习-方法&数组

    方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某 ...

  8. JavaSE基础语法学习

    标识符 表示类名的标识符用大写字母开始. 表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始. 注意 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($).或者下划线(_)开始 ...

  9. Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合

    前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...

随机推荐

  1. C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()

    转载: 1.https://blog.csdn.net/fengbingchun/article/details/6075716 2. 转自:http://hi.baidu.com/andywangc ...

  2. 【题解】[USACO07OPEN]Dining G

    \(Link\) \(\text{Solution:}\) 这一题,我们要做到,食物和牛.牛和饮料均为一对一的关系.我们发现这个图不好建立. 经典技巧:将牛拆边,拆成入点和出点,并连容量为\(1\)的 ...

  3. 入职大厂,齐姐精选的 9 道 Java 集合面试题

    Java 集合框架其实都讲过了,有一篇讲 Collection 的,有一篇讲 HashMap 的,那没有看过的小伙伴快去补下啦,文末也都有链接:看过的小伙伴,那本文就是检测学习成果的时候啦 今天这篇文 ...

  4. DX12龙书 01 - 向量在几何学和数学中的表示以及运算定义

    0x00 向量 向量 ( vector ) 是一种兼具大小 ( magnitude ) 和方向的量. 0x01 几何表示 几何方法中用一条有向线段来表示一个向量,其中,线段长度代表向量的模,箭头的指向 ...

  5. 解决SpringBoot 定时计划 quartz job 任务重复执行多次(10次)

    上一篇:SpringBoot多任务Quartz动态管理Scheduler,时间配置,页面+源 设置了多个 任务,本应该是各司其职的,任务调用多线程处理任务,but这个定时任务竟然同时跑了10次???如 ...

  6. crontab极简教程

    目录 crontab简介 crontab常用命令 示例 crontab简介 Linux crontab是用来定期执行程序的命令. 当安装完成操作系统之后,默认便会启动此任务调度命令. crontab常 ...

  7. CentOS8平台php日志的定时切分

    一,编写bash脚本: [root@yjweb crontab]# vi split_php_logs.sh 代码: #!/bin/bash # 备份php/php-fpm的日志 # 昨天的日期 fi ...

  8. PHP出现access denied问题及解决办法

    配置好PHP环境后,访问页面,页面上只出现了 Access denied字样. 问题分析 打开 /usr/local/php/etc/php.ini 文件,找到 cgi.fix_pathinfo ; ...

  9. flutter——android报错建议Suggestion: add 'tools:replace="android:label"'

    问题: 安装了一个新包,android出现了报错,建议add 'tools:replace="android:label"'. 原因: 项目application的label属性冲 ...

  10. 基于Spring读写分离

    为什么是基于Spring的呢,因为实现方案基于Spring的事务以及AbstractRoutingDataSource(spring中的一个基础类,可以在其中放多个数据源,然后根据一些规则来确定当前需 ...