Scanner类具有方法next()和nextLine()来分别读取,下一个和下一行用户的输入数据。
next()的读取以空格为结束符,nextLine()的读取以回车为结束符。
Scanner in = new Scanner(System.in);
//判断是否有下一个输入
if(in.hasNext()){
String a = in.next();
System.out.println(a);
}
//循环输入数据,一行一行输入
while (in.hasNextLine()) {
//如果不加下面一行,则换行符也会被读入进来。
in.nextLine();
String line = in.nextLine();
System.out.println("nextline:"+nextline);
}
2.Scanner的进阶
Scanner除了有判断下一个数据,还有针对某种数据类型输入的判断:
scanner.nextBigDecimal(); //下一个大浮点数
scanner.nextBigInteger(); //下一个大整数
scanner.nextBoolean(); //下一个布尔值
scanner.nextByte(); //下一个字节
scanner.nextDouble(); //下一个双精度浮点数
scanner.nextLong(); //下一个长整型
scanner.nextShort(); //下一个短整型
当一个二维数组中,大部分值都是0或者是相同的某个值时,可以采用稀疏数组的方法来压缩存储空间。稀疏数组主要由一个N + 1行3列的二维数组组成。其中N代表原数组中不同值的数量,3列分别代表不同值在原数组中的行,列,具体值。而第一行保存的是原始数组有多少行,列,和N。
下面图示为例:(左边是原始数组,右边是稀疏数组。)
Arrays排序方法,使用的排序算法是快速排序,时间复杂度为O(N)。
int[] array1 = new int[] {1,23,9};
Arrays.sort(array1);
2.Arrays.fill(array,val)
对数组进行填充的函数,将数组中所有值,填充为val.
Arrays.fill(array1,10);3.Arrays.toString(array)
将array进行输出,此时array最好是一维数组,不然输出出来可能不是想要的结果。
System.out.println(Arrays.toString(array1));4.Arrays.deepToString(array)
输出多维数组。
int[][][] array3 = new int[2][2][2]; System.out.println(Arrays.deepToString(array3));



