Java编程基础(Scanner类==>循环语句)

news2024/10/5 5:51:13

文章目录

  • 前言
  • 一、Scanner类
      • 1.创建Scanner对象
      • 2.使用
      • 3.实践
  • 二、if条件语句
      • 1.简单if语句
      • 2.if-else语句
      • 3.if-else if-else语句
      • 3.实践
  • 三、switch 开关语句
  • 四、循环语句
      • 1.for语句
      • 2.while语句
      • 3.do-while语句
      • 4.break和continue语句
  • 总结


前言

我们发现在学习Java语言编程基础时,有好多地方和C语言编程基础有点像的。但对于编程思想还是有点区别的;
Java:是面向对象的编程语言,强调以对象为中心进行编程,将数据和对数据的操作封装在类中,通过类的实例化创建对象来使用。例如,在 Java 中创建一个图形绘制程序,可以定义不同的图形类,如圆形类、矩形类等,每个类包含了图形的属性和绘制方法。
C:是面向过程的编程语言,侧重于通过函数的调用来实现程序的流程控制和功能实现。例如,用 C 语言编写一个数据处理程序,通常会定义一系列的函数来完成数据的读取、处理和输出等操作。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Scanner类

在Java语言中我们也可以接收从键盘输入的值,这时就需要用到我们的Scanner类,他是系统已经定义好的类。使用步骤如下:

1.创建Scanner对象

要使用Scanner类必须先创建它的对象并赋值给一个变量,格式为:

SCanner sc = new Scanner(System.in)

其中sc是变量名,可以任意命名。除变量外,其他内容不能更改。
我们在IDEA上演示一下:
在这里插入图片描述

当我们创建Scanner对象是,就会导入“import java.util.Scanner”这个就是导入Scanner类,类似于C语言中的include的一样。

2.使用

我们先创建了Scanner对象后,那么我们就可以使用了,那我们如何获得键盘上输入的数据呢?
我们最常用的为:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bed68b9cbb1d4a4aa8c2fd12aa79d469.png

根据我们的需求来使用这些变量,用起来相对比较麻烦,我们多多上手练习就可以更容易得记住了!

3.实践

简单的演示一下,当我们对这三种类型输入后,在键盘上打印出来:

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

二、if条件语句

if条件语句用来控制程序在满足某些条件的情况下执行某段特定的代码,不满足条件时转而执行其他语句。if条件语句有3种形式:简单if语句、if-else语句、if-else if -else语句。

1.简单if语句

格式为:

if(布尔表达式){
语 句;
}

我们要注意的是if语句括号里要是布尔表达式才可以,不然将会报错。如下:
在这里插入图片描述

正确的为:
在这里插入图片描述

表达式结果为true,则执行语句;结果为false,则执行其他语句。

2.if-else语句

格式为:

if(布尔表达式){
语句1;
}
else{
语句2;
}

表达式结果为true,则执行语句1;结果为false,则执行语句2。

3.if-else if-else语句

格式为:

if(布尔表达式1){
     语句1;
}
else if(布尔表达式2){
     语句2;
}
else if(布尔表达式3){
     语句3;
}
...
else if(布尔表达式m){
     语句m;
}
else{
     语句n;
}

表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3,依次类推。

3.实践

例:输入小明的考试成绩,若满分(100分),则输出“奖励200元!”,若成绩在80—100之间,则输出“奖励一顿KFC!”,若成绩在60—80之间,则输出“下次努力!”,若成绩低于60分,则输出“不及格!奖励一顿竹笋炒肉!”
如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f9e42d5e1da64c54a6e1fd92a637973f.png

输出:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、switch 开关语句

switch语句的一般格式:

switch(表达式){
 case 常量值1:{
    语句1;
    break;
 }
 case 常量值2:{
    语句2;
    break;
 }
 ...
 default:{
    //所有表达式常量值都不等于时执行该语句n
    语句n;
    break;
 } 
}

switch语句的执行过程:
1.先计算switch后表达式的值;
2.再依次于case后的常量值对比,若相等执行该case后的语句;然后break跳出switch结构;
3.若所有常量表达式的值都不等于switch后的表达式的值,则执行default后的语句。
例如:当我们设置一个简单的游戏页面时:

import java.util.Scanner;

