Java核心技术卷1学习笔记2
1.输入与输出
1.打印输出到标准输出流,调用System.out.println;读取标准输入流System.in,需要构造Scannery对象,并与标准输入流System.in关联。如:
Scanner in=new Scanner(System.in);
2.nextLine方法将输入一行;nextInt方法读取一个整数;nextDouble方法读取下一个浮点数。
3.Scanner类定义在Java.util包中,使用时,程序开头加上:
imporrt java.util.*;
4.输入是可见的,所以Scanner类不适用于从控制台输入密码。使用Console类来实现这个目的。
5.格式化输出:
6.文件输入与输出
要想对文件进行读取,就需要一个用File对象构造一个Scanner对象,如:
Scanner in=new Scanner(Paths.get("myfile.txt"),"UTF-8");
若文件名中包括反斜杠符号,就在斜杠前再加一个斜杠。
要想写入文件,就需要构造一个PrintWriter对象。
2.控制流程
1.块作用域
2.条件语句
if…else…
3.循环
while
4.多重选择
switch
5.中断控制流程语句
break。可使用带标签的break语句跳出多重循环。标签放在希望跳出的最外层循环之前,必须紧跟一个冒号。如果输入有误,通过执行带标签的break跳转到带标签的语句块末尾。对于任何使用break语句的代码都需要检测循环是否正常结束,还是用break跳出。
3.大数值
如果基本的整数和浮点数精度不能够满足要求,那么可以使用BigInteger和BigDecimal两个类。
4.数组
1.声明并创建数组,如:
int[] a=new int[100];
或int a[]=new int[100];
2.数组初始化以及匿名数组
如:
int[] a={1,2,3,4,5};
这里不需要调用new。还可以初始化匿名数组:
new int[] {11,12,13,14,15};
使用这种语法可以在不创建新变量的情况下重新初始化一个数组。如:
a=new int[] {11,12,13,14,15};
3.数组拷贝
可以使用Arrays类中的copyOf方法将一个数组的所有值拷贝到一个新的数组中;通常可用来增加数组大小。
4.数组排序
可使用Arrays类中的sort方法,这个方法使用了优化的快速排序算法。如:
int[] a=new int[10000];
..........
Arrays.sort(a)
5.多维数组
多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。