黑马程序员--jdk1.5的新特性:可变参数,增强for循环,自动装箱拆箱(重点)

时间:2023-02-18 11:53:50

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

package day01;
/**
* jdk1.5以后的新特性。
* @author wangyang
*
*1.静态导入。
*ex: import static java.lang.Math.*;
*导入全部的Math类中的静态方法。
*
*2.可变参数。
*ex: void demo (int x,int... y)
*只能是最后一个参数。...前后可以有空格。
*这个参其实是一个数组。相当于int y[]
*
*3.增強for循环。
*ex:
*for(int x :arr)可以传入一个arr集合。
*{
*x就是arr其中有的值。
*}
*
*4.自动装箱与自动拆箱。
*ex:
*Integer i = 23;//自动装箱。
*int sum = i + 20;//自动拆箱。
*享元设计模式:
*如果有很多小而常用的类,它们的属性基本一致。可以把它们定义成一个对象。
*然后不同的地方抽成方法的参数。使它变成一个外部的状态。
*相同的地方抽成方法的内部状态。
*
*/
import static java.lang.Math.*;

public class Jdk_newcharacter
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println(random());
demo_1(3,4,5,6,7);
demo_2();
demo_3();
}

//方法的可变参数。
//在使用时注意:可变参数一定要定义在参数列表最后面。


public static void demo_1(int x,int... y)//可变参数的演示。
{
int sum = x;
for (int i = 0; i < y.length; i++)
{
sum += y[i];
}
System.out.println(sum);
}

//高级for循环
//
//格式:
//for(数据类型 变量名 : 被遍历的集合(Collection)或者数组)
//{
//
//}

public static void demo_2()//增强for循环的演示。
{
int arr[] = {1,2,3,4,5};
for(int x : arr)
{
System.out.println(x);
}
}

public static void demo_3()
{
Integer i = 23;//自动装箱
int sum = 10 + i;//自动拆箱
System.out.println(sum);

Integer i2 = 45;
System.out.println(i==i2);//如果值在-128~127之间。它们会是一个对象。这就是享元设计模式。
}
}


----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------