七天速通javaSE:第三天 程序控制结构:顺序、选择、循环

文章目录

  • 前言
  • 一、Scanner类
    • 1. hasNext()和hasNextLine()
    • 2.next()和nextLine()
    • 3. Scanner的其他用法
  • 二、顺序结构
  • 三、选择结构
    • 1. if单选择结构
    • 2. if-else双选择结构
    • 3. if-else if多选择结构
    • 4. switch选择结构
  • 四、循环结构
    • 1. while循环
    • 2.do while循环
    • 3. for循环(常用)
    • 五、小知识:


前言

前面几篇文章学习了java的基础语法,本篇文章将带领大家学习编程的核心:程序控制结构。学会了顺序、选择、循环三种基本的结构之后,我们就可以写一些正式的程序了


一、Scanner类

之前我们学习的基础语法中,数据都是写死的,没有实现程序与人的交互。在Java中,我们用Scanner对象来获取并存储用户从键盘上输入的数据。

语法:Scanner s = new Scanner(System.in);


import java.util.Scanner;//import导入Scanner包
public class Scanner1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请你任意输入一个字符");
        //判断用户有没有输入字符串
        if (input.hasNext()){
            //使用next()方法接收
            String a = input.next();
            System.out.println("Hello Wold!"+a);
        }
        //凡是属于IO流的类不关闭就会一直占用资源,要养成良好习惯,用完就回收。
        input.close();
    }
}

在这里插入图片描述

1. hasNext()和hasNextLine()

hasNext()方法:判断接下来是否有非空字符.如果有,则返回true,没有则阻塞。(回车属于空字符)
hasNextLine()方法:根据行匹配模式去判断接下来是否有一行(包括空行),如果有,则返回true。(敲了回车都是true)

2.next()和nextLine()

作用:监听用户键盘输入的行为
选择哪一个:与变量的数据类型保持一致
注意:next()不能得到带有空格的字符串
在这里插入图片描述

3. Scanner的其他用法

        Scanner input = new Scanner(System.in);
        int i = 0;
        float f = 0.0f;

        System.out.println("请输入整数");
        if(input.hasNextInt()){
            i = input.nextInt();
            System.out.println("整数数据:"+i);
        }else{
            System.out.println("输入的不是整数数据");
        }

        System.out.println("请输入小数");
        if(input.hasNextFloat()){
            f = input.nextFloat();
            System.out.println("小数数据:"+f);
        }else{
            System.out.println("输入的不是小数数据");
        }

在这里插入图片描述
在这里插入图片描述

二、顺序结构

按照程序从上到下、从左到右依次执行

顺序结构是最基本的控制流程,也是程序默认的执行方式。

三、选择结构

1. if单选择结构

在这里插入图片描述

  • 语法:
 if(条件表达式){
            执行的语句
        }

2. if-else双选择结构

在这里插入图片描述

  if(条件表达式){
       
    }else{
        
    }

3. if-else if多选择结构

 if(条件表达式){
       
    }else if(条件表达式){
        
    }else if(条件表达式){
        
    }else{
        
    }
       Scanner input = new Scanner(System.in);
        double score = input.nextDouble();
        //else if:除了if()以外的范围里比较
        if(score==100){
            System.out.println("恭喜你,考了满分,你真棒");
        }
        //比较范围:99~90
        else if(score>=90){
            System.out.println("A");
        }else if(score>=80){
            System.out.println("B");
        }else if(score>=60){
            System.out.println("c");
        }else {
            System.out.println("D");
        }

4. switch选择结构

switch ( expression ){
    case 常量1:
         语句1;
       //跳出选择,不再执行后面的语句
         break;
    case 常量2:
         语句2;
         break;
  //其他
    default:
         语句;
         break; 
}   
switch 语句会先计算表达式的值

注意:

  1. switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
  2. 每个语句都要加上break,否则会继续执行下一语句,不会跳出。

在这里插入图片描述
在这里插入图片描述

Scanner input = new Scanner(System.in);
        String grade = input.next();
        switch (grade){
            case "A":
                System.out.println("优秀");
                break;
            case "B":
                System.out.println("良好");
                break;
            case "C":
                System.out.println("及格");
                break;
            default:
                System.out.println("不合格");

        }

