黑马程序员_Java基础加强1

时间:2023-02-18 17:46:26

---------------------- Android、Java开发期待与您交流! ----------------------

JDK 1.5新特性(一)

1.静态导入

           对静态方法的导入,不用再使用类名调用静态方法

2.增强for循环

          for循环的简写形式,需要三个参数;适用遍历容器的所有元素

3.自动装箱、拆箱

         把基本类型的数据转换为相应的对象类型,对列表进行操作时非常有用,但是占用内存

         注意:当两个大于127或小于-128的同一个整数装箱后比较结果为false

4.方法可变参数列表

         适用于当方法参数类型确定,但参数个数过多或不确定个数时

         注意:可变参数必须位于方法内最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

import java.util.ArrayList;
import java.util.Collection;
import static java.lang.Math.*;
import static java.lang.System.*;

public class NewFeatures {
	public static void main(String[] args) {
		staticImport();
		boxingComp();
		String[] st = {"year","happness","newYork","HongKong","zhangXzioa"};
		forEnhance(st);
		variableParamList("year","happness","NewYork","HongKong","zhangxxyy");
	}
/**
 * 静态导入
 */
	public static void staticImport() {
		int[] intArr = new int[5];
		out.println(intArr.length);
		Collection<Integer> collection = new ArrayList<Integer>();
		for (int i = 0; i < intArr.length; i++) {
			intArr[i] = (int) (random() * 10);
			collection.add(intArr[i]);
		}
		out.println(collection.toString());
	}
/**
 * 自动装箱
 */
	public static void boxingComp() {
		int int0 =127;
		Integer int1 = 127;
		Integer int2 = 127;
		Integer int3 = new Integer(127);
		Integer int4 = new Integer(127);
		Integer int5 = 128;
		Integer int6 = 128;
		
		out.println(int0 == int1);
		out.println(int1 == int2);
		out.println(int2 == int3);
		out.println(int3 == int4);
		out.println(int5 == int6);
		out.println(int0 == Integer.valueOf(127));
		out.println(int0== Integer.valueOf("127"));

	}
	/**
	 * 增强for循环
	 * @param st
	 */
	public static void forEnhance(String[] st){
		for(String s:st){
			out.print(s+"\t");
		}
		
	}
	/**
	 * 方法列表可变参数
	 * @param str
	 * @param args
	 */
	public static void variableParamList(String str,String...args){
		String [] st =args;
		out.println();
		for(String s:st){
			if(s.length()>=5){
				out.print(s.substring(5).toUpperCase()+"\t");
			}else{
				out.print(s+"\t");
			}
		}
		
	}
}


---------------------- Android、Java开发期待与您交流! ----------------------