<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ∪∩deniable Design

    個人JAVA版GAE(google app engine),struts2+jpa+jQuery開發,互相交流 http://iunbug.appspot.com/
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Java學習筆記(一)

    Posted on 2008-07-27 17:01 ∪∩BUG 閱讀(511) 評論(1)  編輯  收藏 所屬分類: Java學習筆記
     1JAVA筆記
     22008 04 22
     31.用javac編譯代碼時,javac 后的文件名對大小寫不敏感,如一個名為Hello.java的文件,
     4    可以這樣寫:javac hello.java或javac HEllO.java
     52.用java解釋代碼時,java 后跟的是一個類名,而不是一個文件名.如要解釋文件名為Hello.java的文件(類名為Hello是一個類名,
     6    文件名要寫類名相同)必須寫成java Hello.
     73.        Label prompt1;                //Label 對象是一個可以容器中放置文本的組件
     8            TextField input1;                //TextField 對象是個允許編輯單行文本的文本組件
     94.java中對boolean類型賦值時只能是true或false,不能像C語言一樣的賦任意不為0 的數.
    10    如在用到if或while語句時,條件只能用boolean值的true或false.如:
    11        if(true){
    12                }

    13        while(false){
    14            }

    155.java中數組:
    16    1)可以在定義數組時值,
    17        如:
    18        int [] num={1,2,3}//ok
    19        或:
    20        int [] num=new int[]{1,2,3}//ok
    21        注意:不能這么指定大小:
    22        int [] num =new int[3]{1,2,3}//error!!!
    23    但不能在定義之后再賦值,(非法)
    24        如:
    25        int [] num;
    26        num={1,2,3}//error
    27    2)二維數組
    28            int [][]num =new int[][]{1,2,3,4,5,6};//error
    29            int [][]num =new int[][]{{1,2,3},{4,5,6}};//初始化賦值兩行三列ok
    30            int [][]num =new int[2][3]{{1,2,3},{4,5,6}};//初始化指定大小兩行三列error
    316.關于JAVA的"++"操作:
    32            int i =3
    33      int count =(i+++(i+++(i++);  //這么計算:(3) +(4) +(5)
    34      int count =(++i) +(++i) +(++i);            //這么計算:(4) +(5) +(6)
    35      System.out.println("i="+i); 
    36      System.out.println("count="+count); 
    37

     1JAVA筆記
     22008 04 24
     3
     41.補碼:
     5      已知一個負數的補碼,將其轉換為十進制數,步驟:
     6      1、先對各位取反;
     7      2、將其轉換為十進制數;
     8      3、加上負號,再減去1。
     9      例如:
    10      11111010,最高位為1,是負數,先對各位取反得00000101,轉換為十進制數得5,加上負號得-5,再減1得-6
    112.左移,右移,無符號右移.
    12                            int j = 8;
    13                            int f = j << 2;//左移.每左移一位相當于乘以2,這里乘以4
    14                            int g = j >> 2;//右移,每右移一位相當于除以2,這里除以4
    15                            int h = j >>> 2;//無符號右移,每右移一位相當于除以2,這里除以4
    16

      1JAVA筆記
      2
      32008 04 26
      4
      51.特殊變量this的使用:
      6    關于實例方法和實例數據成員的進一步說明 
      7     一個類所有的實例(對象)調用的成員方法在內存中只有一份拷貝,
      8     盡管在內存中可能有多個對象,而數據成員在類的每個對象所在內存中都存在著一份拷貝。
      9     this變量允許相同的實例方法為不同的對象工作。每當調用一個實例方法時,
     10     this變量將被設置成引用該實例方法的特定的類對象。方法的代碼接著會與this所代表的對象的特定數據建立關聯。
     11
     12        1)this代表對象本身,當類的成員變量與類成員方法的局部變量同名時,可以用this來區分.
     13        2)this 還可以簡化構造函數的調用
     14class Point
     15{
     16            int x,y; //類的成員變量
     17            //
     18            Point ()//構造方法主要為類的對象定義初始化狀態
     19            {
     20                this(1,2);    //通過this簡化構造函數的調用。    
     21            }

     22            Point(int a ,int b)//重載構造方法
     23            {
     24                //initialization phase初始化段
     25                    x = a;
     26                    y = b;
     27            }
        
     28            
     29            //termination phase終止段
     30            void output()
     31            {
     32                    System.out.println("x ="+x);
     33                    System.out.println("y ="+y);    
     34            }
        
     35            
     36            //void output(int x ,int y) //this變量代表對象本身                                                                                                              
     37            //{                         //當類中有兩個同名變量,一個屬于類(類的成員變量),
     38            //                                                    //而另一個屬于某個特定的方法(方法中的局部變量),使用this區分成員變量和局部變量。
     39            //        this.x = x;                                                                                                                 
     40            //        this.y = y;  
     41            //}
     42                            
     43            //processing phase處理段
     44            public static void main(String[] args)// main method
     45            {
     46                    Point pt1;
     47                    pt1 = new Point();
     48                    //pt1.putput(4,5);
     49                    pt1.output();
     50                    
     51            }

     52}
                 
     53
     542. 類方法(靜態方法)和類變量(靜態變量)
     55        1)class Point{
     56            .
     57            static int a;//定義一個類變量
     58            stactic void output(){}//定義一個類方法
     59            
     60            Point.output();//調用一個類方法
     61            }

     62        2)類方法只能引用類變量,不能引用非類變量,也不能調用非類方法
     63        3)類變量可以被非類方法引用,類方法也可以通過對象調用
     643.用final聲明常量:
     65        1)用final聲明的常量的同時必須對他進行初始化;
     66        2)非靜態常量也可以在類的構造方法中初始化,
     67            但如果類中有多個重載構造方法則必須在*每個沒有調用已經初始化final常量方法*中都進行初始化.
     68        3)**如果把這個常量聲明為靜態常量時(static final PI = 3.1415926)則必須在聲明時初始化!
     69
     704.關于繼承extends[**構造方法和析構方法不能被繼承**]
     71        1)JAVA是不允許多繼承的.
     72        2)在子類中定義一個與父類中同名,同返回類型,同參數個數和類型的成員方法稱為方法的覆蓋.即**子類的方法把父類的方法覆蓋掉了**!!
     73            在子類中的同名變量亦是如此,此時父類的同名變更將在子類中被隱藏起來!
     74        3)如果要訪問父類中被隱藏的成員變量或調用被覆蓋的方法可以用Super.
     75        4)每個子類構造方法的第一條語句,都是隱含地調用super();
     76                **如果子類和父類中都有構造方法,則必須通過super()顯示調用父類的構造方法!**
     775.關于多態性:
     78        1)通過覆蓋父類的方法來實現,在運行時根據傳遞的對象引用,來調用相應的方法。
     79        2)當我們把子類對象的引用傳給聲明為父類的一個對象變量,
     80            如果子類有的方法就調用子類的方法,如果子類沒有的方法就調用父類的方法!
     816.可以用instanceof來驗證某個對象是否是某個類的實例
     82        
     83class Animal
     84{
     85            int weight,height;
     86            Animal(int weight,int height)//Animal類的構造方法
     87            {
     88                        System.out.println("Animal construct");
     89            }

     90            void eat()
     91            {
     92                        System.out.println("Animal eat");
     93            }

     94            
     95            void breathe()
     96            {
     97                        System.out.println("Animal breathe");
     98            }

     99}

    100
    101class Fish extends Animal        //Fish類繼承了Animal類
    102{            
    103            int height; 
    104            Fish()//Fish類的構造方法
    105            {
    106                        super(30,40);//顯示調用父類中帶參數的構造方法
    107                        System.out.println("Fish construct");
    108            }

    109            void breathe()//在了類中重寫breathe方法
    110            {
    111                        //super.breathe();//用super可以調用父類被覆蓋的方法
    112                        //super.height = 40;//用super可以訪問父類被隱藏的成員變量
    113                        System.out.println("Fish bubble");
    114            }
            
    115}

    116
    117class Intergration
    118{
    119            public static void main(String[] args)
    120            {
    121                        //Animal an = new Animal();
    122                        Fish fh = new Fish();
    123                        //
    124                        //an.breathe();
    125                        //fh.height = 30;
    126                        //fh.breathe();
    127                        Animal an=new Animal(30,40);
    128                        Fish fh=new Fish();
    129                        an=fh;//將Fish的對象fh的引用賦給Animal的對象an后,an也變成了Fish的一個實例!
    130                        /*if(an instanceof Animal)
    131                        {
    132                            System.out.println("an is animal's instance");
    133                        }
    134                        if(fh instanceof Fish)
    135                        {
    136                            System.out.println("fh is fish's instance");
    137                        }*/

    138                        if(an instanceof Fish)//驗證an是否是Fish的一個實例
    139                        {
    140                            System.out.println("an is fish's instance");
    141                        }

    142                        else
    143                        {
    144                            System.out.println("an isn't fish's instance");
    145                        }

    146                        if(fh instanceof Animal)
    147                        {
    148                            System.out.println("fh is animal's instance");
    149                        }

    150                        else
    151                        {
    152                            System.out.println("fh isn't animal's instance");
    153                        }

    154            }

    155}

    156
    1577.用面向對象的方法求:
    158求一個長方形的周長和面積。
    159以面向對象的程序設計方式思考:
    160     1、一個長方形可以看成一個長方形對象。
    161     2、一個長方形對象有兩個狀態(長和寬)和兩個行為(求周長和求面積)。
    162     3、將所有長方形的共性抽取出來,設計一個長方形類。
    163     4、通過長方形對象的行為,就可以求出某個具體的長方形對象的周長和面積。
    164
    165//create a Rectangle class
    166//declaration l and w variables for length and width
    167//create perimeter method and area to count
    168//creat main method
    169//declaration object Rectal1 and Recral2
    170//intialization variable l and w by object Rectal1 and Recral2
    171//print the value
    172
    173class Rectangle
    174{
    175            int l,w;
    176            
    177            //processing phase
    178            int perimeter()
    179            {
    180                    return 2*(l+w);
    181            }

    182            
    183            int area()
    184            {
    185                    return l*w;
    186            }

    187            
    188            public static void main(String[] args)
    189            {
    190                    Rectangle Recta1 = new Rectangle();
    191                    Rectangle Recta2 = new Rectangle();
    192                    
    193                    //initialization phase
    194                    Recta1.l = 10;
    195                    Recta1.w = 30;           
    196                    Recta2.l = 30;
    197                    Recta2.w = 20;
    198                    
    199                    //termination phase
    200                    System.out.println("Recta1's Perimeter is: \t" + Recta1.perimeter());
    201                    System.out.println("Recta1's Area is: \t" + Recta1.area());
    202                    System.out.println("Recta2's Perimeter is: \t" + Recta2.perimeter());
    203                    System.out.println("Recta2's Area is: \t" + Recta2.area());
    204            }
       
    205}

    206            

     1JAVA筆記
     22008 04 29
     3
     41.package(包)
     5    1)package語氣必須是程序的第一條語氣(除了注釋語氣和空白語氣)
     6    2)package的包名指的是一個文件夾或路徑,也就是說,類名在package所在的目錄下,在解釋執行時必須標明類所在的路徑.
     7            如:
     8            package cn.mybole;
     9
    10            class Test
    11            {
    12                    public static void main(String[] args)
    13                    {
    14                            System.out.println("package test!");
    15                    }

    16            }

    17            
    18        //執行:java cn.mybole.Test
    19    3)可以在編譯時用 "-d ."(-d 和.之間有一個空格,.和*.java之間有一個空格)參數來在當前目錄下生成目錄 cn/mybole/Test.class,
    20        即將*.class文件在生成的目錄下生成.
    21        如:    javac -d . Test.java        //在當前目錄一生成包
    22                javac -d E:\javalesson\Test.java        //在指定目錄(E:\javalesson)一生成包
    23    4)用import關鍵字導入一個包(其中,java.lang包是自動導入的):
    24        1.import java.io.File        //導入java.io包中的File類
    25        2.import java.io.*            // 導入java.io包中的所有類
    26            這種導入所有類的方法雖然方便,但是:
    27            1.會消耗機器的大量內存
    28            2.當遠程加載時會因加載到本地的類過多而造成明顯的延時.
    29    5)導入一個包中的類后可以在當前類中用所導入的類直接定義變量
    30        如: File f;        //用已經導入的類定義變量
    31                java.io.File f        //當沒有用import導入包時也可以通過完整的類名定義
    32    6)如果要使用的類在同一個包中,無需用import語氣就可以相互引用.
    33
    342.類的說明符
    35    1)從外部軟件包中訪問非同一個包的一個類--public類
    36        1.缺省的類是不能被外部軟件包訪問的.
    37        2.只有聲明為public的類才能通過import(或在當前類中以完整類名)被外部軟件包訪問.
    38        如:
    39            //Test2.java
    40            
    41            //package cn.mybole;
    42            package com.winsunlight;        //com.winsunlight包
    43            
    44            public class Test2 //Test類是public類.
    45            {
    46                    
    47            }

    48            //Test.java
    49    
    50            package cn.mybole;
    51            
    52            //import java.io.File;
    53            //import java.io.*;
    54            import com.winsunlight.Test2;//導入com.winsunlight包中的Test2類
    55            class Test
    56            {
    57                    public static void main(String[] args)
    58                    {
    59                            //File f;
    60                            //java.io.File f;
    61                            //System.out.println("package test!");
    62                            Test2 t2 = new Test2();        //訪問com.winsunlight包中的Test2類
    63                    }
       
    64            }

    65    2)final類(最終類)不能被其他類所繼承,其方法也不能被覆蓋.
    66        1.public final class Test2 //用public和final修飾的類可以用import引用,亦不能被繼承.


    評論

    # re: Java學習筆記(一)  回復  更多評論   

    2008-07-28 16:29 by ∪∩BUG
    從UltraEdit里復制的代碼在這里都不整齊了..
    花是半天時間才把比較喜歡的這個Blog的主題改成可以夠寬的顯示代碼了..
    主站蜘蛛池模板: 亚洲香蕉久久一区二区| 黄瓜视频高清在线看免费下载| 亚洲精品美女网站| 国产V亚洲V天堂无码| 又爽又高潮的BB视频免费看| 无人影院手机版在线观看免费| 在线观看免费播放av片| 久青草国产免费观看| 亚洲大码熟女在线观看| 亚洲国产成人久久三区| 亚洲国产婷婷六月丁香| 亚洲国产一级在线观看| 日韩免费观看的一级毛片| 国产精品69白浆在线观看免费 | 成年男女男精品免费视频网站| 久久久久高潮毛片免费全部播放| GOGOGO高清免费看韩国| 九九久久精品国产免费看小说| 国产成人亚洲毛片| 国产偷国产偷亚洲清高APP| 亚洲av无码一区二区三区在线播放 | 亚洲一区二区三区91| 精品亚洲成a人片在线观看| 久久91亚洲精品中文字幕| 亚洲精品无码久久一线| 亚洲人成影院在线无码按摩店| 亚洲区不卡顿区在线观看| 亚洲Av无码国产情品久久| 免费h黄肉动漫在线观看| 成人免费无码精品国产电影| 日本高清免费网站| 国产精品二区三区免费播放心 | 亚洲一区二区三区首页| 亚洲AV无码欧洲AV无码网站| 亚洲va久久久噜噜噜久久天堂 | 日韩精品无码专区免费播放| 久久99精品视免费看| 在线免费中文字幕| 国产免费久久精品99re丫y| 成年女人毛片免费视频| 国产网站在线免费观看|