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();