第一章/第二章

           

          Java中的常量

          Lesson02A.rmvb

          字符常量

          ‘\r’表示接受鍵盤輸入,相當于按下了回車鍵;

          ‘\n’是換行;

          ‘\t’是制表符,相當于table;

          ‘\b’是退格鍵,相當于BackSpace;

          ‘\’’是單引號

          ‘\”’是雙引號;

          ‘\\’是一個斜杠

          變量的概念與作用

               變量就是系統為程序分配的一塊內存單元,用來存儲各種類型的數據。根據所存儲的數據類型的不同,有各種不同類型的變量。變量名代表這塊內存中的數據。

               int x=0,y;

          y=x+3;

          x在被取值前必須被初始化。

          Java的變量類型

           

           

           

          變量的字節大小

          byte占用1個字節

          Boolean占用1個字節

          short占用2個字節

          char占用2個字節

          int占用4個字節

          float占用4個字節

          long占用8個字節

          double占用8個字節

           類型轉化

               自動類型轉換(也叫隱式類型轉換)

               強制類型轉換(也叫顯式類型轉換)

               類型轉換的原理,及什么時候要用強制類型轉換

               表達式的數據類型自動提升

               所有byte型、short型和char的值將被提升到int

               如果一個操作數是long型,計算結果就是long;

               如果一個操作數是float型,計算結果就是float;

               如果一個操作數是double型,計算結果就是double;

          算術運算符的應用技巧

               思考題1:某個培訓中心要為新到的學員安排房間,假設共有X個學員,每個房間可以住6個,讓你用一個公式計算他們要住的房間數?

          答案:(x+5)/6。這種算法還可用在查看留言板的分布顯示上:其中x是總共的留言數,6是每頁顯示的留言數,結果是總共有多少頁。

               思考題2:假設你要讓x 的值在09之間循環變化,請寫出相應的程序代碼。

           class A
          {
                 public static void main(String[]args)
                 {
                        int i=0;
                        while(true)
                        {
                               i=(i+1)%10; 
                               System.out.println(i);
                        }
                   }
          }

           

          邏輯運算符

          運算符    運算

          &     AND()

          范例

          False & True

          結果

          False

          |       OR()

          ^      XOR(異或)

          False | true

          False ^ true

          True

          True

          !       NOT()

          &&      AND(短路)

          !TRUE

          False && True

          False

          False

          ||        OR(短路)

          False !! True

          True

           

           

           

           

           

           

           

           

          1:邏輯運算符用于對boolean型結果的表達式進行運算,運算的結果都是boolean型。

          2”&””&&”的區別在于,如果使用前者連接,那么無論任何情況,”&”兩邊的表達式都會參與計算。如果使用后者連接,當”&&”的左邊為false,則將不會計算其右邊的表達式。”|””||”的區別與”&””&&”的區別一樣。

          位運算符

               任何信息在計算機中都是以二進制的形式保存的,&|^除了可以作為邏輯運算符,也可以做為位運算符它們對兩個操作數中的每一個二進制位都進行運算。

               只有參加運算的兩位都為1&運算的結果才為1,否則就為0

               只有參加運算的兩位都為0,|運算的結果才為0,否則就為1。

               只有參加運算的兩位不同,^運算的結果才為1,否則就為0。

               我們可以對數據按二進制位進行移位操作,java的移位運算符有三種:

               <<左移

               >>右移

               >>>無符號右移

          移位運算的注意事項及小技巧

               移位運算符適用數據類型有byte、short、char、intlong。

               對低于int型的操作數將先自動轉換為int型再移位。

               int型整數移位a>>b,系統先將b32取模,得到的結果才是真正移位的位數。例如:a>>33a>>1結果是一樣的,a>>32結果還是a原來的數字。

               對于long型整數移位時a>>b,則是先將移位位數b64取模。

               移位不會改變量本身的值。A>>1;在行語句中單獨存在,毫無意義。

               x>>1的結果和x/2的結果是一樣的,x<<2X*4的結果也是一樣的。總之,一個數左移n位,就是等于這個數乘以2n次方,一個數右移n位,就是等于這個數除以2n次方。請思考:如何用程序實現求2x次方。答案:y=1<<x;

          (Lesson02B.rmvb)

          程序的流程控制

               順序結構

               選擇結構

               循環結構

          if語句的選擇結構

               if(表達式)語句

               if(表達式)語句1;else語句2;

               if(表達式1)語句1;

                   else if(表達式2)語句2;

                   else if(表達式3)語句3;      

                   ……

                   else語句n;

               每個語句可以是使用{}組成的復合語句

               變量=布爾表達式?語句1:語句2;

               if語句還可以嵌套使用

          if(表達式1)

                  if(表達式2)語句1;

                  else語句2;

          else

                  if(表達式3)語句3;

                  else語句4;

          嵌套時使用{}確定層次界限,舉例說明

          switch語句的選擇結構

          Switch(表達式)

                 case 常量表達式1:語句1;

                 case 常量表達式2:語句2;

                        ……

                 case 常量表達式n:語句n;

                 default:語句n;

               default語句是可選的,它接受除上面接受值有其他值,通俗的講,就是誰是也不要的都歸它。

               case后面可以跟多個語句,這些語句可以不用在括號括起來。

               switch語句判斷條件可以接受int,byte,char,short型,不可以接受其他類型。

               一旦碰到第一次case匹配,就會開始順序執行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會被執行,直到碰到break語句為止。我們可以利用這個特點來用同一段語句處理多個case條件。

          While循環語句

          While(表達式)

                 語句;

          int x=1;

          while(x<3)

          {

          System.out.println(“x=”+x);

                 X++;

          }

          腳下留心:while表達式的括號后面一定不要加“;

          do-while循環語句

          do 語句

          while(表達式);

          do..while 循環則先執行,再判斷是否要繼續執行,也就是說循環至少執行一次,有點像是先斬后奏的方法。只有條件計算結果為 true 時語句才會執行。
          public class TestDO

          {

                 public static void main(String[]args)

                 {

                        int x=3;

                        while(x==0)

                               {

                                      System.out.println("ok1");

                                      x++;

                               }

                        int y=0;

                        do

                        {

                               System.out.println("ok2");

                               y++;

                        }

                        while(y==0);

                 }

          }

          編寫一個程序,這個程序不斷地讀取從鍵盤上輸入的字符,直到講到字符’q’時,程序結束。提示:調用System.in.read();可以讀取到一個從鍵盤上輸入的字符對應的整數。通過這個程序,你一定體會到在什么樣的情況下,用do-while循環語句經while循環語句方便。

           

          public class TestWhile

          {

              public TestWhile()

              {

                    

              }

              public static void main(String[] args)

              {

                  // TODO code application logic here

                  int ch=0;

                 /* try

                  {

                         ch=System.in.read(); 

                         while(ch!='q')

                                {

                                       System.out.println((char)ch);

                                       try

                                       {

                                              ch=System.in.read();

                                       }catch(Exception e){}

                                }

                           

                  }

                  catch(Exception e)

                  {

                         e.printStackTrace();

                         //e.getMessage();

                  }

                  */

                 

                                do

                                {

                                       try

                                       {

                                              ch=System.in.read();

                                       }    

                                       catch(Exception e)

                                       {

                                              e.printStackTrace();

                                              //e.getMessage();

                                       }

                   

                                       System.out.println((char)ch);      

                                       //System.out.println(ch);

                                }

                                while(ch!='q');

              }

          }

          for循環語句

          for(表達式1, 表達式2, 表達式3) 語句

          breakcontinue語句

          break語句可以中止循環中的子語和switch語句。一個無標號的break語句會把控制傳給當前(最內)循環(while,do,forswitch)的下一條語句。如果有標號,控制會被傳遞給當前方法中的帶有這一標號的語句。

          St:while(true)

          {

                 while(true)

                        {

                               break st;

                        }

          }

          continue語句在能出現在循環語句(while,do,for)的子語句塊中,無標號的continue語句的作用是跳過當前循環的剩余語句塊,接著執行下一次循環。用continue語句的打印出010之間的所有奇數的程序例子。

          public class TestContinue

          {

              public TestContinue()

              {

              }

              public static void main(String[] args)

              {

                  // TODO code application logic here

                  for(int i=0;i<10;i++)

                  {

                         if(i%2==0)

                                continue;

                         System.out.println(i);

                  }

              }

          }

          數組

               靜態數組

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

          int[]ia=new int[]{3,4,5};

          int a[5];//聲明數組時,不能指定其長度,編譯時將出錯

          ▂a=null;
              
          使用數組時要注意的問題

          ▂空指針異常

          ▂如何計算數組長度

          ▂數組越界異常

          多維數組

               java中并沒有真正的多維數組,只有數組的數組,Java中多維數組不一定是規則矩陣形式。

           

               定義一個多維數組

          int [][]xx;

          xx=new int [3][];

          xx[0]=new int[3];

          xx[1]=new int[2];

          xx[2]=new int[8];

          public class hello
          {

                public static void main(String[] args)

                {

                        int[][]xx=new int[2][3];

                        xx[0][0]=2;

                        xx[1][2]=6;

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

                        {

                               for(int j=0;j<xx[i].length;j++)

                               {

                                      System.out.println("xx["+i+"]["+j+"]="+xx[i][j]);

                               }

                        }

                }    

          }
           

          數組的排序:

          class ArrayTest

          {

                        public static void main(String[]args)

                        {

                                      int []x=new int[]{1,5,2,7,4};

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

                                      {

                                                    System.out.println("x["+i+"]="+x[i]);

                                      }

                                      java.util.Arrays.sort(x);

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

                                      {

                                                    System.out.println("x["+i+"]="+x[i]);

                                      }

                        }

          }

          數組的拷貝:

          public static void arraycopy(Object src,
                                       int srcPos,
                                       Object dest,
                                       int destPos,

          int length)

          class ArrayTest

          {

                        public static void main(String[]args)

                        {

                                      int []x=new int[]{1,5,2,7,4};

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

                                      {

                                                    System.out.println("x["+i+"]="+x[i]);

                                      }

                                      int[]y=new int[10];

                                      System.arraycopy(x,0,y,1,4);

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

                                      {

                                                    System.out.println("y["+i+"]="+y[i]);

                                      }

                        }

          }

          posted on 2007-05-16 20:16 大頭劍客 閱讀(451) 評論(0)  編輯  收藏 所屬分類: 學習筆記

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          寫字樓里寫字間,寫字間里程序員;
          程序人員寫程序,又拿程序換酒錢;
          酒醒只在網上坐,酒醉還來網下眠;
          酒醉酒醒日復日,網上網下年復年;
          但愿老死電腦間,不愿鞠躬老板前;
          奔馳寶馬貴者趣,公交自行程序員;
          別人笑我忒瘋癲,我笑自己命太賤;
          不見滿街漂亮妹,哪個歸得程序員.
          不管前面是地雷陣還是萬丈深淵,
          我都將勇往直前,義無反顧,
          鞠躬盡瘁,死而后已。
          —— 朱镕基總理

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          學習園地

          最新隨筆

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 公主岭市| 县级市| 河北区| 溆浦县| 德令哈市| 山东| 延津县| 翁牛特旗| 马山县| 天镇县| 衡阳市| 永仁县| 当涂县| 江源县| 醴陵市| 博客| 左权县| 临沂市| 渑池县| 南江县| 石阡县| 阳东县| 都江堰市| 合阳县| 福州市| 九江市| 上栗县| 昌平区| 堆龙德庆县| 潞西市| 盖州市| 绿春县| 公安县| 德化县| 阆中市| 汾阳市| 晋江市| 延长县| 肃南| 明光市| 来宾市|