public class TestOct {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("-------请选择-------");
        System.out.println("-------1.PLAY------");
        System.out.println("-------2.EXIT------");
        System.out.println("-------------------");
        int power = sc.nextInt();
        switch (power) {
            case 1:
                System.out.println("开始游戏!");
                break;
            case 0:
                System.out.println("退出游戏!");
                break;
            default:
                System.out.println("选择错误!重新选择!");
                break;
        }

    }
}

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意事项
(1)case后的常量表达式的值应该与 switch后面的表达式的值类型一致,并且跟在switch 后面的表达式的值和所有case 后面的觉量表达式的值都必须为整型或字符型,不允许为浮点型。
(2)同一个switch 语句中所有case 后面的常量表达式的值要互不相同,否则会出现值已存在的语法错误。
(3)当switch 表达式的值与某一个case 子句中的常量表达式的值相匹配时,就执行此case 子句中的内嵌语句;若所有的case子句中的常量表达式的值都不能与 switch 表达式的值匹配,则执行 default 子句的内嵌语句。
(4)各个 case 和 default子句的先后顺序的变动不会影响程序执行结果,但要注意:如果default子句前置,只有在后面加break 语句结果才正确,最后的分支语句可以不加break。
(5)多个 case 可以共用一组执行语句,例如:

case 1:
case 2:
case 3:
case 4: System.out.println("奖励200元!");

(6)每个case后面可以是一个语句,也可以是多个语句,还可以没有语句。当case后面是多个语句时,可以不用大括号括起来。

四、循环语句

编程的过程中,很多时候语句运行不止一次,这就需要用到循环结构。循环结构是指在给定条件(或表达式)成立时,反复执行某些程序语句或某个程序段,反复执行的程序段称为循环体。

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。

使用循环结构编程时,首先要明确两个问题:哪些操作需要反复执行?这些操作在什么情况下重复执行?这两个问题分别对应循环体和循环条件。

Java提供了3种类型的语句来实现循环结构,即for 语句、while 语句和 do-while 语句。

1.for语句

for语句的一般格式如下:

for(初始表达式;布尔表达式;循环表达式){
        循环体;
}

说明:
(1)初始表达式一般为赋值表达式,为循环控制变量赋初值;
(2)布尔表达式一般为关系表达式或逻辑表达式,作为控制循环的结束条件;
(3)循环表达式一般为自加或自减表达式,改变循环变量的值。
for语句的执行过程:
(1)先计算初始表达式,对循环变量初始化;
(2)判断条件表达式,若其值为真(值为非0),则转第(3)步,执行循环体,若为假
(值为0),则转第(6)步,结束循环执行循环后面的语句;
(3)执行循环体;
(4)计算循环表达式,更新循环变量的值;
(5)转回第(2)步继续执行;
(6)循环结束。
例:打印1—10的值;
在这里插入图片描述
运行:
在这里插入图片描述

2.while语句

while语句的一般格式:

while(表达式){
    循环体;
}

while语句的执行过程:先判断表达式的值,当表达式结果为true时,执行循环体,表达式结果为false时,结束循环。

例如:计算6的阶乘:

public class TestOct {
    public static void main(String[] args) {
        int n = 1;
        int result=1;
        while (n <= 6) {
            result *= n;
            n++;
        }
        System.out.println(result);
    }
}

运算结果:
在这里插入图片描述

3.do-while语句

do-while语句的一般格式为:

do{
    循环体;
}while(表达式);

do-while语句的执行过程:先执行一次指定的循环体,然后判断表达式,当表达式的值为真时,返回重新执行循环体语句,如此反复,直到表达式的值为假为止,此时循环结束。
例:计算1-100的和

public class TestOct {
    public static void main(String[] args) {
        int n=0;
        int i=1;
        do {
            n+=i;
            i++;
        }while (i<=100);
        System.out.println(n);
    }
}

运行结果:
在这里插入图片描述

3种循环的比较有以下几个方面。
(1)3种循环都可以用来处理同一问题,一般情况下它们可以互相代替。
(2)在while 循环和 do-while 循环中,只在 while 后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++或i=i+1等)。
(3)for循环可以在循环表达式中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到循环表达式中。因此,for语句的功能更强,凡是用 while 循环能完成的,用for循环都能实现。
(4)用 while 和 do-while循环时,循环变量初始化的操作应在while 和 do-while 语句之前完成。而for语句可以在初始表达式中实现循环变量的初始化。
(5)while 和for循环是先判断循环条件,后执行语句。而do-while 循环是先执行循环体,后判断循环条件。因此,while 循环和 for循环的循环体可能一次都不被执行,而do-while 循环的循环体至少被执行一次。

4.break和continue语句

break语句的一般格式如下:

break;

