JAVA基本语法注意事项(2)
用户交互Scanner类
注意事项:
- 凡是属于IO流的类,如果不关闭就会一直占用资源,要养成好习惯用完就关掉。
Scanner scanner = new Scanner(System.in);
//代码
scanner.close();
- next()方法不能得到带有空格的字符串。
Scanner scanner = new Scanner(System.in);
String str = scanner.next();//输入:Hello World
System.out.println(str);//输出:Hello
//一般使用nextLine()方法
scanner.close();
顺序结构
- JAVA基本结构就是顺序结构。
- 顺序结构是任何一个算法都离不开的一种基本算法结构。
方法
- 设计方法时,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于后期的拓展。
- return语句除了有返回值得作用,还有终止方法的作用。
- JAVA是值传递。
- 一个方法只能指定一个可变参数(int… a),它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
- 递归没有递归头将会陷入死循环,递归尽量解决递归次数较少的功能。
数组
- 数组的长度是确定的。一旦被创建,它的大小将不可被改变。
- 数组也是对象。
- 冒泡排序。
public static int[] sort(int[] array){
int temp = 0;//临时变量
for(int i = 0;i < array.length - 1;i++){ //外层循环,判断要走多少次
for(int j = 0;j < array.length - 1 - i;j++){ //内层循环,两个数进行比较,如果第一个数比第二个数大,则交换位置
if(array[j + 1] > array[j]){
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
return array;
}
- 稀疏数组(当一个数组大部分元素为0,或者为同一值的数组时,可以使用稀疏数组保存)。
比如:二维数组
0 0 0 0 0
0 3 1 0 0
0 0 0 0 9
2 6 0 7 0
0 0 0 0 0
用稀疏数组可以表示为:
行 | 列 | 值 | |
---|---|---|---|
[0] 记录数组有几行几列,共有几个有效值 | 5 | 5 | 6 |
[1] 第一个有效值在数组中的位置 | 1 | 1 | 3 |
[2] 第二个… | 1 | 2 | 1 |
[3] 第三个… | 2 | 4 | 9 |
[4] 第四个… | 3 | 0 | 2 |
[5] 第五个… | 3 | 1 | 6 |
[6] 第六个… | 3 | 3 | 7 |