自增自减运算符
表达式
执行方式
结果(num1=1)
num2=++num1;
num1=num1+1;
num2=num1;
num1=2;
num2=2;
num2=num1++;
num2=num1;
num1=num1+1;
num1=2;
num2=1;
num2=--num1;
num1=num1-1;
num2=num1;
num1=0;
num2=0;
num2=num1++;
num2=num1;
num1=num1-1;
num1=0;
num2=1;
switch
JDK7.0以后表达式的值可以是基本数据类型的byte,short,int,char,以及String类型.
二维数组
二维数组在创建对象时可以省略列的数量,而不能省略行的数量。
创建方式
是否正确
char[][] ch=new char[][]
false
char[][] ch=new char[1][]
true
char[][] ch=new char[][2]
false
char[][] ch=new char[1][2]
true
方法重载的规则
方法名相同,参数列表不同。
参数列表不同包括,参数的个数和类型不同。如果只有参数名不同,不能算作方法重载。
如下三个方法是重载方法,它们的参数列表都是不同的。
public void display(){}
public void display(int n){}
public void display(float n){}
如下两个方法不是重载方法,两个方法只是参数名不同,不满足方法重载条件。
public void display(int n){}
public void display(int d){}
可变参数
1、可变参数列表作为参数,方法调用时可以传入0个或多个参数,传入数组也可以。数组作为方法参数,方法调用时只能传入数组。
1 public classArgsDemo {2
3 public void print(int... n){4 for (inti: n) {5 System.out.print(i + " ");6 }7 System.out.println();8 }9
10 /*
11 public void print(int[] arr) {12 for (int i: arr) {13 System.out.print(i + " ");14 }15 System.out.println();16 }17 */
18
19 public static voidmain(String[] args) {20 ArgsDemo argsDemo = newArgsDemo();21 argsDemo.print();22 argsDemo.print(1);23 argsDemo.print(1, 2, 3);24 int[] arr = {1, 2, 3};25 argsDemo.print(arr);26 }27 }
2、可变参数列表作为方法参数时,如果有多个参数,可变参数列表只能放到最后一个位置,而且不能有多个可变参数列表作为方法参数。而数组没有这个限制。
关于可变参数作为方法参数,下面的方法定义形式都是错误的:
public void method(int… m,int… n) {}//不能有多个可变参数作为方法参数
public void method(int… m,int n) {}//可变参数应该放到参数列表的最后
3、可变参数的底层实现就是数组。
4、当传入方法的参数数量不确定的时候,可以考虑使用可变参数列表。