四、循环结构

1. while循环

        //循环打印1~100;
        int i = 1;//初始化
        	 //布尔表达式
        while(i<=100){
            System.out.println(i);
            i++;更新
        }
//基本结构
while(布尔表达式) {
    循环体;
}

2.do while循环

do while循环跟while循环唯一的区别是:while条件的先置与后置;

//基本结构
do {
    循环体;
}whlie(布尔表达式);

在这里插入图片描述

3. for循环(常用)

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构

//基本结构
for(初始化;布尔表达式;更新){
    循环体;
}
for (int i = 0; i <= 100; i++) {
            System.out.println(i);
        }

五、小知识:

反编译class文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743382.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统学习——指令四

Linux系统学习——指令四 Linux 系统学习——指令四查看文件MD5校验和fuser 指令基本语法常用选项访问类型使用示例 系统信息 Linux 系统学习——指令四 查看文件MD5校验和 在Linux中&#xff0c;你可以使用 md5sum 命令来查看一个文件的MD5校验和。以下是具体的操作方法&…

超细毛搭配超宽设计,一款更呵护牙龈的牙刷

牙龈敏感的时候&#xff0c;刷牙特别难受&#xff0c;最近试了试惠百施&#xff08;EBISU&#xff09;65孔宽头软毛牙刷&#xff0c;感觉它的口腔护理体验很不错。这款牙刷的设计独特&#xff0c;采用宽头设计&#xff0c;一次就能刷两排牙齿&#xff0c;极大地提高了清洁效率。…

ServBay[中文] 下一代Web开发环境

ServBay是一个集成式、图形化的本地化Web开发环境。开发者通过ServBay几分钟就能部署一个本地化的开发环境。解决了Web开发者&#xff08;比如PHP、Nodejs&#xff09;、测试工程师、小型团队安装和维护开发测试环境的问题&#xff0c;同时可以快速的进行环境的升级以及维护。S…

解决msvcp120.dll问题的详细步骤,分析msvcp120.dll文件

msvcp120.dll文件是Microsoft Visual C Redistributable Package for Visual Studio 2013中的一个组件。如果提示你丢失该文件&#xff0c;通常意味着程序试图调用一个未在你电脑上安装的Visual C版本。下面是解决此问题的详细步骤。 msvcp120.dll丢失的解决方法 方法 1&#…

报餐小程序可以运用在饭堂的哪方面

随着科技的快速发展&#xff0c;智能化、信息化的管理方式逐渐渗透到我们日常生活的方方面面。在饭堂管理中&#xff0c;报餐小程序的应用为传统的餐饮管理方式带来了革命性的变革。本文将探讨报餐小程序在饭堂管理中的应用及其带来的优势。 一、报餐小程序的基本功能 报餐小程…

轮播图的制作大全

例如该样式: 1.Vue的方法(可实现自动轮播和左右按钮和下方原点按钮轮播) <div id="app"><div class="a" ref="b" @mouseenter="MouseFun(c)" @mouseleave="MouseFun(d)">//1.图片显示盒子<div class=&qu…

python-17-零基础自学python-

学习内容&#xff1a;《python编程&#xff1a;从入门到实践》第二版 知识点&#xff1a; 类、子类、继承、调用函数 练习内容&#xff1a; 练习9-6&#xff1a;冰激凌小店 冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类&#xff0c;让它继承为完成练习9-1或…

JAVA每日作业day6.25

ok了家人们今天我们学习了&#xff0c;接口这个知识&#xff0c;我们闲话少叙&#xff0c;一起看看吧。 一&#xff0c;接口 1.1 接口概述 接口是功能的集合。接口的内部主要就是定义方法&#xff0c;包含常量&#xff0c;抽象方法&#xff08;JDK 7及以前&#xff09;&#…

Qt案例-ApplicationExamples-Calqlatr

项目 一个Qt Quick应用程序设计的横向和纵向设备&#xff0c;使用自定义组件&#xff0c;响应式布局和JavaScript的应用程序逻辑。 项目路径&#xff1a; Qt\Examples\Qt-6.7.1\demos 环境&#xff1a;Qt6.7.1 MSVC 2019 64位 项目目录&#xff1a; calqlatr--CMakeList.txt…

