posts - 7,  comments - 0,  trackbacks - 0
           

          Java 語法介紹(五):條件控制

            條件控制:ifswitch

          1
          :條件語句

            條件語句是程序設計中最常用的語句,用他來選擇程序的執行流程,Java中的基本條件判斷語句是if...else...語句。其機構為:

          if (
          條件表達式)
          {
          語句1
          }
          Else
          {
          語句2

          }
          語句3

           條件表達式的值為真時執行語句1”,然后執行語句3;否則執行語句2”,然后執行語句3

           下面是一個用if--else語句構造多分支程序的例子:

          if(a>5) b=1
          else if(a>4) b=2
          else if(a>3) b=3
          ...
          else b=-1;

          2
          switch分支結構(開關語句)

            switch分支結構用于多條件選擇,雖然在多條件選擇的情況下,也可以使用if...else...結構來實現,但是使用開關語句會使程序更為精煉、清晰。開關語句得格式為:

          switch(
          條件表達式)
          {
          case
          常量表達式1:
          語句1 ;
          break ;

          case
          常量表達式2:
          語句2 ;
          break ;
          //......
          case
          常量表達式n:
          語句n ;
          break ;
          default:
          //
          break
          }

            開關表達式首先計算出條件表達式的值,如果其值等于某個常量表達式,則執行該常量表達式后的語句,如果其值與所有的常量表達式的值不相等,則執行defualt后的語句。

            在switch語句中,你通常在每一種case情況后都應使用break語句,否則,第一個相等情況后面所有的語句都會被執行,這種情況叫做落空。你可以試著分別加上去和去掉break語句來執行下面的例子:

          class Switch Test

          public static void main(String args[])
          throws java.io.IOException

          char a;
          System.out.println("Enter a number from 1--3:");
          a=(char)System.in.read();
          switch(a)

          case´1´:System.out.println("win a Car!");break;
          case´2´:System.out.println("picked the goat");break
          case´3´:System.out.println("get to keep your 100");
          break;
          default:System.out.println("entry");

            在代碼中加break語句后,你應明確知道程序將會發生的變化,并要確認程序沒有轉移到你不想執行的代碼上。
            掌握了以上這些基本語句之后,你可以寫更加實際點的程序了,下面這個程序計算從終端輸入的數字和字符的數量。

          class SwitchTest

          public static void main (String args[])
          throws java.io.IOException

          int numberOfDigits=0,numberOfSpaces=0,numberOfOthers=0;
          char c;
          while((c=(char)System.in.read())!=´´)

          switch(c)

          case´0´:
          case´1´:
          ...
          ...
          case´8´:
          case´9´:numberOfDigits++;break;
          case´ ´:numberOfSpaces++;break;
          default:numberOfOthers++;break;


          System.out.println(":");
          System.out.println("Number of digits="+numberOfDigits+"");
          System.out.println("Number of spaces="+numberOfSpaces+"");
          System.out.println("Number of others="+numberOfOthers+"");

            代碼的while循環從鍵盤讀入字符直至輸入一個回車符,循環內部的switch語句先把它和數字比較,當發現相等時,它就使對應的統計變量的值加1,然后break語句結束switch語句,程序回到等待鍵盤輸入的狀態。程序中,在default語句中的break是不必要的,不過加上它可以使程序風格保持一致。
          posted on 2007-09-11 17:10 Gavin_Sun 閱讀(329) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 祁连县| 蒙阴县| 临沧市| 远安县| 普兰店市| 茶陵县| 邳州市| 讷河市| 家居| 明溪县| 广宗县| 樟树市| 河北区| 方山县| 鹤岗市| 香河县| 屏边| 呼图壁县| 福贡县| 苍山县| 孙吴县| 盐池县| 建始县| 兴国县| 拜泉县| 弥渡县| 胶南市| 准格尔旗| 碌曲县| 旺苍县| 宁海县| 蕲春县| 长子县| 崇阳县| 丽江市| 拉萨市| 怀来县| 长宁区| 河南省| 尉氏县| 宁津县|