国产最新a级毛片无码专区_综合亚洲欧美日韩久久精品_日本成年片在线观看66_一本到九九av电影_一级毛片免费网站播放_国内精品久久人无码大片_国产人成视频99在线观看_欧美不卡在线一本二本_国产亚洲电影av_可以免费看黄色软件

知ing

Java語(yǔ)言程序設(shè)計(jì)(第三版)

邵麗萍,邵光亞,張后揚(yáng) 編 / 清華大學(xué)出版社

拼命菇?jīng)鯜 上傳

查看本書

3.1  Java程序結(jié)構(gòu)
3.1.1  Java程序構(gòu)成
  見P38 例3.1
  說明:
 ?。?)Java源程序一般包括Java包引入(如果有的話)和類定義兩部分;
  (2)Java程序必須包含一個(gè)可被外界所直接調(diào)用的類,即主類;
  (3)一個(gè)Java程序可以定義多個(gè)類,但只能有一個(gè)主類,Java Applet程序的主類是繼承自Applet的子類;Java Application程序的主類是包含main方法的類,應(yīng)用程序從main方法開始執(zhí)行;
 ?。?)類定義由類聲明語(yǔ)句和類體組成;
 ?。?)類聲明語(yǔ)句用來說明類的名稱、訪問權(quán)限及類的屬性;
  (6)類體也由兩部分組成:成員變量和成員方法;
 ?。?)成員變量為類中定義的變量(又稱屬性、域),用來說明類的狀態(tài)和特性。定義成員變量需要聲明成員變量的名稱、類型。
 ?。?)成員方法為類中定義的方法,用來實(shí)現(xiàn)類的功能和行為,是完成任務(wù)的關(guān)鍵。Java Application程序中一定要有main()主方法。而Java Applet程序一般要有init( )初始化方法或paint(Graphics g)畫圖方法;
 ?。?)類體中除了成員變量和成員方法說明語(yǔ)句外沒有其他語(yǔ)句,Java規(guī)定所有操作性語(yǔ)句必須放在成員方法中;
  (10)Java方法類似于其他語(yǔ)言中的函數(shù),可以調(diào)用,可以有返回值。成員方法可以繼承父類的方法,也可以自定義成員方法。方法中也可以定義局部變量。
3.1.2  Java語(yǔ)句
  語(yǔ)句以分號(hào)“;”作為結(jié)束標(biāo)志
  Java語(yǔ)句分為說明性語(yǔ)句和操作性語(yǔ)句。
  說明性語(yǔ)句用來說明包和類的引入、類的聲明、變量的聲明
  如:import java.applet.Applet ;
  操作性語(yǔ)句有表達(dá)式語(yǔ)句、復(fù)合語(yǔ)句、選擇語(yǔ)句和循環(huán)語(yǔ)句等
  1.表達(dá)式語(yǔ)句
    int  k, i=3 , j=4;
    k=i*j;
  2.復(fù)合語(yǔ)句
  復(fù)合語(yǔ)句也稱為塊(block)語(yǔ)句,是包含在一對(duì)大括號(hào)“{ }”中的任意語(yǔ)句序列。從語(yǔ)法上講,一個(gè)復(fù)合語(yǔ)句被視為一個(gè)簡(jiǎn)單語(yǔ)句。
3.2  選擇語(yǔ)句
3.2.1  if語(yǔ)句
  格式: if (條件表達(dá)式)
       語(yǔ)句
  功能:條件表達(dá)式為true就執(zhí)行語(yǔ)句
  例:  int i=70;  char c='A';
     if(i>=c)  System.out.println("A小");
     System.out.println("結(jié)束");
3.2.2  if……else語(yǔ)句
  格式: if (條件表達(dá)式)
       語(yǔ)句1
      else
       語(yǔ)句2
  功能:條件表達(dá)式為true就執(zhí)行語(yǔ)句1,為false執(zhí)行語(yǔ)句2
  例:if('A'>'a')
     System.out.println("A比a大") ;
    else
      System.out.println("A比a小") ; // A65,a97,所以輸出A比a小
    System.out.println("結(jié)束");  
