标签:底层实现 条件 jdk false byte 定义 维数 border style
表达式 | 执行方式 | 结果(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; |
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 class ArgsDemo { 2 3 public void print(int... n){ 4 for (int i: 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 void main(String[] args) { 20 ArgsDemo argsDemo = new ArgsDemo(); 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、当传入方法的参数数量不确定的时候,可以考虑使用可变参数列表。
1-3-1 Java运算符,结构,数组--自增自减运算符,swicth,二维数组,方法重载,可变参数
标签:底层实现 条件 jdk false byte 定义 维数 border style
原文地址:https://www.cnblogs.com/mingmingn/p/13226144.html