一、数组越界
java.lang.ArrayIndexOutOfBoundsException
在进行判断条件的时候,注意java当中的数组“尾巴”不要溢出,数组arr的合法错误范围是[0, arr.length-1]
- 解决办法
- ①debug看数组的尾巴部分输出情况【数组空间小的情况】
- ②打印出遍历数组的索引值【通法】
回顾java初始化数组的方式:
- 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,有系统决定数组的长度
arrayName = new type[]{element1,element2,element3…}
int[] intArr;
intArr = new int[]{1,2,3,4,5,9};
或者
String[] strArr = {"one","two","three"};
- 动态初始化:初始化时由程序员指定数组的长度,由系统初始化每个数组元素的默认值
arrayName = new type[length];
int[] price = new int[4];
二、printf;println;print
- printf:遇到浮点型数值,继承C语言里面的使用,格式化输出(注意,参数顺序)
- print:就是一般的标准输出,但是不换行
- println:比print多的就是最后会换行
int i = 4;
double j = 5;
System.out.print("用print输出i:"+ i);
System.out.println( "用println输出i:"+ i);
System.out.printf("i的值为%d,j的值为%f", i,j);
用print输出i:4用println输出i:4
i的值为4,j的值为5.000000
- printf补充
%.2f
的意思是输出两位小数点