3.2.2  if……else 復(fù)合結(jié)構(gòu)
   格式: if(條件表達(dá)式1)   語(yǔ)句1
         else  if   (條件表達(dá)式2)   語(yǔ)句2
               …………
         else  if   (條件表達(dá)式n)   語(yǔ)句n
           else  語(yǔ)句  n+1
   功能:如果某個(gè)條件表達(dá)式的值為true,就執(zhí)行它后面的語(yǔ)句,其余部分被忽略,若條件表達(dá)式都為假,執(zhí)行else后語(yǔ)句。
例:public class SC{
   public static void 輸入分?jǐn)?shù)(int a){
      char 級(jí)別;
      if (a>=90)  級(jí)別='優(yōu)';
      else if (a>=80)  級(jí)別='良';
      else if (a>=60)  級(jí)別='中';
      else   級(jí)別='差';
      System.out.println("考試等級(jí)為 "+級(jí)別);  }

   public static void main(String arg[]) throws Exception{
     if(arg.length==0) System.out.println("您沒有輸入任何參數(shù)") ;
     else if(arg.length==1)
       輸入分?jǐn)?shù)(Integer.parseInt(arg[0])); //arg[0]強(qiáng)制轉(zhuǎn)換成int型
     else {System.out.println("您輸入的參數(shù)太多了") ;
          System.out.println("命令行參數(shù)個(gè)數(shù)為"+arg.length) ; }
   } }
執(zhí)行:java SC 75     // 輸出:考試等級(jí)為 中
   java SC       // 輸出:您沒有輸入任何參數(shù)
   java SC 75 86  // 輸出:您輸入的參數(shù)太多了
         //       命令行參數(shù)個(gè)數(shù)為2
3.2.4  switch開關(guān)語(yǔ)句
  格式:switch  (表達(dá)式) {
      case  常量1:[語(yǔ)句塊1;] [break;]
        …………
      case  常量n : [語(yǔ)句塊n;] [break;]
      [default: 語(yǔ)句塊n+1;]
     }
功能:先計(jì)算switch表達(dá)式,再與每個(gè)case常量表達(dá)式值相比較,若相同,則執(zhí)行相應(yīng)語(yǔ)句被執(zhí)行。若都不同,則執(zhí)行default語(yǔ)句n+1(若有的話)
  說明:
  1.switch后表達(dá)式必須是整型,字符型;
  2.每個(gè)case的常量必須不同;
  3.若沒有break,程序?qū)⒗^續(xù)執(zhí)行下一個(gè)case語(yǔ)句;
  4.default位置可任意,但要注意break
  例:int a=80,b=9;
    char oper='/';
    switch(oper) {
     case '+' : System.out.println(a+"+"+b+"="+(a+b)); break;
      case '-' : System.out.println(a+"-"+b+"="+(a-b)); break;
      case '*' : System.out.println(a+"*"+b+"="+(a*b)); break;
      case '/' : System.out.println(a+"/"+b+"="+(a/b)); break;
      default  : System.out.println("操作符錯(cuò)誤");
  結(jié)果:80/9=8    //因?yàn)槭钦蛿?shù)相除
  思考:
 ?。?)沒有break的情況(將會(huì)執(zhí)行“/”,“*”,“default”行);
 ?。?)若操作數(shù)都不符,default改變位置,能否執(zhí)行?(能),但后面要加“break”
   例:   public class SC{
         public static void main(String a[])
       {   int i=0,j=5;
          switch(i) {
            case 0: switch(j){
                    case 1: System.out.print("A"); break;
                    case 2: System.out.print("B"); break;
                   default:System.out.print("C") ;  break; }
            case 1: switch(j){
                    case 4: System.out.print("X"); break;
                    case 5: System.out.print("Y"); break;  }
            default: System.out.print("Z"); break;   }}}
   運(yùn)行結(jié)果: CYZ
  
