Java語句及其控制結(jié)構(gòu)

          import java.applet.Applet; //包引入語句
          public class GetSquare extends Applet;//聲明類語句

          1. 表達(dá)式語句

          int k, i=3, j=4;
          k=i+j;
          System.out.println(″k=″+k);

          2. 復(fù)合語句

          class Block {
          public static void main(String args[]) {
            int k, i=3, j=4;
            k=i+j;
            System.out.println(″k=″+k);
            {
            float f;
            f=j+4.5F;
            i++;
            System.out.println(″f=″+f);
            }
            System.out.println(″i=″+i);
          }
          }

          選擇語句
          利用選擇語句結(jié)構(gòu)可以根據(jù)條件控制程序流程,改變程序執(zhí)行的順序。

          if語句
          if語句的語法格式為:

          if (條件表達(dá)式)
          s1語句;

          這是最簡單的單分支結(jié)構(gòu)。條件表達(dá)式的值為true,就執(zhí)行s1語句,否則就忽略s1語句。s1語句可以是復(fù)合語句。

          if…else語句

          if語句通常與else語句配套使用,形成二分支結(jié)構(gòu)。它的語法格式為:

          if (條件表達(dá)式)
          s1語句;
          else
          s2語句;

          當(dāng)條件表達(dá)式的值為true,就執(zhí)行s1語句,忽略else和s2語句;條件表達(dá)式的值為false,程序忽略s1語句,執(zhí)行else后面的s2語句。s1和s2都可以是復(fù)合語句。

          if…else復(fù)合結(jié)構(gòu)

          對(duì)于復(fù)雜的情況,可以嵌套使用if…else語句。它的語法格式為:

          if (條件表達(dá)式1)
          s1語句;
          else if (條件表達(dá)式2)
          s2語句;
          else
          s3語句;

          在這里依次計(jì)算條件表達(dá)式,如果某個(gè)條件表達(dá)式的值為true,就執(zhí)行它后面的語句,其余部分被忽略;所有表達(dá)式的值都為false,就執(zhí)行最后一個(gè)else后的s3語句。s1、s2和s3都可以是復(fù)合語句。

          switch開關(guān)語句
          雖然嵌套的條件語句可實(shí)現(xiàn)多個(gè)分支處理,但嵌套太多時(shí)容易出錯(cuò)和混亂,這時(shí)可以使用開關(guān)語句switch處理。實(shí)際上開關(guān)語句switch也是一種if…else結(jié)構(gòu),不過它使你在編程時(shí)很容易寫出判斷條件,特別是有很多條件選項(xiàng)的時(shí)候。

          開關(guān)語句switch的語法格式:
          switch (表達(dá)式) {
          case 常量1:
            語句1;
            break;

          case 常量2:
            語句2;
            break;
          ......
          default:
            語句n;
          }
          其中switch、case、default是關(guān)鍵字,default子句可以省略。開關(guān)語句先計(jì)算表達(dá)式,然后將表達(dá)式值與各個(gè)常量比較,如果表達(dá)式值與某個(gè)常量相等,就執(zhí)行該常量后面的語句;如果都不相等,就執(zhí)行default下面的語句。如果無default子句,就什么都不執(zhí)行,直接跳出開關(guān)語句。

          使用開關(guān)語句時(shí),注意以下幾點(diǎn):
          • case后面的常量必須是整數(shù)或字符型,而且不能有相同的值;
          • 通常在每一個(gè)case中都應(yīng)使用break語句提供一個(gè)出口,使流程跳出開關(guān)語句。否則,在第一個(gè)滿足條件case后面的所有語句都會(huì)被執(zhí)行,這種情況叫做落空。

          循環(huán)語句

          循環(huán)可使程序根據(jù)一定的條件重復(fù)執(zhí)行某一部分程序代碼,直到滿足終止循環(huán)條件為止。
          Java中提供的循環(huán)語句有: 確定次數(shù)循環(huán)(for)、條件循環(huán)(while)、先執(zhí)行后判定循環(huán)(do)。

          for循環(huán)語句

          如果希望程序的一部分內(nèi)容按固定的次數(shù)重復(fù)執(zhí)行,通常可以使用for循環(huán)。for循環(huán)采用一個(gè)計(jì)數(shù)器控制循環(huán)次數(shù),每循環(huán)一次計(jì)數(shù)器就計(jì)數(shù),直到完成給定的循環(huán)次數(shù)為止。

          for循環(huán)的語法格式為:

          for (表達(dá)式1; 表達(dá)式2; 表達(dá)式3)
          循環(huán)體

          其中表達(dá)式1可以給出計(jì)數(shù)器的初值,是一個(gè)賦值語句;表達(dá)式2指出循環(huán)結(jié)束條件,是一個(gè)邏輯表達(dá)式;表達(dá)式3指出計(jì)數(shù)器每次的增量,是一個(gè)賦值語句。

          注意: 計(jì)數(shù)器可在for語句之前定義,也可在循環(huán)括號(hào)中定義。計(jì)數(shù)器增量為1時(shí)常寫成增量運(yùn)算的形式,以加快運(yùn)算速度。根據(jù)需要,增量可以大于或小于1。增量計(jì)算也可以放在循環(huán)體中進(jìn)行,即把表達(dá)式3移到循環(huán)體內(nèi)的適當(dāng)位置,原位置為空。
          使用循環(huán)語句時(shí)常常會(huì)遇到死循環(huán)的情況,也就是無限制地循環(huán)下去。所以在使用for循環(huán)時(shí),要注意初值、終值和增量的搭配。終值大于初值時(shí),增量應(yīng)為正值,終值小于初值時(shí),增量應(yīng)為負(fù)值。編程時(shí)必須密切關(guān)注計(jì)數(shù)器的改變,這是實(shí)現(xiàn)正常循環(huán)避免陷入死循環(huán)的關(guān)鍵。

          while循環(huán)語句
          while循環(huán)不像for循環(huán)那么復(fù)雜,while循環(huán)只需要一個(gè)條件判斷語句,便可以進(jìn)行循環(huán)操作。

          while循環(huán)的語法格式為:

          while (條件表達(dá)式) 
          循環(huán)體

          其中while是關(guān)鍵字。每次循環(huán)之前都要計(jì)算條件表達(dá)式,其值為true時(shí),就執(zhí)行一次循環(huán)體中的語句,然后再計(jì)算條件表達(dá)式,決定是否再次執(zhí)行循環(huán)體中的語句;如果條件表達(dá)式的值為false時(shí),就跳出循環(huán)體,執(zhí)行循環(huán)體下面的語句。

          注意: while循環(huán)中的條件表達(dá)式是邏輯表達(dá)式,所以循環(huán)體中一定要有改變條件表達(dá)式值的語句,使條件表達(dá)式的值有機(jī)會(huì)變?yōu)閒alse,否則會(huì)陷入死循環(huán)。

          do…while循環(huán)語句
          do…while循環(huán)與while循環(huán)相反,是先執(zhí)行循環(huán)體中的語句,再計(jì)算while后面的條件表達(dá)式,若條件表達(dá)式值為false則跳出循環(huán);否則繼續(xù)下一輪循環(huán)。

          有些情況下,不管條件表達(dá)式的值是為true還是false,都希望把指定的語句至少執(zhí)行一次,那么就應(yīng)使用do…while循環(huán)。

          do…while循環(huán)的語法格式為:

          do {
          循環(huán)體
          } while (條件表達(dá)式);

          其中do、while是關(guān)鍵字。程序首先執(zhí)行do下面的循環(huán)體,然后計(jì)算while后面條件表達(dá)式的值,如果其值為true,則重復(fù)執(zhí)行循環(huán)體;否則,就結(jié)束循環(huán)。

          與while循環(huán)相同,do循環(huán)在循環(huán)體中也一定要有改變條件表達(dá)式值為false的語句,否則會(huì)陷入死循環(huán)。do…while循環(huán)控制并不是很常用,但有時(shí)卻非常重要,使用時(shí)特別注意不要忘記了while語句結(jié)尾處的分號(hào)“;”。

          循環(huán)語句嵌套
          ex:做個(gè)例子 是累計(jì)求和的。

          public class Sum1 {
          public static void main(String args[]) {
            int n=10, sum=0;
            while (n>0) {
            sum=0;
            for (int i=1; i<=n; i++)
              sum+=i;
            System.out.println(″前″+n+″個(gè)數(shù)的總和為: ″+sum);
            n--;
            }
          }
          }

          循環(huán)語句小結(jié)
          一個(gè)循環(huán)一般應(yīng)包括4部分內(nèi)容。
          (1) 初始化部分: 用來設(shè)置循環(huán)的一些初始條件,計(jì)數(shù)器清零等。
          (2) 循環(huán)體部分: 這是反復(fù)被執(zhí)行的一段代碼,可以是單語句,也可以是復(fù)合語句。
          (3) 迭代部分: 這是在當(dāng)前循環(huán)結(jié)束,下一次循環(huán)開始時(shí)執(zhí)行的語句,常用來使計(jì)數(shù)器加1或減1。
          (4) 終止部分: 通常是一個(gè)布爾表達(dá)式,每一次循環(huán)要對(duì)該表達(dá)式求值,以驗(yàn)證是否滿足循環(huán)終止條件。

          跳轉(zhuǎn)語句
          跳轉(zhuǎn)語句可以無條件改變程序的執(zhí)行順序。Java支持3種跳轉(zhuǎn)語句: break、continue和return。

          break語句

          break語句提供了一種方便的跳出循環(huán)的方法。使用break語句可以立即終止循環(huán),跳出循環(huán)體,即使循環(huán)沒有結(jié)束也如此。

          break語句的使用示例,輸出結(jié)果如圖3.10所示。

          class B {
          public static void main(String args[]) {
            boolean test=true;
            int i=0;
            while (test) {
            i=i+2;
            System.out.println(″i=″+i);
            if (i>=10)
              break;
            }
            System.out.println(″ i為″+i+″時(shí)循環(huán)結(jié)束″);
          }
          }


          帶標(biāo)號(hào)的break語句

          標(biāo)號(hào)是標(biāo)記程序位置的標(biāo)識(shí)符。break語句只能跳轉(zhuǎn)到循環(huán)語句下面的第一條語句上,而帶標(biāo)號(hào)的break語句可直接跳轉(zhuǎn)到標(biāo)號(hào)處。正常的break只退出一重循環(huán),如果要退出多重循環(huán),可以使用帶標(biāo)號(hào)的break語句。它的語法格式為:

          標(biāo)識(shí)符:
          …
          break 標(biāo)識(shí)符;

          做個(gè)例子說明

          運(yùn)行該工程,正常情況下可從鍵盤接受16個(gè)輸入字符,但當(dāng)輸入b按回車時(shí),break lab1語句就會(huì)結(jié)束二重循環(huán)。

          class B1 {
          public static void main(String args[]) throws java.io.IOException {
            char ch;

            lab1: // 此處為標(biāo)號(hào)標(biāo)識(shí)符
            for (int i=0; i<4; i++)
            for (int j=0; j<4; j++) {
              ch=(char)System.in.read();
              System.in.skip(2);
              if (ch==′b′)
              break lab1;//跳到標(biāo)號(hào)標(biāo)識(shí)符處
              if (ch==′c′)
              System.out.println(″繼續(xù)″);

            }
            System.out.println(″結(jié)束兩重循環(huán)″);
          }
          }


          continue語句
          continue語句只能用在循環(huán)結(jié)構(gòu)中,它跳過循環(huán)體中尚未執(zhí)行的語句,重新開始下一輪循環(huán),從循環(huán)體第一個(gè)語句開始執(zhí)行。

          下面的可以輸出1~9中除6以外所有偶數(shù)的平方值

          class C2 {
          public static void main(String args[]) {
            for (int i=2;i<=9;i+=2) {
            if (i==6)
              continue; 
            System.out.println(i+″ 的平方 = ″+i*i); }
          }
          }

          帶標(biāo)號(hào)的continue語句
          Java也支持帶標(biāo)號(hào)的continue語句,它通常用在嵌套循環(huán)的內(nèi)循環(huán)中,可以用標(biāo)號(hào)標(biāo)出想跳到哪一條語句繼續(xù)重復(fù)執(zhí)行程序。其語法格式為:

          標(biāo)識(shí)符:
          …
          continue 標(biāo)識(shí)符;

          帶標(biāo)號(hào)的continue語句的使用

          class C3{
          public static void main(String args[]) {
            lab1:
            for (int i=1; i<=3; i++)
            for (int j=1; j<=3; j++) {
              System.out.println(″i:″+i+″ j:″+j);
              if (i+j>3) {
              System.out.println(″Continue″);
              continue lab1;
              }
              System.out.println(″i=″+i+″  j=″+j);
            }
          }
          }


          求100~200間的所有素?cái)?shù)。用嵌套的for循環(huán)做

          public class Find {
          public static void main(String args[]) {
            System.out.println(″ ** 100~200間的所有素?cái)?shù) **″);
            int n=0;

            outer:
            for (int i=101; i<200; i+=2) {
            int k=15;
            for (int j=2; j<=k; j++)
              if (i%j==0)
              continue outer;
            System.out.print(″ ″+i);
            n++;
            if (n<10)
              continue;

            System.out.println();
            n=0;
            }
            System.out.println();
          }
          }


          return語句
          return語句用于方法的返回上,當(dāng)程序執(zhí)行到return語句時(shí),終止當(dāng)前方法的執(zhí)行,返回到調(diào)用這個(gè)方法的語句。return語句通常位于一個(gè)方法體的最后一行,有帶參數(shù)和不帶參數(shù)兩種形式,帶參數(shù)形式的return語句退出該方法并返回一個(gè)值。

          當(dāng)方法用void聲明時(shí),說明不需要返回值(即返回類型為空),應(yīng)使用不帶參數(shù)return語句。不帶參數(shù)的return語句也可以省略,當(dāng)程序執(zhí)行到這個(gè)方法的最后一條語句時(shí),遇到方法的結(jié)束標(biāo)志}就自動(dòng)返回到調(diào)用這個(gè)方法的程序中。

          帶參數(shù)的return語句格式為:

          return 表達(dá)式;

          當(dāng)程序執(zhí)行到這個(gè)語句時(shí),首先計(jì)算“表達(dá)式”的值,然后將表達(dá)式的值返回到調(diào)用該方法的語句。返回值的數(shù)據(jù)類型必須與方法聲明中的返回值類型一致,可以使用強(qiáng)制類型轉(zhuǎn)換來使類型一致。

          帶參數(shù)的return語句的使用

          class CircleArea {
          final static double PI=3.14159;
          public static void main(String args[]) {
            double r1=8.0, r2=5.0;
            System.out.println(″半徑為″+r1+″的圓面積=″+area(r1));
            System.out.println(″半徑為″+r2+″的圓面積=″+area(r2));
          }
          static double area(double r) {
            return (PI*r*r);
          }
          }

          Feedback

          # re: Java基礎(chǔ)知識(shí)(三)語句及其控制結(jié)構(gòu)  回復(fù)  更多評(píng)論   

          2008-12-08 10:19 by 楊愛友
          加油,你的耐心大大滴,哈哈!

          # re: Java基礎(chǔ)知識(shí)(三)語句及其控制結(jié)構(gòu)  回復(fù)  更多評(píng)論   

          2008-12-08 19:47 by 楓舞星萍
          -.- 真的很枯燥 為給某潴看 不過這三章 基本語法差不多夠了@楊愛友

          # re: Java基礎(chǔ)知識(shí)(三)語句及其控制結(jié)構(gòu)  回復(fù)  更多評(píng)論   

          2009-07-07 12:52 by 云無跡
          很清楚,齊全。

          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          posts - 4, comments - 4, trackbacks - 0, articles - 0

          Copyright © 楓舞星萍

          主站蜘蛛池模板: 新宁县| 靖州| 罗定市| 鄂托克前旗| 兴城市| 萝北县| 潮州市| 靖安县| 台中市| 汝城县| 广西| 崇仁县| 乐至县| 顺平县| 嘉荫县| 灵山县| 合川市| 虞城县| 沅江市| 靖安县| 涟水县| 沧州市| 新和县| 宁乡县| 龙岩市| 甘德县| 始兴县| 福建省| 吴桥县| 河南省| 磴口县| 黎平县| 瓦房店市| 阳山县| 平凉市| 肇源县| 新蔡县| 色达县| 德保县| 德格县| 潼关县|