********************* Java1.5語言新特性簡單總結 ******************************
1. 自動裝箱與拆箱 對應C#
例1.1
Integer i = 10;
int j = i;
2. 更優化的for循環 對應就C#---foreach循環
例2.1
String[] names = {'BadBoy','GoodBoy','HappyGirl','sadGirl'};
for(String option: names) {
System.out.println(option);
}
例2.2 加泛型 對應C++模板
import java.util.*;
ArrayList<String> animals = new ArrayList<String>();
animals.add('Dog');
animals.add('Cat');
animals.add('Chick');
animals.add('Cow');
for(String option : animals) {
System.out.println(option);
}
3.參數可變的方法和printf
例3.1
定義:
public int sum(int... n) { //傳過來n爲一個int型數組
int tempSum;
for(int option : n) {
tempSum+=option;
}
/*
for(int i = 0; i < n.length; i++) {
tempSum+=n[i];
}
*/
return tempSum;
}
調用1: sum(1);
調用2: sum(1,2);
調用3: sum(1,2,3,4);
例3.2 printf方法, 對應c語言的printf
int x = 10;
int y = 20;
int sum = x + y;
System.out.printf('%d + %d = %d',x,y,sum);
4. 枚舉
例4.1
public enum MyColors {
red,
black,
blue,
green,
yellow
}
MyColors color = MyColors.red;
for(MyColors option : color.values()) {
System.out.println(option);
}
/**不能在switch語句裏這樣寫case MyColors.red:
*這樣編譯器不會讓你通過*/
switch(color) {
case red:
System.out.println('best color is '+red);
break;
case black:
System.out.println('NO ' + black);
break;
default:
System.out.println('What');
break;
}
5.靜態引用
例5.1
1.5版本以前的寫法是:
import java.lang.Math; //程序開頭處
...
double x = Math.random();
1.5版本中可以這樣寫
import static java.lang.Math.random; //程序開頭處
...
double x = random();