break语句的执行过程:终止switch语句或循环语句的执行,跳出当前break所在的控制结构,转去执行后面的语句;在寻找第一个出现的大于(或等于或小于)指定数的程序中必须用到break语句。

例:找到300-400中第一个8的倍数。

public class TestOct {
    public static void main(String[] args) {
        int num=300;
        while(num<=400){
            if(num%8==0){
                System.out.println("找到了"+num);
                break;
            }
            num++;
        }
    }
}

在这里插入图片描述

continue语句的一般格式如下:

continue;

continue语句的执行过程:终止本次循环的执行,即跳过循环体中continue后面的语句,直接下一次循环体的执行。
例:找到300-400所有为8的倍数的数。

public class TestOct {
    public static void main(String[] args) {
        int num=300;
        while(num<=400){
            if(num%8!=0){
                 num++;
                 continue;
            }
            System.out.println(num);
            num++;
        }
    }
}

运行结果:
在这里插入图片描述


总结

非常感谢大家阅读完这篇博客。希望这篇文章能够为您带来一些有价值的信息和启示。在未来的日子里,我们将继续探索更多关于博客技术的精彩内容,敬请期待。如果您有任何问题或建议,欢迎在评论区留言,我们一起交流学习。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GEE数据库】WRF常用数据集总结

【GEE数据库】WRF常用数据集总结 GEE数据集介绍数据1:MODIS数据集LAI(叶面积指数)和Fpar(绿色植被率)年尺度土地利用类型数据2:月反射率(Monthly Albedo)数据3:LULC和ISA参考GEE数据集介绍 GEE数据搜索网址-A planetary-scale platform for Earth science data &…

(PyTorch) 深度学习框架-介绍篇

前言 在当今科技飞速发展的时代&#xff0c;人工智能尤其是深度学习领域正以惊人的速度改变着我们的世界。从图像识别、语音处理到自然语言处理&#xff0c;深度学习技术在各个领域都取得了显著的成就&#xff0c;为解决复杂的现实问题提供了强大的工具和方法。 PyTorch 是一个…

9.30学习记录(补)

手撕线程池: 1.进程:进程就是运行中的程序 2.线程的最大数量取决于CPU的核数 3.创建线程 thread t1; 在使用多线程时&#xff0c;由于线程是由上至下走的&#xff0c;所以主程序要等待线程全部执行完才能结束否则就会发生报错。通过thread.join()来实现 但是如果在一个比…

08.STL简介

1. 什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的 组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架 2.发展历史 1. 起源与早期探索&#xff08;20世纪80年代初期&#xff09;&#xff…

可变形卷积(Deformable Convolution)是什么?

普通卷积 普通卷积&#xff08;dilation1&#xff09; 普通卷积就是特征图与卷积核的权重W相乘再求和 y(p0​) 表示输出特征图在位置 p0​ 的值。&#x1d465;(&#x1d45d;0&#x1d45d;&#x1d45b;)表示输入特征图在位置 pn​ 的值。&#x1d464;(&#x1d45d;&…

烟火烟雾检测数据集 9600张 烟雾火焰检测 带标注 voc yolo 2类 烟火数据集 烟雾数据集 烟火检测烟雾检测

烟火检测数据集 9600张 烟雾火焰检测 带标注 voc yolo 烟火检测数据集介绍 数据集名称 烟火检测数据集 (Fire and Smoke Detection Dataset) 数据集概述 该数据集专为训练和评估基于YOLO系列目标检测模型&#xff08;包括YOLOv5、YOLOv6、YOLOv7等&#xff09;而设计&#x…

malloc源码分析之 ----- 你想要啥chunk

文章目录 malloc源码分析之 ----- 你想要啥chunktcachefastbinsmall binunsorted binbin处理top malloc源码分析之 ----- 你想要啥chunk tcache malloc源码&#xff0c;这里以glibc-2.29为例&#xff1a; void * __libc_malloc (size_t bytes) {mstate ar_ptr;void *victim;vo…

Qt Quick 3D 入门:QML 3D场景详解

随着 Qt 6 的发布&#xff0c;QtQuick3D 模块带来了新的 3D 渲染和交互能力&#xff0c;使得在 Qt 中创建 3D 场景变得更加简单和直观。本文将带您从一个简单的 QML 3D 应用开始&#xff0c;详细讲解各个相关领域的概念、代码实现以及功能特点。 什么是 Qt Quick 3D&#xff1…

C++拾趣——绘制Console中Check Box

