一.静态导入
import static 语句 导入一个类中的某个静态方法或所有静态方法
eg:
import static java.lang.Math.*;
public class StaticImport {
public static void main(String [] args){
int x = 12 ;
try {
x++;
} finally {
System.out.println(x++);
}
System.out.println(x);
System.out.println(max(4, 5));
System.out.println(abs(5-16));
}
}
注意:
当类重名时,需要指定具体的包名;当方法重名时,需要指定该方法所属的对象或类。
若设置的编译器版本低,但代码中用到了新版本的特性,MyEclipse会提示错误,此时只需修改为新版本的编译器即可
二.for增加
语法:for(VariableModifiers type 变量名:集合变量名){……}
注意事项:type前可加修饰符,如加final,以方便内部类访问等;迭代变量必须在()中定义;集合变量名可以是数组或事项了Iterable接口的集合类
举例:见可变参数中的代码
三.装箱与拆箱
基本数据类型:byte short int long char float double boolean
对应的包装类:Byte Short Integer Long Character Float Double Boolean
装箱:把基本数据类型转换成对应的包装类。
拆箱:把包装类转成对应的基本数据类型
eg:
public class AutoBox {
public static void main(String[] args) {
Integer iobj = 13;//基本数据类型的装箱
System.out.println(iobj+12);//基本数据类型的拆箱
//基本数据类型装箱拆箱的一个特性------(享元模式)
//当Integer封装的数据在一个字节之间(-128~127),则只建立一个对象,成为享元
Integer i1= 127;
Integer i2 =127;
System.out.println(i1 == i2);//ture
//当Integer封装的数据超出一个字节,则每个都新建一个对象。
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);//false
Integer i5 =Integer.valueOf(3);
Integer i6 =Integer.valueOf(3);
System.out.println(i5 == i6);//true
}
}
这里用到的享元设计模式
四.可变参数
1. 只能出现在参数列表的最后一位;
2. ...位于变量类型和变量之间,前后有无空格均可。
3. 调用参数方法时,编译器为该可变参数隐含创建一个数组(其实,可变参数就是一种数组的简写形式),在方法体中以数组形式访问可变参数。
2. ...位于变量类型和变量之间,前后有无空格均可。
3. 调用参数方法时,编译器为该可变参数隐含创建一个数组(其实,可变参数就是一种数组的简写形式),在方法体中以数组形式访问可变参数。
eg:
public class variableParm {
public static void main(String[] args) {
System.out.println(getSum(23, 454, 45));
System.out.println(getSum(234, 546, 78, 454));
}
public static int getSum(int x,int ...args)
{
int sum = x;
for(int arg:args)
{
sum += arg;
}
return sum;
}
}