详解 ClickHouse 的分片集群

一、简介 分片功能依赖于 Distributed 表引擎&#xff0c;Distributed 表引擎本身不存储数据&#xff0c;有点类似于 MyCat 之于 MySql&#xff0c;成为一种中间件&#xff0c;通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据 ClickHouse 进行分片集群的…

PHP环境搭建之使用PhpStudy

文章目录 1 PhpStudy1.1 简介1.2 下载&安装1.3 修改配置1.3.1 Apache配置1.3.2 MySQL配置1.3.3 MySQL启动问题 1.4 Composer1.4.1 简介1.4.2 下载安装1.4.3 修改配置1.4.4 使用命令 1 PhpStudy 1.1 简介 phpstudy是一个php运行环境的集成包&#xff0c;用户不需要去配置运…

如何设置windows计划任务

如何设置windows计划任务 前言&#xff1a;在工作过程中写了一个python脚本&#xff0c;用于调用jira接口查询bug单数量&#xff0c;想要在本地定时任务执行&#xff0c;每天发送到钉钉群提醒&#xff0c;写下操作步骤用于记录。 1. 准备 Python 脚本 确保你的 Python 脚本已…

北京崇文门中医医院贾英才主任:脑梗治疗新探索

脑梗&#xff0c;是众多患者心中的阴霾&#xff0c;它的突然来袭&#xff0c;常常让人猝不及防。 一旦发作&#xff0c;偏瘫、失语等症状接踵而至&#xff0c;给患者及其家庭带来沉重的打击&#xff0c;极大地影响了生活的质量。 造成脑梗频发的原因究竟是什么&#xff1f;中…

从特斯拉视角,看智能驾驶研究框架

第一章:回顾历史&#xff0c;智能驾驶的核心主线是算法的演进史&#xff0c;从2017年至今在感知侧规控侧实现算法从规则为主走向端到端。算法方面&#xff0c;2017-2022年&#xff0c;特斯拉在感知侧走向端到端&#xff0c;实现BEVTransformerOccupancy。2021-2023年&#xff0…

算法题--华为od机试考试(最大坐标值、寻找最富裕的小家庭、两个字符串间的最短路径问题)

目录 最大坐标值 题目描述 输入描述 输出描述 示例1 输入 输出 说明 解析 答案 寻找最富裕的小家庭 题目描述 输入描述 输出描述 示例1 输入 输出 说明 解析 答案 两个字符串间的最短路径问题 题目描述 ​编辑 输入描述 输出描述 示例1 输入 输出 …

类和对象(封装、继承、多态、友元)

c面相对象的三大特性为&#xff1a;封装、集成、多态 c 认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 一、类和对象&#xff08;封装&#xff09; &#xff08;一&#xff09;封装的意义 封装是c面相对象的三大特性之一 封装的意义&#xff1a; 将属性和行为…

【应用开发一】LED开发

文章目录 1应用层控制外设的两种方式2 sysfs和/sys关系3 LED控制方式3.1 基本情况3.2 LED属性文件介绍3.3 命令行属性测试3.4 led程序3.5 开发板上测试 1应用层控制外设的两种方式 使用设备文件控制 在Linux系统下&#xff0c;一切皆是文件。应用层控制底层硬件同样也是通过文…

HarmonyOS开发 - 日志打印

在程序开发过程中&#xff0c;日志输出是不可或缺的一部分。能有效的记录和分析日志数据&#xff0c;使开发人员可以更好地了解程序的运行状况、解决问题、优化性能并满足合规性要求等。 当程序出现错误或异常时&#xff0c;日志记录输出可以帮助开发人员快速定位问题发生的位置…

Docker 从入门到精通(大全)

一、概述 1.1 基本概念 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。…

基于CRITIC-TOPSIS法的各地区评价

1.CRITIC-TOPSIS法原理 1.1 基本理论 CRITIC-TOPSIS法是一种结合CRITIC&#xff08;Criteria Importance Through Intercriteria Correlation&#xff09;法和TOPSIS&#xff08;Technique for Order Preference by Similarity to Ideal Solution&#xff09;法的综合评价方法…