1.可变参数:一个方法中接受的参数个数不固定,如:
package com.TextFile;
import java.util.Scanner;
public class Mytext {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(add(2, 3));
System.out.println(add(2, 3, 4));
}
public static int add(int x, int... args) {
int sum = x;
for (int i = 0; i < args.length; i++) {
sum += args[i];
}
return sum;
}
2.增强for()循环 语法:for(type 变量名:集合变量名){…},其中迭代变量必须在()中定义, 举例:
public static int add(int x int…args){
int sum=x;
for(int arg:args){
sum+=arg;
}
return sum;
}
3.装箱:自动把一个基本数据类型装成一个与其相对应的封装类,在赋给一个普通变量,如:Integer iobj=3;
拆箱:将一个封装类转换成基本数据类型再进行运算,如:Integer iobj=3; System.out.println(iobj+12);(将iobj先转换成整型再进行加法,其数据范围为 -128—127)
有一种方法是讲基本数据类型转换成封装类:如:Integer i1=Integer.valueof(3);
4. 枚举:枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值。枚举用于以下情况:(1)用一个名为elements()的方法要求集合为我们提供一个Enumeration,我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。(2)用nextElement()获得下一个对象。(3)用hasMoreElements()检查序列中是否还有更多的对象。先以视频中的WeekDay为例:package com.TextFile;
public class WeekDay1 {
public static void main(String [] args){
WeekDay weekday=WeekDay.MON;
System.out.println(weekday);
}
public WeekDay{
SUN,MON,TUE,WEN,THI,FRI,SAT;
};
带有抽象方法的枚举:
package com.TextFile;
import java.util.Date;
public abstract class TextEnum {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Date(10){};
}
public enum TrafficLamp{
RED(10){
public TrafficLamp NextLamp(){
return GREEN;
};
},
GREEN(5){
public TrafficLamp NextLamp(){
return YELLOW;
};
},
YELLOW(3){
public TrafficLamp NextLamp(){
return RED;
};
};
public abstract TrafficLamp NextLamp();
private int time;
private TrafficLamp(int time){this.time=time;}
}
}