黑马程序员-笔记--高新技术基础

来源:互联网 发布:北京粉尘数据 编辑:程序博客网 时间:2024/05/29 16:15

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

java中关于java,Eclipse的一些基础:

[java] view plaincopy
  1. public class Base {  
  2.   
  3.     /** 
  4.      * 快捷键配置:window->preferences->general->key 
  5.      *  
  6.      * 工作间与工程:一个工作间多个工程,所有工程共享一个工作间配置。 透视图与视图:一个透视图,室友一系列特有的小窗口即视图组成。 
  7.      * 调出视图:window-show view 设置单个工程的java(运行环境)与javac(编译环境): 
  8.      * 编译环境:Window->preferences->Java->Compiler 
  9.      * 工程->右键->preferences->Java->Compiler 开发环境->run configuration ->jre 
  10.      *  
  11.      * 低版本无法运行高版本编译的文件。高版本可以运行低版本编译的文件。 
  12.      *  
  13.      * 配置java模板: Window->preferences->Java->Editor 
  14.      *  
  15.      * java项目的导入: File->Export->Project 
  16.      *  
  17.      *  
  18.      * 静态导入:直接导入静态方法,不用类名就可以使用这些静态方法。 
  19.      *  
  20.      * 享元模式:很多小的对象有很多相同的属性可以将他们变成一个对象成为内部状态,将不同的属性变成方法的参数,成为外部状态。 
  21.      *  
  22.      */  
  23.     public static void main(String[] args) {  
  24.         System.out.println(max(01) + abs(3 - 100));  
  25.   
  26.         Integer i1 = 13;  
  27.         Integer i2 = 13;  
  28.         System.out.println(i1 == i2);  
  29.         //i1与i2相等,i3与i4不等,因为当Integer数据对象很小,在一个byte之内的数字,  
  30.         //系统会认为这个数据经常使用,他会在系统中建立这个对象一直存在。所有对象的引用都指向他  
  31.         //他不在分配xine内存,这个模式就是   享元模式。FlyWeight  
  32.         //当大与一个byte时,他就重新分配内存。  
  33.         Integer i3 = 137;  
  34.         Integer i4 = 138;  
  35.         System.out.println(i3 == i4);  
  36.   
  37.     }  
  38.   
  39.     // 可变参数  
  40.     public static int variableParameter(int x, int... y) {  
  41.         int sum = x;  
  42.         // for(int i=0;i<y.length;i++){  
  43.         // sum += y[i];  
  44.         // }  
  45.   
  46.         // 增強型for循环。  
  47.         /* 
  48.          * 迭代变量必须在for括号中定义出来 集合变量可以是数组或者实现了Iterable结合的集合类。 
  49.          * 可以有final修饰,这样可以让匿名内部类使用。 
  50.          */  
  51.         for (final int i : y) {  
  52.             sum += i;  
  53.         }  
  54.   
  55.         return sum;  
  56.     }  
  57.   
  58. }  

java中的枚举知识:

[java] view plaincopy
  1. public class EnumTest {  
  2.   
  3.     /** 
  4.      * 枚举:只有一个实例的枚举,就是单利模式。 
  5.      */  
  6.     public static void main(String[] args) {  
  7.         WeekDayTest day = WeekDayTest.SUN;  
  8.         System.out.println(day.nextDay().toString());  
  9.   
  10.         WeekDay eday = WeekDay.WED;  
  11.         System.out.println(eday);// toString  
  12.         System.out.println(eday.name());// toString  
  13.         System.out.println(eday.ordinal());// 查看该枚举在所有枚举中的位置。  
  14.         System.out.println(WeekDay.valueOf("SUN"));// 通过字符串,转换成枚举的一个实力。  
  15.         System.out.println(WeekDay.values().length);// 返回该枚举的数组。  
  16.     }  
  17.   
  18.     public enum WeekDay {  
  19.         SUN, MON, TUE, WED(3), THI, FIR, SAT;  
  20.   
  21.         // 枚举的构造方法,必须是私有的。。。  
  22.         private WeekDay() {  
  23.         };  
  24.   
  25.         private WeekDay(int i) {  
  26.             System.out.println(i);  
  27.         };  
  28.     }  
  29.       
  30. }  
  31.   
  32.   
  33.   
  34. // 带抽象方法的枚举。  
  35. enum TrafficLamp {  
  36.     RED(30) {  
  37.         @Override  
  38.         public TrafficLamp nextLamp() {  
  39.             return GREEN;  
  40.         }  
  41.     },  
  42.     GREEN(30) {  
  43.         @Override  
  44.         public TrafficLamp nextLamp() {  
  45.             return YELLOW;  
  46.         }  
  47.     },  
  48.     YELLOW(5) {  
  49.         @Override  
  50.         public TrafficLamp nextLamp() {  
  51.             return RED;  
  52.         }  
  53.     };  
  54.     public abstract TrafficLamp nextLamp();  
  55.   
  56.     private int time;  
  57.   
  58.     private TrafficLamp(int time) {  
  59.         this.time = time;  
  60.     }  
  61. }  
  62.   
  63. // 使用普通类来模拟枚举的功能。定义出抽象类,将一个个if else 转换成一个个独立的类来实现。  
  64. abstract class WeekDayTest {  
  65.     private WeekDayTest() {  
  66.     }  
  67.   
  68.     public final static WeekDayTest SUN = new WeekDayTest() {  
  69.         @Override  
  70.         public WeekDayTest nextDay() {  
  71.             return MON;  
  72.         };  
  73.   
  74.     };  
  75.     public final static WeekDayTest MON = new WeekDayTest() {  
  76.         @Override  
  77.         public WeekDayTest nextDay() {  
  78.             return SUN;  
  79.         };  
  80.     };  
  81.   
  82.     public abstract WeekDayTest nextDay();  
  83.   
  84.     public String toString() {  
  85.         return this == SUN ? "SUN" : "MON";  
  86.     }  
  87. }  
原创粉丝点击