自学内容网 自学内容网

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


前言

我们发现在学习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++;
        }
    }
}

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


总结

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


原文地址:https://blog.csdn.net/2401_84365662/article/details/142702490

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!