大纲 居中显示窗口清屏并重设光标绘制窗口绘制窗口顶部绘制复选项绘制按钮行绘制窗口底部 修改终端默认行为对方向键的特殊处理过程控制Tab键的处理Enter键的处理上下左右方向键的处理 完整代码代码地址 这次我们要绘制复选框&#xff0c;如下图。 居中显示窗口 按照界面库的…

网约班车升级手机端退票

背景 作为老古董程序员&#xff0c;不&#xff0c;应该叫互联网人员&#xff0c;因为我现在做的所有的事情&#xff0c;都是处于爱好&#xff0c;更多的时间是在和各行各业的朋友聊市场&#xff0c;聊需求&#xff0c;聊怎么通过IT互联网 改变实体行业的现状&#xff0c;准确的…

ExcelToWord-Excel套打Word-Word邮件合并工具分享

Excel to Word转换工具分享 在日常工作或学习中&#xff0c;我们常常需要将Excel中的数据导出到Word文档中&#xff0c;以便更好地展示信息。市场上有许多Excel to Word的转换工具&#xff0c;它们各有特色。今天&#xff0c;我们就来推荐几款这样的工具&#xff0c;并探讨一下…

如何使用虚拟机充当软路由

文章目录 前言下载系统把 iso 转为虚拟机使用 VMware 创建虚拟机 前言 很多人需要软路由&#xff0c;但是软路由需要设备的投入&#xff0c;我这里使用虚拟机充当软路由。省下了设备的投入。不过多花了电费。大家自己取舍吧。 下载系统 ImmortalWrt Firmware Selector 在上…

蓝桥等级考试C++组18级真题-2023-06-18

选择题 1 C L18(15分) 已定义double rate 3.921576&#xff1b;以下可以正确输出变量rate 的是()。 A printf("%d",rate)&#xff1b; B printf("%f",rate)&#xff1b; C printf("%ld",rate)&#xff1b; D printf("%r",rate)&#…

PhpStudy-PHP5.4.45后门漏洞应用程序(C++/base64/winhttp)

PhpStudy-PHP5.4.45后门漏洞应用程序&#xff08;C/base64/winhttp&#xff09; 前言引言&#xff08;时间回到多年前&#xff09; PhpShellCmd.exe使用介绍&#xff1a;&#xff08;1&#xff09;输入网址检测是否存在PHP/5.4.45&#xff08;2&#xff09;whoami&#xff08;3…

新闻推荐系统:Spring Boot与大数据

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

IP协议报文

一.IP协议报头结构 二.IP协议报头拆解 1.4位版本 实际上只有两个取值&#xff0c;分别是4和6&#xff0c;4代表的是IPv4&#xff0c;6代表的是IPv6。 2.4位首部长度 IP协议报头的长度也是边长的&#xff0c;单位是*4&#xff0c;这里表示的大小为0~15&#xff0c;当数值为1…

昇思学习打卡营第31天|深度解密 CycleGAN 图像风格迁移:从草图到线稿的无缝转化

1. 简介 图像风格迁移是计算机视觉领域中的一个热门研究方向&#xff0c;其中 CycleGAN (循环对抗生成网络) 在无监督领域取得了显著的突破。与传统需要成对训练数据的模型如 Pix2Pix 不同&#xff0c;CycleGAN 不需要严格的成对数据&#xff0c;只需两类图片域数据&#xff0c…

【redis学习篇1】redis基本常用命令

目录 redis存储数据的模式 常用基本命令 一、set 二、keys pattern keys 字符串当中携带问号 keys 字符串当中携带*号 keys 【^字母】 keys * 三、exists 四、del 五、expire 5.1 ttl命令 5.2key删除策略 5.2.1惰性删除 5.2.2定期删除 六、type key的数据类型…

数据结构--线性表(顺序结构)

1.线性表的定义和基本操作 1.1线性表以及基本逻辑 1.1.1线性表 &#xff08;1&#xff09;n(>0)个数据元素的有限序列&#xff0c;记作&#xff08;a1,a2,...an&#xff09;&#xff0c;其中ai是线性表中的数据元素&#xff0c;n是表的长度。 &#xff08;2&#xff09;…

【RabbitMQ】RabbitMQ学习

1. 发送流程 生产者 - connection - channel - 交换机 - 对列- channel - connection - 消费者 2. 工作模式 2.1. 简单模式&#xff08;点对点&#xff09; 一个消费者一个生产者&#xff0c;直接进行通信。 2.2. 工作对列模式 多个消费者共同消费消息对列中的消息。同一条…