黑马程序员基础加强 eclipse

 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

1eclipse的使用技巧

在这行最重要的是java基础的掌握,已经学习能力和学习态度。

eclipse可以去网站下载http://www.eclipse.org/downloads/ (下载Eclipse  IDE for Java Developers),按提示安装。也可以下载MyEclipse插件进行安装。

单词的英文: 

ide     ——》itegtity development environment  集成开发环境

Compiler   编译器

一个wordspace(工作间)可以包含多个project(工程),一个workspace保留了eclipse的一套环境选项的配置,例如,所使用的javacjava命令,等待。细节可以查看window>preferences,如果要为eclipse再配置一套环境选项,可以重新创建一个workspacePackage(包)。

window>preferences>java中进行Complier(编译)和Installed JREs(运行时)运行版本设置。

window>preferences>General>Keys对关键字进行设置,设置Alt+/键进行内容提示时,要注意接触Alt+/键原来的绑定关系,直接输入Alt+/就可以找到它的绑定关系,用remove binding这个按钮。

内容助理:content assist,按下之后会补全代码。通常设置为Alt+/

例如:打印快捷键syso   然后按Alt+/——>System.out.println();

其中之所以知道syso是打印,需要进行模板代码的设置

window>preferences>java>Editor(编辑)—>Templates(模板),点New按钮就可以创建模板了。

line_selection原来代码

cursor光标停止位置

*java编程时命名一定要符合规则,这样可读性比较好

重命名—右键——》Refactor——》Rename

Perspective(透视图)与view(视图)

视图:是每个小窗口。透视图是由多个视图组成。

调试:左键在想要查看结果的行的左边,双击形成断点。右键点Debug as调出调试透视图,任何可以用鼠标把想调试的变量拉黑左击点watch,就可以看见此变量现在的值,然后点工具栏上面的向右下角的图标(step over),就可以看见下一步变量的值。最后调试好后可以点右上角的java,回到java透视图。

配置好java编译和运行环境时注意:

低版本的java不能运行高版本的javac编译的程序。

而高版本的java能够运行低版本的javac编译的程序。

配置模板时:line selection(原来内容)  cursor(插入光标)

导入已有的工程:file——>import

在类名上面按下f2键,会出现完整的类名

2.小知识复习

静态导入:static import可以导入类中的静态方法

面试题:overload (重载)与 override (重写)的区别

可变参数的特点:

只能出现在参数列表的最后

位于变量类型和变量名之间,前后有无空格都可以(int  x(2,3,4,5,6)

掉用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

增强for循环

语法:

for(type 变量名 : 集合变量名){}

注意事项:

迭代变量必须在()中定义。

集合变量可以是数组或实现了Iterable接口的集合类

举例;

public static int add(int x, int ... args){

       int sum=x;

       for(int arg : args){

           sum+=arg;

       }

       return sum;  

    }

扩展:对于新问题新知识可以在sun公司的java语言规范上面查找

基本数据类型的自动拆箱与装箱

自动装箱:Integer num1=12;   //会自动把12封装了为对象

自动拆箱:System.out.println(num1+12); //先把num1先拆箱为int数据,再进行加法

Integer i1=12

Integer i2=12

上面的i1i2是同一个对象,即i1==i2true。因为当这个数为一个字节即-128~127之间时,封装对象时会缓冲到一个池里面,再创建对象时会查看池里面是否存在,以便节约空间。

这是一个模式,享元模式(flyweight):有很多小的对象有很多相同的属性,就可以把它定义为一个对象,把不同的属性定义为方法的参数,称为对象的外部状态,相同的属性称为对象的内部状态。

3.枚举

定义枚举的原因:枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个。否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。

枚举是一个特殊的类,其中的每个元素都是该类的一个实例对象.

import java.util.Date;

public class EnumTest {

    public static void main(String[] args) {

       WeekDay1 weekDay = WeekDay1.MON;  //普通类

       System.out.println(weekDay.nextDay());

      

       WeekDay weekDay2=WeekDay.FRI;

       System.out.println(weekDay2);

       System.out.println(weekDay2.name());//类的名称

       System.out.println(weekDay2.ordinal());//顺序排名

       System.out.println(WeekDay.values().length);//枚举数组长度

       System.out.println(WeekDay.valueOf("SUN").toString());//把传入字符串转成类

       new Date(300){};

    }

    //枚举

    public enum WeekDay{

       //这些对象创建时调用的构造函数就是第一个

       SUN,MON,TUE,WED,THI,FRI,SAT;//枚举元素列表必须放在所有成分之前

       //枚举的构造函数必须是私有的

       private WeekDay(){System.out.println("first");}

       private WeekDay(int day){System.out.println("second");}

    }

    //带有抽象方法的枚举

    public enum TrafficLamp{

       //new Date(300){};

       RED(30){

           public TrafficLamp nextLamp(){

              return GREEN;

           }

       },

       GREEN(45){

           public TrafficLamp nextLamp(){

              return YELLOW;

           }

       },

       YELLOW(5){

           public TrafficLamp nextLamp(){

              return RED;

           }

       };

       public abstract TrafficLamp nextLamp();

       private int time;

       private TrafficLamp(int time){

           this.time=time;

       }

    }

}

//普通类

public abstract class WeekDay1 {

    private WeekDay1(){}

    public final static WeekDay1 SUN = new WeekDay1(){

       public WeekDay1 nextDay() {

           return MON;

       }

    };

    public final static WeekDay1 MON = new WeekDay1(){

       public WeekDay1 nextDay() {

           return SUN;

       }

    };

    public abstract WeekDay1 nextDay();

//  public WeekDay nextDay(){

//     if(this==SUN){

//         return MON;

//     }else{

//         return SUN;

//     }

//  }  

    public String toString(){

       return this==SUN?"SUN":"MON";

    }

}

如果枚举只有一个成员,可以作为一种单例的实现方式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值