杂记
类型转换
强制转换,高–低
自动转换 低–高
int a =128;
double b =(byte) a;
System.out.println(b);
"C:\Program Files\Java\jdk1.8.0_202\bin\java.exe"
-128.0
Process finished with exit code 0
高转低,可能存在内存溢出,精度问题
可变参数
void appTest(String ...str){
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
变量需要放参数最后一位
回调函数
public static void main( String[] args ) {
App app = new App();
System.out.println(app.nFactorial(3));
}
public int nFactorial(int n){
if(n==1){
return 1;
}
return n*nFactorial(n-1);
}
堆、栈
1.堆内存用来存放由new创建的对象和数组。
2.栈内存用来存放方法或者局部变量等
3.堆是先进先出,后进后出
4.栈是后进先出,先进后出
数组
静态初始化:
int[] a = {1,2,3};
动态初始化:
int[] a = new int[2];
a[0]=11;
a[1]=12;
数组是引用类型,它的元素相当于子类的实例变量。一经分配空间,默认初始化。
四个基本特点:
长度确定,类型相同、元素可以是基础或引用类型、数组变量是引用类型。
反转数组
public static void reverse(){
int[] intArray = {1,5,2,4,8,9};
int[] reverseIntArray = new int[intArray.length];
for (int i = 0,j=intArray.length; i < intArray.length; i++,j--) {
reverseIntArray[j-1] = intArray[i];
}
printArray(reverseIntArray);
}
public static void reverseByHalf(){
int[] intArray = {1,5,2,4,8,9};
int cycles = intArray.length/2;
int lastIndex = intArray.length-1;
int tempValue = 0;
for (int j = 0; j < cycles; j++) {
tempValue = intArray[j];
intArray[j]=intArray[lastIndex-j];
intArray[lastIndex-j]=tempValue;
}
printArray(intArray);
}