Java基础加强:静态导入及可变参数和增强for循环 ,基本数据类型的自动拆箱和装箱
import static 语句导入一个类中的某个静态方法或所有静态方法
例如:
import static java.lang.Math.*;
public class StaticImport {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println(abs(3-5));
System.out.println(random());
}
}
Jdk1.5(新特性)可变参数和增强for循环
可变参数特点:
1.只能出现在参数列表的最后
2....位于变量类型和变量名之间,前后有无空格都可以;
3.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数!
增强for循环:
格式:for(type 变量名:集合变量名){}
集合变量可以是数组或实现了Iterable接口的集合类
例如下代码:
package cn.itcast;
public class VarableParameter {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println(sum(1,4,5));
System.out.println(sum(2,3));
}
public static int sum(int ...args){
int sum=0;
for(int arg:args){
sum+=arg;
}
return sum;
}
}
基本数据类型的自动拆箱和装箱
自动装箱:Integer num=12;
自动拆箱:System.out.println(num+3);
基本数据类型的对象缓存:
Integer num=12;
Integer num1=12;
则 num==num1
Integer num2=213;
Ingeger num3=213;
则 num2!=num3
因为系统在设计自动装箱时使用了享元模式,它把在一个字节内的整数即(-128--127)系统认为这些是比较常用的,所以在把这些数据装箱后自动缓存起来所以num==num1 当超出一个字节后系统就重新创建对象所以num2!=num3
享元模式:就是有许多小的对象,它们有许多相同的属性,把它们变成同一个对象,那些不同的对象把他们变成方法的参数称之为外部状态,那些相同的属性称之为内部状态!!