写程序有两个最基本的东西,一个是输入,一个是输出。今天我想写点东西,来回顾一下当初自己在这一块的学习经历,也为0基础的朋友提供一点思路。(高手请略过。。。)
学习写程序相信大多数人都是从c语言开始,而c语言最基本的输入语句是scanf(),含在头文件<stdio.h>中。一般用ide创建一个.c文件的时候,ide已经将这个头文件自动包含进来了,所以不用我们在自己手动去#include。所以c语言的基本输入也是很方便,只要知道scanf(“占位符”, 变量地址)这条语句,就能搞定最简单的输入了。
但是,java不同。《Thinking in JAVA》里面提到一句很经典的话,叫做“万物皆对象”。java的方法都是放在类里面的,所以,要调用某个方法的时候,除了java.util.lang包里的成员和属性不用显示声明外,其余的方法、字段和属性(曾经在一部教学视频里学到过,有get/set方法的称之为属性,而没有的只能称作字段)都只有两种使用方式。一种是先创建对象,然后 对象名.方法名/字段名(大多数情况下字段是private,所以这一种很少见)/getXXX,第二种则不创建对象,直接将第一种中的对象名改为类名。
(拉回正题。。。)java的输入方法也都是放在类中的,最基本的输入类就是Scanner类,与上面提到的<stdio.h>不同,用ide创建一个java project的时候,ide并不会自动帮我们导入任何类,用到的都需要我们自己手动导入,而在一般的参考书中,很少有将Scanner作为基础类讲解的,所以很多初涉java的朋友,会用system.out,却不知道如何输入。
要想使用输入功能,则第一步就是在包语句下面跟上import语句,Scanner类是放在java.util包中的,所以就是import java.util.Scanner;
好了,导入了Scanner类,就能创建对象了,所以第二句,就是创建对象的语句。Scanner scanner(这里的scanner为对象名,自己随便取,嫌麻烦只写个s也行) = new Scanner(System.in);(这里的System.in代表的是标准输入,一般默认设备是键盘)
有了对象,就能调用方法了,最基本的几个方法
1.nextInt(),该方法就是从输入流中读取一个整形数据,例如我声明了一个int 型的变量count,然后写一句 count = scanner.nextInt(); , 那么当我从键盘上输入了一个 3 以后,count的值便变为了3。同理还有nextLine()跟next()。两个函数都是读取String类型,但是next()是从第一次遇到有效字符串开始,之后遇到第一次结束符结束,如空格或换行。而nextLine()是读取一整行,只以换行符为结束标志,也就是读取的字符串里面可以有空格。
2.还有hasNextInt()等前缀是has的函数,读取功能与上述相符,但是返回类型都是boolean型,此类方法常用于while的条件,用来控制循环读取。
packge 包名;
import java.util.Scanner;
class 类名 {
方法声明 {
int number;
Scanner scanner = new Scanner(System.in);
number = scanner.nextInt();
System.out.println(number);
}
}
如上代码所示,则声明的方法的作用即是从键盘输入一个整形数据,并输出。
这是对Scanner类最浅显的学习。