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