1.所属java.util包 需要import导包
2.通过一个带输入流的构造方法来创建对象
3.常用方法
nextLine next nextInt (nextFloat nextByte等等除了没有nextChar)
1. 读取方式上来说 都以回车符作为结束符号
除了nextLine以外其余方法都不读取回车符
- 读取的返回结果来说 nextInt—->int nextFloat—->float
nextLine—->String next—->String
next方法看到空格或回车都认为是结束 nextLine只认为回车是结束
输入abc df g 输入abc df g
读取abc 读取abc df g
利用包装类做String与基本类型的转化问题
int value = Integer.parseInt(“123”);//如果字符串不是整数 就会产生异常NumbeFormatException
读取小数可以用Float.parseFloat(“123.45”);
import java.util.Scanner;
public class TestScanner {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入密码:");
String password = input.nextLine();//阻塞效果
//解决方法
//1.利用nextLine方法读取一个空回车符
//input.nextLine();
//2.利用next方法读取字符串 其读取方法与nextInt一样 不读回车符
//input.next();
//3.将账号和密码都统一用nextLine来读取的
//如何将String转换为int类型? 基本类型和引用类型不能直接转换
//基本<---包装类--->引用 通过包装类来互相转换
//包装类共八个对应基本类型的八个 int-Integer char-Character byte-Byte
//float-Float 改成首字母大写就行
//String--->int 用Integer.parseInt();
//int--->String 任意一个数字+""就可以 如5+""
int value = Integer.parseInt(password);//若输入的是abc 会出现异常
// NumberFormatException 数字格式化异常
System.out.println("请输入账号:");
String name = input.nextLine();//阻塞效果 等待控制台输入才能继续执行
System.out.println("我接收到的账号为:"+name);
System.out.println("我接收到的密码为:"+password);
//System.out.println(5+5+"5"+5+5);//输出10555
}
}