1.“&&”,“&”,“||”,“|”之间的区别:
"&&"和"||"是短语与与短路或,A&&B如果A为假,则B表达式不参与计算。A||B,如果A为真,则B不参加运算。&和|则不同,A&B,A|B,其中A,B都要参见运算。
2."<<"左移运算符,">>",带符号右移运算符,">>>"不带符号右移运算符,左侧填0。
3.两种声明数据的方法:
int a[]=null; a=new int[10];
int[] b=null;b=new int[10];
其中a是存放在堆栈中,数组是存放在堆上。
4.数组的初始化有两种,静态初始化与动态初始化。
静态初始化是指在声明数组的时候 ,初始化数组,例如:int[] a={1,2,5},在这种情况下,不需要指定数组的大小。
动态初始化是指在分配好数组内存空间后,为数组赋值。需要指定数组的大小。
二维数组也可以在声明时进行静态初始化。int c[][]={{1,2},{3,4}};不需要指定数组大小。
5.java可变参数:
可变参数:方法中可以接受的参数不再是确定的。
格式:返回类型 方法名(参数类型 ... 参数名称)
例如:
public class Demo{ public static void main(String[] args) { f(); f(1); f(1,2,3); } public static void f(int... arsg) { int sum=0; for(int i=0;i<arsg.length;i++) { sum+=arsg[i]; } System.out.println("sum="+sum); } }
结果:sum=0;
sum=1;
sum=6;
6.构造块,静态代码块
构造代码块是直接写在类中的代码块;
public class Demo { { System.out.println("构造块..."); } public Demo() { System.out.println("构造方法..."); } } public class Test { public static void main(String[] args) { // TODO, add your application code System.out.println("Hello World!"); Demo demo=new Demo(); } } 结果:Hello World 构造块 构造方法
静态代码块:使用static修饰的构造块,只能访问静态方法或静态成员。
public class Demo { public static int a=0; static { a=100; System.out.println("静态构造块"); } { System.out.println("构造块..."); } public Demo() { System.out.println("构造方法..."); } public static void sayA() { System.out.println("a="+a); } } public class Test { public static void main(String[] args) { // TODO, add your application code Demo demo=new Demo(); Demo.sayA(); } }
结果:
静态构造块
构造块...
构造方法...
a=100
由此,java类的初始化顺序为:(静态变量、静态初始化块)>(变量、初始化块)>构造器。
参见http://www.cnblogs.com/limingluzhu/archive/2012/09/06/2673197.html