1、else本身也是一个条件
2、break通过标签可以结束多层循环。
3、return可以结束一个方法,同时可以结束多层循环。
4、数组的初始化
静态初始化
int[] num = new int[] {1,2,....};
int[] num = {1,2,....};//静态初始化简化写法
Object ss = new String[]{"aa","tt"};//多态
var num = new int[] {1,2,...};
没有 var num = {1,2,...}
动态初始化:只是分配好内存,内容全部设置为默认值。
int[] num = new int[13];
Object[] books = new String[5];
5、java中,堆和栈的区别,
每调用一个方法都会生成一个栈,方法结束,栈也会被销毁。栈中存储变量,这些数据是有生命周期的,速度快,但不灵活。栈存储基本数据类型或者一个引用对象的地址值。每个方法的调用都会新开辟一个对应的方法栈区,方法调用结束后,栈就会被销毁,但堆区不会。堆区每个JVM都只有一个。
堆存放创建的对象,没有生命周期,一个对象不再被引用时(也就是没有指针再指向它的时候)被垃圾回收器回收。因为动态管理内存,速度更慢,但更灵活。堆存放引用对象的成员变量的数据。
垃圾回收器只回收堆区的内存,栈区内存随着方法或代码块的运行结束而结束。
6、Arrays工具方法的使用
普通方法和并行方法。
7、使用if…else语句时,一定要先处理包含范围更小的情况。
8、int[] num;只是在栈区开辟了一个存储指针的空间,直到num = new int[5];才会在堆区开辟出存放数组的空间。