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

    技术2022-07-02  105

    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;};

        }

     


    最新回复(0)