eclipse的介绍和使用:
工具的使用eclipse:常用的myeclipse是集合了eclipse的工具,它也是java开发的一款工具软件。IDE是集成开发环境的意思,支持工程化管理;图形化界面好方便
呀!!
工程:一般来说,一个相对独立的项目就是一个工程,一个项目中有多个java文件和资源文件等可以用一个工程进行管理。这样方便维护各个文件之间的关系。
工程》》包》》类》》》代码,包名一般是小写开头,变量取名要有意义。
工作空间:workspace可以包含多个工程project,一个workspace保留了eclipse的一套环境选项的配置(编译器和运行环境的版本配置信息以及快捷键的配置信息)。
快捷键如何设置:窗口window》》》首选项preferences》》》通用General》》》keys》》》设置快捷键。
模板代码块的设置:选中变量右击选择surround with可以选择需要的模板代码块,那我们怎么设置一个模板代码块呢?选中变量》》》window》》》首选项
preferences》》》java》》》编辑器editor》》》模板templates》》》new》》》输入name及描述信息,在patter框中填写内容,结合insert variable进行
设置。
eclipse支持调试:双击设置断点,在工具栏上找到一个像虫子一样的图标,点击进入调试模式,选择需要调试的数据,watch变量,F6单步执行,F5进入代码块。
导入工程:找到需要导入的工程,然后粘贴到所需要的工作台,import导入(看是否需要设置jre),buildpath中设置。
1.5的新特性:
静态导入,好处就是调用方法的时候不用写类名了。课上的调用max方法,直接将Math导入,简写了代码。比如:import static java.lang.Math.sin;
可变参数:
特点:只能出现在参数列表的最后面;
...位于变量类型和变量名之间,前后有无空格都可以;
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
public static int add(int x,int...args)
{
int sum=x;
/* for(int z=0;z<args.length;z++)
{
sum+=args[z];
}*/
for(int arg:args)
{
sum+=arg;
}
return sum;
}
增强for循环
格式:for(type 变量名:集合、数组名称){……}
集合变量可以是数组或者必须是实现了iterable接口的集合类
迭代变量必须在()中定义 <int arg>
for(int arg:args){
sum+=arg;
}
基本数据类型的装箱于拆箱功能:
public static void main(String[] args)
{
Integer i=2;
System.out.println(i+121);
String s1=new String("abc");
String s2=new String("abc");
Integer i2=2;
Integer i3=2;
Integer i4=200;
Integer i5=200;
System.out.println(i3==i2); //true
System.out.println(i4==i5); //false,值超出了范围
Integer i6=Integer.valueOf(222);
Integer i7=Integer.valueOf(222);
System.out.println(i6==i7); //true;值超出了范围为false
}
只要i2、i3在-128----127之间就可以自动拆装箱(小整数使用平率高),这种设计模式就是享元模式flyweight:很多很小的对象,他们有很多相同的东西,就可
以把他们变成一个对象,还有些不同的东西变成外部属性,把他们当成参数传入方法称为外部状态,相同的就是内部状态还听过的单例设计模式《单例设计模式也可以
用枚举里面有一个元素来设计》
枚举:
常用的方法:name()
,可以返回枚举常量的名称, int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。string toString(),返
回枚举常量的名称。valueOf
()返回带指定名称的指定枚举类型的枚举常量。
为什么要有枚举? 它的好处:在编译时期就能发现源程序的非法值,而普通变量的方式在开发阶段无法实现这一目标
用普通类实现枚举类的功能:
定义一般类来实现:可以被类名直接调用static、不可以创建对象private、将天数定义成常量final,
定义一般类来实现枚举类的功能:私有的构造方法,每个元素分别用一个公有的静态成员变量表示、可以有若干个公有方法或抽象方法。
public abstract class WeekDay {
private WeekDay(){}
public final static WeekDay SUN=new WeekDay(){
public WeekDay nextDay()
{
return MON;
}
};
public final static WeekDay MON=new WeekDay(){
public WeekDay nextDay()
{
return SUN;
}
// public final static WeekDay TUS=new WeekDay();
// public final static WeekDay WEN=new WeekDay();
// public final static WeekDay THER=new WeekDay();
// public final static WeekDay FRI=new WeekDay();
// public final static WeekDay SAT=new WeekDay();
public abstract WeekDay nextDay(); //抽象方法
/* public WeekDay nextDay()
{
if(this==SUN)
return MON;
else
return SUN;
}*/ /*换一种方式:public abstract WeekDay nextDay()那么类本身也是abstract的,且子类要覆盖父类的抽象方法*/
};
public String toString()
{
return this==SUN?"SUN":"MON"; //这里已经用三元运算符了,结果只有两个,测试的时候要注意
}
}
public class EnumTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// WeekDay weekDay=WeekDay.MON;
// System.out.println(weekDay.nextDay());
/* WeekDay weekDay=WeekDay.FRI;
System.out.println(weekDay);
System.out.println(weekDay.name());
System.out.println(weekDay.ordinal());
System.out.println(WeekDay.valueOf("MON"));
System.out.println(WeekDay.values().length);*/
for(int x=0;x<WeekDay.values().length;x++)
{
System.out.println(WeekDay.values()[x]);
}
}
定义一个带构造方法的枚举时,所有的构造方法都要写在元素的后面,最后的一个元素要封号结尾*/
public enum WeekDay
{
SUN(),MON(2),TUE,WED,THI,FRI,SAT;//SUN(1)>>>>>two SUN>>>>one
private WeekDay(){System.out.println("one");}
private WeekDay(int day){System.out.println("two");}
}
这每个元素也是一个类,它是TrifficLamp的子类复写了TrifficLamp的抽象方法
public enum TrifficLamp{
RED(30){ //这是带有参数和抽象方法的枚举类,枚举本身也是特殊的类,打印一个枚举的时候它自动实现了tostring方法 。
public TrifficLamp nextLamp()
{
return GREEN;
}
},
GREEN(45){
public TrifficLamp nextLamp()
{
return YELLOW;
}
},
YELLOW(15){
public TrifficLamp nextLamp()
{
return RED;
}
};
public abstract TrifficLamp nextLamp();
private int time;
private TrifficLamp(int time)
{
this.time =time;
}
}
.........................................................新技术结束.............................................................................