3.3  循環(huán)語(yǔ)句
3.3.1  for循環(huán)語(yǔ)句(與C、C++相同)
  格式: for(賦初值;判斷條件;循環(huán)控制變量增減方式)
      {   語(yǔ)句塊  }
  功能:(1)第一次進(jìn)入for循環(huán)時(shí),對(duì)循環(huán)控制變量賦初值;
  (2)根據(jù)判斷條件檢查是否要繼續(xù)執(zhí)行循環(huán)。為真執(zhí)行循環(huán)體內(nèi)語(yǔ)句塊,為假則結(jié)束循環(huán);
 ?。?)執(zhí)行完循環(huán)體內(nèi)語(yǔ)句后,系統(tǒng)根據(jù)“循環(huán)控制變量增減方式”改變控制變量值,再回到步驟(2)根據(jù)判斷條件檢查是否要繼續(xù)執(zhí)行循環(huán)。
  例:public class SC {
     public static void main(String args[])   {
         int j=0 ;
         for(int i=0 ; i<=5 ; i++)    {
             j+=i ;
             System.out.println("j="+j) ;  }
      }  }
   運(yùn)行結(jié)果:j=0
        j=1
        j=3
        j=6
        j=10
        j=15
3.3.2  while循環(huán)語(yǔ)句
  格式:while (條件表達(dá)式)
       循環(huán)語(yǔ)句塊
  功能:先計(jì)算條件表達(dá)式,為true,則執(zhí)行循環(huán)語(yǔ)句塊,為false則跳出循環(huán)。
  例:public class SC{
     public static void main(String args[])  {
          char c='a' ;
          while(c<='e')    {
              System.out.print(c+" ") ;
              c=(char)(c+1) ;   }
       } }
    運(yùn)行結(jié)果:a  b  c  d  e
3.3.3  do…while循環(huán)語(yǔ)句
  格式: do  { 循環(huán)體 }
      while(條件表達(dá)式) ;
  注意:while后面的“;”
3.3.4  循環(huán)語(yǔ)句的嵌套
例:public class SC {
   public static void main(String args[])
    { int  i , j ;
      for (i=1;i<=9;i++)
        { for (j=1;j<=9;j++)
            System.out.print(i+"*"+j+"="+(i*j)+"\t");
           System.out.println();}
   }  }  
運(yùn)行結(jié)果:1*1=1  1*2=2…………1*9=9
     2*1=2  2*2=4…………2*9=18
     ……………………
     9*1=9  9*2=18…………9*9=81
3.3.5 循環(huán)語(yǔ)句小結(jié)
 ?。?)初始化部分:用來設(shè)置循環(huán)的一些初始條件,計(jì)數(shù)器清零等;
 ?。?)循環(huán)體部分:這是反復(fù)被執(zhí)行的一段代碼,可以是單語(yǔ)句,也可以是復(fù)合語(yǔ)句;
 ?。?)迭代部分:這是當(dāng)前循環(huán)結(jié)束,下一次循環(huán)開始時(shí)執(zhí)行的語(yǔ)句,常用來使計(jì)數(shù)器加1或減1;
 ?。?)終止部分:是一具布爾表達(dá)式,每一次循環(huán)要對(duì)該表達(dá)式求值,以驗(yàn)證是否滿足循環(huán)終止條件。
3.4  跳轉(zhuǎn)語(yǔ)句
  Java支持3種跳轉(zhuǎn)語(yǔ)句:break , continue , return
3.4.1  break語(yǔ)句
  格式:break ;
  功能:(1)退出switch結(jié)構(gòu);
    ?。?)退出當(dāng)前一層循環(huán)。
  例:見P51
3.4.2  帶標(biāo)號(hào)的break語(yǔ)句
  格式:標(biāo)識(shí)符:   //標(biāo)識(shí)符應(yīng)在break前面
     ……
     break 標(biāo)識(shí)符 ;
  功能:直接跳轉(zhuǎn)到標(biāo)識(shí)符處,可以退出多重循環(huán);
  例:public class SC{
    public static void main(String args[])   {
         int i,j,k=0;
   ABC:   for(i=0,j=0;i<10 && j<20;i++,j+=5) {
             for(;k<10;)   {
                k = k + 1;
               break ABC;      }
           System.out.println("i = " + i + "  j = " + j);     }
         System.out.println("Exit for loop==> i = " + i);
         System.out.println("Exit for loop==> j = " + j);
         System.out.println("Exit for loop==> k = " + k);
      } }
  運(yùn)行結(jié)果:Exit for loop==> i =0
       Exit for loop==> j =0
       Exit for loop==> k =1
