數據加載中……

          二維數組的使用

          Java中,二維數組的定義和一維數組是一樣的。

          public class Welcome {

               public static void main(String[] args) {

                  int [][] num;

                  num=new int[3][4];

                  num[0][1]=1;

                  num[1][3]=12;

                  num[2][2]=21;        

                      }

          }

          Java中二維數組的列數可以不同,比如第一行是2列,第二行是4列,等等。

          有些類似與c語言中的指針數組。

          public class Welcome {

               public static void main(String[] args) {

                   int [][] num;

                  num=new int[3][];

                  num[0]=new int[2];

                  num[1]=new int[4];

                  num[2]=new int[3];

                  num[0][1]=12;

                  num[1][3]=23;

                  num[2][2]=34;

                  System.out.println(num[0][1]);

                  System.out.println(num[1][3]);

                  System.out.println(num[2][2]);

                      }

           }

          在java中沒有定義的自動賦值為0.

          在定義時可以為二維數組來定義,但是在賦初值時 ,不要在定義大小了

          int [][] num=new int[3][]{1,2,3,4,5,2,3,4,5,6} //error

          public class Welcome {

               public static void main(String[] args) {

                   int [][] num=new int[][]{1,2,3,4,5,2,3,4,5,6}; //error

                   int [][] num=new int[][]{{1,2,3,4,5},{2,3,4,5,6}}; //ok    

                  }

          }

          定義二維數組還有一種方式

          public class Welcome {

               public static void main(String[] args) {

                     int [][] num={1,2,3,4,5,2,3,4,5,6}; //error

                   }

          }

          也可以定義不規(guī)則的二維數組

          public class Welcome {

               public static void main(String[] args) {

                   int [][] num={{1,2,3},{4,5},{2}};

                  System.out.println(num[0][2]);

                  System.out.println(num[1][1]);

                  System.out.println(num[2][0]);

                   }

          }

          posted @ 2008-02-28 11:00 rick 閱讀(3337) | 評論 (0)編輯 收藏
          一維數組的使用

          在java中,不能使用像int num[3];這樣的定義數組,在定義數組時不能分配空間的大小,只能通過為數組添加對象來分配空間。

          public class Welcome {

               public static void main(String[] args) {

                     int num[];

                  num=new int[3];

               }

           }

          或者在定義時直接定義大小。

          public class Welcome {

               public static void main(String[] args) {

                      int num[]=new int[3];

                      }

           }

          Java中建議使int[] num 這種方式這種方式定義了一個int類型的數組[],數組名稱為num。

          在定義時還可以直接初始化

          public class Welcome {

               public static void main(String[] args) {

                     int[] num={1,2,3};

                      }

           }

          但是這種方法只能在定義時進行。

          public class Welcome {

               public static void main(String[] args) {

                      int[] num=new int[]{1,2,3};

                      }

           }

          還可以使用new int方法來定義,如上

          int[] num =new int[3]{1,2,3};這樣的寫法也是不允許的。不能分配空間大小。

          最簡單的方法是

          public class Welcome {

               public static void main(String[] args) {

                  int [] num;

                  num=new int[3];

                  num[0]=1;

                  num[1]=12;

                  num[2]=21;

                  System.out.println(num[0]);

                  System.out.println(num[1]);

                  System.out.println(num[2]);

                      }

           }

          posted @ 2008-02-27 17:11 rick 閱讀(217) | 評論 (0)編輯 收藏
          字符類型char和浮點類型float和布爾類型boolean的使用

          對字符類型賦值使用單引號' ',

          public class Welcome {

               public static void main(String[] args) {

                   char ch;

                  ch='a';

                  System.out.println(ch);

               }

           }

          輸出為a

          字符類型還可以直接使用整數來賦值,因為java中對字符類型使用的是uncode字符。

          public class Welcome {

               public static void main(String[] args) {

                  char ch;

                  ch=98;

                  System.out.println(ch);

               }

           }

          輸出為b

          在java中小數常量被默認為double類型,如1.3默認為double類型。如果要聲明為float類型,需要在之后加f,如1.3f

          public class Welcome {

               public static void main(String[] args) {

                  float f;

                  f=1.3f;

                  System.out.println(f);

               }

           }

          輸出為1.3

          在java中boolean 布爾類型只有2個取值是true和false,不能賦值為1之類的整數。

           public class Welcome {

               public static void main(String[] args) {

                  boolean bool;

                  bool=true;

                  System.out.println(bool);

               }

           }

          輸出為true

          在做條件判斷的時候,不能再像c語言那樣使用if(1)或where(1)這樣的語句。

          只能寫為if(true)或where(true)這樣。

          posted @ 2008-02-27 16:33 rick 閱讀(595) | 評論 (0)編輯 收藏
          數據類型強制轉換

          Byte b;

          b=3;

          b=b*3;

          System.out.pringln(b);

          編譯時會提示發(fā)現int類型,需要byte類型,這是因為b=b*3java會自動將參與運算的數據自動轉換為int類型。如果要輸出正確的數據則要進行強制類型轉換。

          b=(byte)(b*3);

          這樣才會對

          posted @ 2008-02-27 11:34 rick 閱讀(552) | 評論 (0)編輯 收藏
          關于類的知識

          public class Welcome
          //聲明public的類,應該作為文件名,一個源文件只能有1個或沒有public的類
          {
           public static void main(String[] args)
           {
            System.out.print("你好\n");
            //不加ln,不加換行。或者在之后加\n也是換行
            System.out.println("歡迎使用java開發(fā)");
            //輸出命令,牢記!
              }
          }

          posted @ 2008-02-20 22:30 rick 閱讀(156) | 評論 (0)編輯 收藏
          java筆記3

          對象的特征:狀態(tài)(state)和行為(behabior)
          人          身高,體重     吃飯,睡覺


          現實世界對象的狀態(tài)保存在軟件對象的變量中,先是世界對象的行為通過軟件對象的方法(函數)來實現、。

          類和對象
          把相似的對象歸成一個類。
          類就是模版定義了通用與一個特定種類的所有對象的狀態(tài)(變量)和行為(方法)
          類是創(chuàng)建對象的模版,對象是類的實例。
          掌握面向對象的難點在于思路的轉換,我們通常考慮解決問題的方法。而不是考慮將問題抽象成對象再去解決它。
          編寫一個駕駛汽車的方法
          面向過程的程序設計: 編寫一個方法,void drivercar();
          面向對象的程序設計: 將一輛汽車看成一個對象,將所有汽車對象的共性抽取出來,設計一個類Car,
            類中有一個方法void drive(),用Car這個類實例化一個具體的對象car,調用:car.drive().
           
           
           new關鍵字的作用。
            為對象分配內存空間,引起對象構造方法的調用。為對象返回一個引用。 
           
           
            構造方法的名字和類名相同,并且沒有返回值。
            構造方法主要用于為類的對象定義初始化狀態(tài)。
            我們不能直接調用構造方法,必須通過new關鍵字來自動調用,從而創(chuàng)建類的實例。
            java的類都要求有構造方法,如果沒有定義構造方法,java編譯器會為我們提供一個缺省的構造方法,也就是不帶參數的構造方法。
            缺省構造方法默認值:數值         0
                                booeean    false
                                char       ”\0"
                                對象       null
                               
          方法的重載:重載構成的條件:方法的名稱相同,但是參數類型或參數個數不同,才能構成方法的重載。


          特殊變量this
               this變量代表對象本身。
               當類中有兩個同名變量,一個屬于類(類的成員變量),而另一個屬于某個特定的方法(方法的局部變量),
            使用this區(qū)分成員變量和局部變量
               使用this簡化構造函數的調用。可以通過不帶參數的構造方法調用帶參數的構造方法。
               Point(int a,int b)
           {
            x=a;
            y=b;
           }
           Point()
           {
            this(1,2);
           }
           一個類所有的實力(對象)調用的成員方法在內存中只有一份拷貝,盡管在內存中可能有多個對象,
          而數據成員在類的每個對象所在內存中都存在這一份拷貝。this變量允許相同的實例方法為不同的對象工作。
          每當調用一個實例方法時,this變量將被設置成引用改實例方法的特定的類對象。方法的代碼接著會與this所代表的特定數據建立關聯。
              
              內存模型 的概念
           
               靜態(tài)方法和靜態(tài)變量時屬于某一個類,而不屬于類的對象。
               靜態(tài)方法和靜態(tài)變量的引用直接通過類名引用。
               在靜態(tài)方法中不能調用非靜態(tài)的方法和引用非靜態(tài)的成員變量。反之,則可以。
               可以用類的對象obj去調用靜態(tài)的方法method(),如 obj。method()。
              
           
            final定義的變量要在定義時初始化也可以放在構造函數中實現
            常量通常定義為靜態(tài)的,是為了節(jié)省內存。這時就要在定義時初始化。
            final定義的常量一般默認用大寫。

          繼承
           
             繼承是面向對象的關鍵
             在java中,通過關鍵字extends繼承一個已有的類,被繼承的稱為父類(超類,基類),新的類稱為子類(派生類)。
             在java中,不允許多繼承。
            
          方法的覆蓋
          在子類中定義一個與父類同名、返回類型、參數類型均相同的一個方法,稱為方法的覆蓋。覆蓋發(fā)生在子類與父類之間。
             class Animal
          {
           int height,weight;
           void eat()
           {
            System.out.println("animal eat");
           }
           void breathe()
           {
            System.out.println("animal breathe");
           }
           void sleep()
           {
            System.out.println("animal sleep");
           }
           
          }
          class Fish extends Animal
          {
           void breathe()
           {
            System.out.println("fish bubble");
           }
          }
          class Integration
          {
           public static void main(String[] args)
           {
            Animal an=new Animal();
            Fish fh= new Fish();
            
            an.breathe();
            fh.height=30;
            fh.breathe();
            
           }
          }
             特殊變量super,提供了對父類的訪問。
             可以使用super訪問父類被子類隱藏的變量或覆蓋的方法。
             每個子類構造方法的第一條語句,都是隱含的調用super(),如果父類沒有這種形勢的構造函數,那么在編譯的時候就會報錯。
            
             class Animal
          {
           int height,weight;
           void eat()
           {
            System.out.println("animal eat");
           }
           void breathe()
           {
            System.out.println("animal breathe");
           }
           void sleep()
           {
            System.out.println("animal sleep");
           }
           
          }
          class Fish extends Animal
          {
           void breathe()
           {
            super.breathe();
            super.height=40;
            System.out.println("fish bubble");
           }
          }
          class Integration
          {
           public static void main(String[] args)
           {
            //Animal an=new Animal();
            Fish fh= new Fish();
            
            //an.breathe();
            fh.height=30;
            fh.breathe();
            
           }
          }
            
             多態(tài)性,子類有就調用子類的。沒有就調用父類的
             instanceof
             比較一個實例是否是一個類的實例

          posted @ 2007-08-26 18:48 rick 閱讀(194) | 評論 (0)編輯 收藏
          java筆記2

          按位與
          同時開才亮

          關  關  暗
          開  關  暗
          關  開  暗
          開  開  亮
          01101101 與
          00110111
          00100101
          只有11為1


          按位或
          任何一個開都亮。同時關才暗
          01101101 或
          00110111
          01111111
          只有00為0


          按位異或
          處于不同的狀態(tài)就亮
          01101101 異或
          00110111
          01011010
          只有01或10為1


          按位取反
          0變1,1變0
          java中的3個移位預算符
          左移:<<
          帶符號右移:>>
          無符號右移:>>>
          數     x          x<<2         x>>2          x>>>2
          17  00010001  00`01000100  00000100`01  00000100`01
          -17 11101111  11`10111100  11111011`11  00111011`11

          把數向左移動一位。相當與乘以2,向右移動一位,相當與除2。

          posted @ 2007-08-21 22:04 rick 閱讀(238) | 評論 (0)編輯 收藏
          java 筆記

          源碼
          將最高位表示符號位0正1負其余代表數值本身的絕對值
          +7 源碼00000111
          -7 源碼10000111
          問題
          +0源碼 00000000
          ——0源碼 10000000
          表示方式不唯一,所以計算機中不采用這種方式

          反碼
          一個數為正。則它的反碼與源碼相同;一個數為負。則符號位為1。其余都是對源碼取反
          +7 反碼 00000111
          ——7 反碼 11111000
          問題
          +0 反碼 00000000
          ——0 反碼 11111111
          計算機中也不采用這種方式
          補碼
          利用溢出,我門可以將減法變成加法。
          對于10進制 9-4=5
          因為4+6=10
          我們將6作為4的補數。將上面的減法變成加法
          9+6=15
          去掉高位1 得到5
          一個字節(jié)表示一個數1個字節(jié)有8位超過就進1
          一個數為正源碼。反碼。補碼相同。一個數為負。則符號位為1。其余各位對源碼取反。然后整個數加1。
          +7 00000111
          ——7 11111000
              11111001
          +0  00000000
          _0  11111111 加1
             100000000 丟棄最高位
              00000000

          posted @ 2007-08-21 22:02 rick 閱讀(169) | 評論 (0)編輯 收藏
          僅列出標題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 皮山县| 东海县| 平陆县| 苍溪县| 平和县| 获嘉县| 祁阳县| 永靖县| 封开县| 石狮市| 灵台县| 江津市| 隆德县| 九龙县| 德庆县| 五常市| 河北省| 蓝山县| 玉门市| 洞头县| 苗栗市| 定南县| 红桥区| 漯河市| 梁河县| 长兴县| 洛宁县| 四会市| 永德县| 开远市| 望谟县| 田阳县| 阜新| 营口市| 呼和浩特市| 台东县| 淳化县| 大新县| 武冈市| 瑞安市| 杭锦后旗|