目录
2、Scanner sc = new Scanner(System.in)
课前先导
我们前面也做了几个程序,可程序中的数据都是我们自己给的,而我们做开发,开发的项目是给客户的,要客户能自己输入数据,但不能让客户通过代码来修改数据,不然我们的代码谁都可以拿去用,谁都可以赋复制,所以,我们不能让客户看到我们的代码,我们要让客户通过控制台输入,这就要用到Scanner类的用法。
Scanner类是Java中util包中封装好的一个类,我们不需要去写这个类,直接引用就可以了。
一、Scanner类的用法
首先我们定义个早餐类Breakfast,我早餐一般是吃包子的,一块五一个,我们定义个字符串类型的变量foodName来存包子,定义个double变量来存单价。我每次去买包子,老板不会想给我拿几个就拿几个吧,他会问:要几个啊?我们定义个int变量的num来存我们要买的包子个数,这个是要我们自己输入的
接下来要顾客自己来输入包子的数量,要是老板想给几个就给几个,我不买了
上图就是运行的结果,因为程序是按顺序结构运行的,当程序运行到"num = sc.nextInt()"时;这条语句代表我们要输入一个int类型的数据,然后把这个数据赋值给num,我们没输入,程序就不会向下运行,最后一条语句就不会输出。
我早餐平稳发挥4个包子,超常发挥没试过,时间不够,就是感觉没吃饱
我们输入个4,然后回车,程序就会继续运行了,如果输入的数据不是int类型,那么机会报错!
二、Scanner语句分析
1、Scanner类
Scanner是java中util包中封装好的一个类,所以我们如果要用Scanner类的话一定要导入这个包;"import java.util.Scanner";我们在写代码的时候可以先不写这条语句,等输入完“Scanner sc = new Scanner(System.in)”会报错;我们把鼠标放在Scanner上,点击一下,就会在输入界面自动生成导包语句;导包语句的位置,一定要在包名和类名之间,否则会报错。
2、Scanner sc = new Scanner(System.in)
这里我们是声明了一个Scanner类的对象,java语言不就是面向对象编程嘛;这是我们跟对象这个概念的第一次接触,但我们还没学到对象,目前知道怎么用就好了,我们看下图
运用Scanner类不一定要先导包,但一定要导包。上图我们可以看到,我们声明了两个变量,都没有报错,这说明什么?类也可以做数据类型!!!这个我们先了解一下就好。
Scanner sc = new Scanner(System.in) 中 sc是对象名,就像变量名一样,可以随便定义;Scanner(System.in)是一个有参方法,目前我们还没学方法,知道一下就行。
3、Scanner获取不同类型的方法以及成员运算符(.)
import java.util.Scanner;
public class Draft {
public static void main(String[]