传智播客-Java基础加强-day1

java常识:

      Java ee的全称是Java2 Platform, Enterprise Edition

 

      IDE(Integrated Development Environment,集成开发环境) 也代指电子集成驱动器

      集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE

 

      JMSJava Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简单化企业应用开发,翻译Java消息服务。

 

      JMXJava Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统植入管理功能的框架。

 

      JNDIJava Naming and Directory Interface )一组帮助做多个命名和目录服务接口的API

 

     overLoad override 区别:

          overload重载:参数、列表、类型不一样,返回的值就不一样的俩个或多个相同方法名方法的代码模块

          override重写:父类的方法在子类中在写一次 (父类中的静态方法在子类中再写一次相当于新建一个方法)

 

eclipsemyeclipse关系:

       eclipsemyeclipse都是使用java语言编写,启动是相当于启动java.exe程序,可以在任务管理器结束进程关闭程序。

        myeclipseeclipse功能的补充和完善,相对于补丁。

 

EclipseMyeclipse配置快捷键:

      菜单栏Window-Preferences-General-Keys

 

EclipseMyeclipse设置快捷键模板、加载模板:

      菜单栏Window-Preferences-Java-Editor-Templates

      选中要加载模板的代码,右键Surround with

 

EclipseMyeclipse调试程序:

      增加断点,右键Debug As 进入透视图界面,选中要查看代码右键watch,可以查看效果。

 

EclipseMyeclipse调试程序:

       工作间工程的调试和运行时,java版本不能低于javac版本

 

EclipseMyeclipse导入工程:

       拷贝工程文件到工作空间目录,import导入之后,选中工程右键Build Path-configure Build Path-Libraries删除原来jar库,新增自己的jar包或库

 

JDK1.5新特性:

1、可以静态导入,例:import static java.long.Math.*;

 

2、可变参数,例如:

Package cn.itcast.day1;

   public class varableParameter {

    public static void main(String[] args) {

           System.out.println(add(1,2,3,4,5));

    }

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

       int sum=x;

       for(int i=0;i<args.length;i++){

           sum+=args[i];

       }

       return sum;

    }

}

 

3for循环加强,for(type 变量名: 集合变量名){……} 例如:

  2、中varableParameter类中的for循环替换为

    for(int arg:args){

           sum+=arg;

     }

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

 

4、自动装箱与拆箱

Package cn.itcast.day1;

  public class AutoBox {

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       Integer iobject=13;//自动装箱:自动将iobject封装为Integer对象并赋值;1.5以前版本必须Integer iobject = new Integer("13");

       System.out.println(iobject+10);//自动拆箱:自动将指向数据的对象拆箱为数据进行运算;1.5以前版本必须System.out.println((int)iobject+10);

      

       Integer i1=20;              //享元模式:把很多很小并且有很多相同元素的对象,定义为一个对象,不同的元素当作外部属性作为方法的参数传入

       Integer i2=20;              //-128-127之间的数值,默认定义为一个对象,可以在内存中多次调用   

       System.out.println(i1==i2);

      

       Integer i3=137;

       Integer i4=137;

       System.out.println(i3==i4);  //137没有定义为一个对象

    }

}

 

  享元模式:很多很小的对象有很多相同的元素那么可以定义为一个对象,不同的元素当做外部属性做为方法的参数传入

 

枚举:定义变量时,变量不能取规定范围以外的值

package cn.itcast.day1;

//枚举测试

public class EnumTest {

    public static void main(String[] args) {

       WeekDay weekDay=WeekDay.MON;

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

    }

}

 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 abstract WeekDay nextDay();

    /*public WeekDay nextDay(){    //以上代码用使用抽象方法定义nextDay将大量的if…else语句转移成一个个独立的类

       if(this==SUN){

           return MON;

       }

       else{

           return SUN;

       }

    }*/

    public String toString(){

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

    }

}

 

枚举的基本应用:

package cn.itcast.day1;

public class EnumTest1 {

    public static void main(String[] args) {

    WeekDay weekDay=WeekDay.FRI;

       System.out.println(weekDay);

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

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

       System.out.println(weekDay.valueOf("SUN").toString());

       System.out.println(weekDay.values().length);//weekDay.values()是一个数组

    }

    public enum WeekDay{

       SUN,MON,TUE,WEN,THI,FRI,SAT

    }

}

 

带构造方法的枚举: 

    public enum WeekDay{

       SUN(1),MON,TUE,WEN,THI,FRI,SAT;//所有代码都必须放在列表之后

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

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

    }

 

带抽象类的复杂枚举: 

public enum TrafficLamp{

       RED(30){

           public cn.itcast.day1.EnumTest1.TrafficLamp TrafficLamp() {

              return GREEN;

           }

       },GREEN(45){

           public cn.itcast.day1.EnumTest1.TrafficLamp TrafficLamp() {

              return YELLOW;

           }         

       },YELLOW(5){

           public cn.itcast.day1.EnumTest1.TrafficLamp TrafficLamp() {

              return RED;

           }         

       };

       public abstract TrafficLamp TrafficLamp();

       private int time;

       private TrafficLamp(int time){this.time=time;};

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值