隨筆 - 19  文章 - 0  trackbacks - 0
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          
          
          
          一、判斷題
          1、Java語言是不區分大小寫的。 錯,Java語言是嚴格區分大小寫的
          2、Java程序源文件的擴展名為“.jar”。 錯,Java程序源文件的擴展名為”.java” 
          3、Java程序一般應含有main方法,因為它是所有java程序的入口。正確
          4、聲明main方法時,其聲明可以寫成:
          Public static void main(String args[])
          也可以寫成:
          Public static void main(String s[])   
           不正確,P不應該大寫,應該小寫,其他地方是正確的
          6、假設有一個名為Hello的java源程序,那么編譯這個文件的命令為javac Hello.java。
            正確
          7、當運行java程序時,類加載器將字節碼加載到內存中,字節碼檢驗器確認所有的字節碼是合法的并且不會破壞java的安全限制,然后解釋器讀取這些字節碼并將它們翻譯成計算機能夠執行的語言。
          正確
          8、在java語言中,每個ASCII碼英文字符占用8個二進制位,而每個中文漢字字符占用16個二進制位。FALSE
          正確 英文字符占1個字節8位,中文字符占2個字節16位
          9、short s = 64000語句是否正確。
          不正確,超出short的取值范圍和應該在64000后面加上分號“;”
          
          二、填空題    
          1、Sun公司提供了三種java開發工具:其用于工作站和個人計算機的標準開發工具為_
          java se _____,用于企業級開發的工具為_java ee______,用于智能移動產品的工具為__ java me______。
          
          2、Java程序中的數據類型分為哪兩種_基本數據類型和引用數據類型__________________________。
          8種基本數據類型 數值型(byte short int long float double)字符型 char  
          布爾型 (Boolean) true 和false
          引用數據類型 類,接口,數組
          3、配置java開發和運行環境,通常需要配置哪兩個環境變量___path_______和________classpath____。
          
          4、在java源文件中,可以有哪幾種類型的注釋_____單行注釋 多行注釋和文檔注釋___________________________。
          
          5、查看當前java虛似機版本的java命令為___java -version________。
          
          6、設一個java源文件的名字為Test.java,則編譯該文件的命令為_javac Test.java_____,運行的命令為___java Test___。
          
          7、Java虛似機運行java程序過程為:首先從后綴為_.class____的文件加載代碼到內存中,然后在內存中__字節碼檢驗器檢查______代碼的合法性和安全性,然后___解釋器____執行合法和安全的代碼。
          
          8、Java語言在____1995______年由____SUN______公司第一次正式發布的,__
          詹姆斯•戈斯林(James Gosling)________被譽為java之父。
          
          9、設Hello.java文件的內容如下:
          class Hello
          {
              static void main(String args[])
              {
                  System.out.println(“Hello World!”);
              }
          }
          下面說法正確的是:D
          A、    無法通過編譯,因為main方法聲明不對。
          B、    可以編譯,但不可以運行。
          C、    可以編譯,并可以輸出正常結果。
          D、    可以編譯,但不可以運行,因為文件中沒有public類。
            
          10、請寫出下面程序的運行結果____12_______:
          public class Test
          {
              public static void main(String args[])
              {
                  int i = 0;
                  while(true)
                  {
                      if(i++>10)
                      {
                          break;
                      }
                  }
                  System.out.printnln(i);
              }
          }
          X++和++X的區別: X++是X先參與運算再自增,++X是先自增再參與運算
          11、請寫出下面程序的運行結果____11_______:
          public class Test
          {
              public static void main(String args[])
              {
                  int i = 0;
                  while(true)
                  {
                      if(++i>10)
                      {
                          break;
                      }
                  }
                  System.out.printnln(i);
              }
          }
          12、請寫出下面程序的運行結果________4________
          class Test
          {
              public static void main(String args[])
              {
                  int a=1,b=2;
                  if((a==0)&(++b==6))
                      a = 100;
                  System.out.println(a+b);
              }
          }
          (a==0)這個條件為false  (++b==6)這個條件首先b自增1后再參與比較,b變成了3,但這個條件也不成立,所以”a=100;”這個語句沒有執行,最后(a+b)的值為(1+3)=4
          13、請寫出下面程序的運行結果_____4______________。
          class Test
          {
              public static int method(int x)
              {
                  int j = 1;
                  switch(x)
                  {
                      case 1:
                          j++;
                      case 2:
                          j++;
                      case 3:
                          j++;
                      case 4:
                          j++;
                      case 5:
                          j++;
                      default:
                          j++;
                  }
                  return j;
              }
              public static void main(String args[])
              {
                  System.out.println(method(4));
              }
          }
          
          14、請寫出下面程序的運行結果_______7____________。
          class Test
          {
              public static void main(String args[])
              {
                  int a = 2;
                  switch(a)
                  {
                      case 1:
                          a +=1;
                          break;
                      case 2:
                          a +=2;
                      case 3:
                          a +=3;
                          break;
                      case 4:
                          a +=4;
                          break;
                      default:
                          a = 0;
                  }
                  System.out.println(a);
                  
              }
          }
          
          三、簡答題:
          1、請判斷下面的程序是否能正常編譯并運行,如能編譯請寫出運行結果,如不能請改正。
              int i = 0;
              do
                  System.out.println(i++);
              while(i<5);
          
            正確 :結果為 0
                          1
                          2
          3
          4
          2、請指出下面程序可能出現的問題。
              class Test
              {
                  public static void main(String args[])
                  {
                      int i = 0;
                      do
          {
              System.out.println(i++);
          }
                  }
              }
          沒有while 語句,do語句沒有中止,不是正確的寫法
          3、請總結break、continue和return的具體用法,并寫出相應的示例程序。
          break于中止當前循環中的子語句
          continue 語句只能出現在循環語句中,用于跳出循環的剩余語句塊,接著執行下一次循環
          for(int i=0;i<10;i++)
           {
                    if(i%2==0)
                  {
                         continue; 
                  }
                System.out.println(i);
           }
          return 用于結束當前執行的語句,并返回一個值
          static int getMax(int num1,int num2,int num3)
              {      
                   
                  int max=num1>num2?num1:num2;
                      max=max>num3?max:num3;
                  return max ;
              }
          
          四、程序題:
          1、    請編寫程序,計算1+3+5+……………………+1999的結果。
          源程序://FindSum.java
              public class FindSum
          {
              public static void main(String args[])
              {
                  int n = 1999 ;
                  int sum = findSum(n);
                  System.out.println("從0到"+n+"之間的奇數和為:");
                  System.out.println("sum="+sum);
              }
              
              static int findSum(int n)
              {
                  int sum=0;
                  for(int i=0; i<=n; i++)
                  {
                      if(i%2==1)
                          sum+=i;    
                  }
                  return sum;
              }
          }
          運行結果:
           
          2、    請定義一個整數數組,用一種排序算法對這個數組進行排序。
           源代碼://Demo42.java
          public class Demo42
          {
              public static void main(String args[])
              {
                  int [] num = {12,45,10,23,5,123,89,411,9,78};
                  
                  System.out.println("排序前:");
                  arrList(num);
                  
                  selectSort(num);
                  System.out.println("排序后:");        
                  arrList(num);
                  
              }
              static void selectSort(int [] arr)
              {
                  for(int i=0; i<arr.length-1; i++)
                  {
                      int pos = i;
                      int max = arr[i];
                      for(int j=i+1; j<arr.length;j++)
                      {
                          if(arr[j]>max)
                          {
                              max = arr[j];
                              pos = j;
                          }
                      }
                      exchange(arr,i,pos);
                  }
                      
              }
              static void exchange(int [] arr,int pos1,int pos2)
              {
                  int temp;
                  temp = arr[pos1];
                  arr[pos1] = arr[pos2];
                  arr[pos2] = temp;
              }
              static void arrList(int [] arr)
              {
                  StringBuffer sb = new StringBuffer();
                  for(int i=0; i<arr.length; i++)
                      sb.append(arr[i] + ",");
                  sb.delete(sb.length()-1,sb.length());
                  System.out.println(sb);
                      
              }
          }
          運行結果:
           
          
          
          3、    請用System.arraycopy實現數組的拷貝。
          源代碼://Demo43.java
          public class Demo43
          {
              public static void main(String args[])
              {
                  int [] num1 = {15,89,16,56,10,2,5,123,84,99,753,612};
                  int [] num2 = {789,145,100,20,36,95,88,71,40,126,91,65};
                  System.out.println("數組拷貝前:");
                  arrList(num1);
                  arrList(num2);
                  
                  System.arraycopy(num1,3,num2,3,6);
                  System.out.println("數組拷貝后:");
                  arrList(num1);
                  arrList(num2);        
              }
              
              static void arrList(int [] num)
              {
                  StringBuffer sb = new StringBuffer();
                  for(int i=0; i<num.length; i++)
                  {
                      sb.append(num[i]+",");
                  }
                  sb.delete(sb.length()-1,sb.length());
                  System.out.println(sb);
              }
          }
          運行結果:
           
          
          4、    編寫一個程序,程序里定義三個數,并輸出這三個數的最大數。
          源代碼://Demo44.java
          class Demo
          {
              public static void main(String args [])
              {
                  int num1 = Integer.parseInt(args[0]);
                  int num2 = Integer.parseInt(args[1]);
                  int num3 = Integer.parseInt(args[2]);
                  System.out.println("這三個數的最大值是:");
                  System.out.println(getMax(num1,num2,num3));
              }
              static int getMax(int num1,int num2,int num3)
              {      
                   
                  int max=num1>num2?num1:num2;
                      max=max>num3?max:num3;
                  return max ;
              }
          }
          
          運行結果:
           
          5、    編寫一個程序,這個程序把一個整數數組中的每個元素用逗號連接成一個字符串,例如,根據內容為[1][2][3]的數組形成內容為“1,2,3”的字符串。 
          源代碼://Demo45.java
            class arrDemo
          {
              public static void main(String args [] )
              {
                  int [] arr = {12,89,45,61,568,945,102,302,44,777,945,689};
                  System.out.println("依次輸出數組中的元素:");
                  arrList(arr);
              }
              static void arrList(int [] arr)
              {
                  StringBuffer sb = new StringBuffer();
                  for(int i=0; i<arr.length; i++)
                      sb.append(arr[i]+",");
                  sb.delete(sb.length()-1,sb.length());
                  System.out.println(sb);
              }
              
          }
          運行結果:
           
          6、    編寫一個程序,從鍵盤上接受用戶輸入的需要轉的數,得到的一定是字符串,將此字符串轉換成十進制整數,然后打印出這個十進制整數對應的二進制形式。
          源代碼://Demo46.java
          class appDemo
          {
              public static void main (String args [])
              {
                  int num = Integer.parseInt(args[0]);
                  System.out.println("輸入的整數為:"+num);
                  System.out.println("這個十進制的整數對應的二進制形式為:");
                  ten2Binary(num);
              }
              static void ten2Binary(int num)
              {
                  StringBuffer sb = new StringBuffer();
                  while(num>0)
                  {
                      int temp = num%2;
                      num=num/2;
                      sb.append(temp);            
                  }
                  sb.reverse();
                  System.out.println(sb);            
              }
          }
          運行結果:
           
          
          7、     請用移位的方式打印出一個十進制整數的十六進制形式。提示:按每4個二進制位對整數進行移位和去高位處理,得到的結果就是十六進制數的一位,然后按下面三種方式之一(作為作業,要求每種方式都用到)計算出一個十六進制數值對應的十六進制形式: 
          1)0-9之間的數值直接加上字符'0',9以上的數值減去10以后再加上字符'A' 
          2)定義一個數組,其中包含0-F這些字符,然后用要計算的數值作為數組的索引號,即可獲得其對應的十六進制數據。 
          3)Character.forDigit靜態方法可以將一個十六進制的數字轉變成其對應的字符表示形式,例如,根據數值15返回字符'F'。 
          源代碼://Demo47.java
          class hDemo
          {
              public static void main(String args[])
              {
                  int num = Integer.parseInt(args[0]);
                  System.out.println("輸入的整數為:"+num);
                  System.out.println("這個十進制整數對應的十六進制形式是:");
                  ten2Hex(num);
              }
              static void ten2Hex(int num)
              {
                  StringBuffer sb = new StringBuffer();
                  char[] buf = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
                  for(int i=0; i<8; i++)
                  {
                      int temp = num&0x000000000f;
                      sb.append(buf[temp]);
                      num=num>>4;
                  }
                  sb.reverse();
                  System.out.println(sb);        
                  
              }
          }
          運行結果:
           
          posted on 2012-08-07 00:50 、小細 閱讀(92) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 乌拉特前旗| 台中市| 信宜市| 甘孜| 嘉鱼县| 建德市| 大冶市| 建平县| 靖远县| 元阳县| 晋中市| 长宁县| 葵青区| 潍坊市| 宜丰县| 济源市| 基隆市| 三江| 揭阳市| 海安县| 定陶县| 晋江市| 新余市| 玉环县| 余姚市| 和平区| 茌平县| 孝昌县| 都昌县| 乌拉特中旗| 喜德县| 通山县| 沛县| 太原市| 北宁市| 库尔勒市| 萝北县| 青田县| 彭山县| 青河县| 沿河|