若去除“break ABC;”語(yǔ)句運(yùn)行結(jié)果:
       i=0  j=0
       i=1  j=5
       i=2  j=10
       i=3  j=15
       Exit for loop==> i =4
       Exit for loop==> j =20
       Exit for loop==> k =10
  
  例:  int  i=3  j;
        outer: while(i>0) {
        j=3;
     iner: while(j>0) {
        if(j<2)  break  outer;
        System.out.println(j+”and”+i);
        j--;
     }  i-- ; }
3.4.3  continue語(yǔ)句 
  格式:continue ;
  功能:只有用在循環(huán)結(jié)構(gòu)中,跳過循環(huán)體中尚未執(zhí)行的語(yǔ)句,重新開始下一輪循環(huán)。從循環(huán)體第一個(gè)語(yǔ)句開始執(zhí)行。
  例:public class SC {
     public static void main(String args[])   {
     int m=0 ;
       do {   m++ ;
      if(m/3==0) continue ;  //去除此行語(yǔ)句則輸出5個(gè)“您好!”
      System.out.println("您好!") ;   }
     while(m<5) ;   }  }
運(yùn)行結(jié)果:輸出3個(gè)“您好!”
3.4.4  帶標(biāo)號(hào)的continue語(yǔ)句 
  格式:標(biāo)識(shí)符:
     ……
     continue  標(biāo)識(shí)符;
  功能:用標(biāo)號(hào)標(biāo)出想跳到的語(yǔ)句,繼續(xù)重復(fù)執(zhí)行程序。
  說明:“break  標(biāo)識(shí)符;”是結(jié)束循環(huán);“continue  標(biāo)識(shí)符;”是繼續(xù)循環(huán)。
  例:P53
3.4.5  return語(yǔ)句 
  格式:return [表達(dá)式] ;
  功能:返回調(diào)用的語(yǔ)句,執(zhí)行它的下一條語(yǔ)句,可以帶參數(shù)返回。
  說明:當(dāng)方法用void聲明時(shí),說明不需要返回值(即返回類型為空),使用不帶參數(shù)return語(yǔ)句。不帶參數(shù)return語(yǔ)句可以省略。
  例:public class SC  {
       public static int Mul( )
         { int  m=1;
          for (int i=1 ; i<=5; i++)
            m=m*i;
          return  m; }
       public static void main(String args[])
         { System.out.println("5!="+ Mul( ));   }  }
運(yùn)行結(jié)果:5!=120

作業(yè):P56 3-3
方法一:public class SC{
    public static void main(String arg[]){
     char c='A';
     while(c<='E') {
     switch(c)
{case 'A': System.out.println("A 等級(jí)的分?jǐn)?shù)段是90分以上");break;
case 'B': System.out.println("B 等級(jí)的分?jǐn)?shù)段是80~90分以上");break;
case 'C': System.out.println("C 等級(jí)的分?jǐn)?shù)段是70~80分以上");break;
case 'D': System.out.println("D 等級(jí)的分?jǐn)?shù)段是60~70分以上");break;
case 'E': System.out.println("E 等級(jí)的分?jǐn)?shù)段是60分以下");break; }
     c++;}}}
方法二:import java.io.* ;
    public class SC{
    public static void main(String arg[]) throws IOException{
     char c=(char)System.in.read();
     // System.in.read( )只接受一個(gè)鍵盤輸入字符,且是int型
     switch(c)
{case 'A': System.out.println("A 等級(jí)的分?jǐn)?shù)段是90分以上");break;
case 'B': System.out.println("B 等級(jí)的分?jǐn)?shù)段是80~90分以上");break;
case 'C': System.out.println("C 等級(jí)的分?jǐn)?shù)段是70~80分以上");break;
case 'D': System.out.println("D 等級(jí)的分?jǐn)?shù)段是60~70分以上");break;
case 'E': System.out.println("E 等級(jí)的分?jǐn)?shù)段是60分以下");break;
default : System.out.println("輸入等級(jí)錯(cuò)誤!");  }}}

查看更多