API概述
API(Application Programming Interface)应用程序编程接口。Java API是一本程序员的字典,我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用他们。
API使用**
1.如上图所示文件,这就是由sun公司为我们提供的Java API,里面基本有你所不会的Java基础的所有内容。
2.双击打开以后出现的是这样一个界面。
3.一般我们使用的时候先点显示,出现如图界面:
4.我们以字符串类String为例讲解怎么使用API
5.找到API右侧滑块,向下拉,可以看到
6.继续往下拉,我们可以查看到这个类中所提供的所有方法
7.我们来看一下方法的详细说明都有什么
Scanner类概述**
java.util.Scanner是Java5的新特征,主要功能是键盘录入数据。
构造方法**
构造一个新的Scanner,它生成的值是从指定的输入流扫描的。source:输入流
public Scanner(InpuStream source):
例如:
Scanner scanner = new Scanner(System.in);
成员方法**
判断扫描器中当前扫描位置后是否还存在下一段
public boolean hasNext()
如何在此扫描器的输入中存在另一行,则返回true。
public boolean hasNextLine()
查找并返回来自此扫描器的下一个完整标记。
public String next()
此扫描器执行当前行,并返回跳过的输入信息。
public String nextLine()
代码演示
把键盘录入的信息全部打印输出到控制台
public static void main(String [] args){
Scanner s = new Scanner(System.in);
while(s.hasNextLine()){
System.out.println(s.nextLine());
}
}
将输入信息的下一个标记扫描为一个int。
public int nextInt()
将输入信息的下一个标记扫描为一个long。
public long nextLong()
将输入信息的下一个标记扫描为一个short
public short nextShort()
注意事项**
1.使用nextInt()时输入的内容必须为数字,如果输入了字符串,程序结束并且会报异常:
java.util.InputMismatchException
2.nextInt()和next()判断读取结束的标识是空白符;比如空格,比如回车,比如tab...,而nextLine()的结束标识是回车也就是"\r"
import java.util.Scanner;
public class Test{
public staitic void main(String[]args){
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println("str"+str);//输出字符串的内容
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String newLine = scanner.nextLine();
System.out.println("newLine:"+newLine);//输出新行内容
}
}
3.next()和nextInt()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键,Tab键或Enter键等结束符,next()方法会自动将其去掉,而nextLine()不管是否读到有效字符,遇到结束符回车都会结束
4.next()和nextInt()读到有效字符后不会将结束符擦除,而nextLine()是会将结束符擦除的,看如下案例:
public class Test {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println("str:"+str);//输出字符串的内容
String newLine = scanner.nextLine();
System.out.println("newLine:"+newLine);//输出新行内容
String newLine2 = scanner.nextLine();
System.out.println("newLine2:"+newLine2);//输出新行内容
}
}
第一次输入“你好 tom”,回车:
a.str值为你好,因为str使用next()获取,结束标识为空格
b.str使用的next()获取的时候不会擦除结束标识空格,而且有回车,所以newLine识别到有结束符内 容就直接就出来了,为“ tom”(前面有空格)
c.因为第一个nextLine()将结束标识擦除了,所以newLine2的内容还需要再输入,假设 nextLine()不会擦除结束标识回车,则第一次输入回车的时候,两个nextLine()都会拿到值(第一个是“ tom”,第二个是“”),程序就结束了
5.同一个Scanner对象,不能先录入int,再录入String值,会出异常。
a.使用两个Scanner对象分别接收即可。
b.将第一个值,使用String类型,后转换为int即可。
int a = Integer.parseInt(str);
解决方式一:
Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
int num1 = sc1.nextInt();
String num2 = sc2.nextLine();
System.out.println(num1+":" + num2);
解决方式二:
Scanner sc3 = new Scanner(System.in);
String num1 = sc3.nextLine();
String num2 = sc3.nextLine();
int num3 = Integer.parseInt(num1);
//将String类型的数值,转化为int类型 (后续讲解)
System.out.println(num3+":" +num3);