欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Java編程語言基礎(chǔ)總結(jié)

      時間:2019-05-15 14:07:21下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Java編程語言基礎(chǔ)總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Java編程語言基礎(chǔ)總結(jié)》。

      第一篇:Java編程語言基礎(chǔ)總結(jié)

      第一章初識Java 1.程序是為了讓計算機(jī)執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合。

      2.Java包括編程語言和相關(guān)的技術(shù)。

      3.Java主要用于開發(fā),桌面應(yīng)用程序和Internet應(yīng)用程序。4.開發(fā)一個Java應(yīng)用程序的基本步驟:編寫源程序,編譯程序和運(yùn)行程序。源程序以.java為擴(kuò)展名,編譯后生成的文件以.class為擴(kuò)展名。使用javac命令可以編譯.java文件,使用java命令可以運(yùn)行編譯后生成的.class文件。

      5.編寫Java程序要符合Java編碼規(guī)范,為程序編寫注釋可大大增加程序的閱讀性。

      6.MyEcplise是一個功能強(qiáng)大的集成開發(fā)環(huán)境(IDE)。它的各種窗口便于Java程序的開發(fā),調(diào)試和管理。

      第二章變量、數(shù)據(jù)類型和運(yùn)算符

      1.變量是一個數(shù)據(jù)存儲空間的表示,它是存儲數(shù)據(jù)的基本單元。變量的命名規(guī)則:

      (1)必須以字母,“_”,“$”開頭。(2)可以包括數(shù)字,但不能以數(shù)字開頭(3)不能包括除“_”,“$”以外的特殊符號(4)不能使用Java語言關(guān)鍵字或者保留字(goto)

      2.Java中數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,基本數(shù)據(jù)類型有整型(int),雙精度浮點(diǎn)型(double),字符型(char)和字符串(String)。3.變量要先聲明并賦值,才能使用。4.Java提供各種類型的運(yùn)算符,具體如下。

      (1)賦值運(yùn)算(=)(2)算術(shù)運(yùn)算符(+,-,*,/,%)(3)關(guān)系運(yùn)算符(>,>=,<,<=,==,!=)(4)條件運(yùn)算符(條件?表達(dá)式1:表達(dá)式2)(5)邏輯運(yùn)算符(&& , || ,!, & , |)&&(短路與)與&的區(qū)別:&&進(jìn)行判斷時,當(dāng)?shù)谝粋€條件為假,則不需要判斷第二個條件,結(jié)果為假。&進(jìn)行判斷時,即使第一個條件為假時,也需要判斷完第二個條件才能給出結(jié)果為假。||(短路或)與|的區(qū)別:與上同理(5)位運(yùn)算符(&, | , << , >> , >>>)5.數(shù)據(jù)類型轉(zhuǎn)換是為了方便不同類型的數(shù)據(jù)之間進(jìn)行運(yùn)算

      6.數(shù)據(jù)類型轉(zhuǎn)換包括了自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,自動類型轉(zhuǎn)換需要滿足類型兼容且目標(biāo)類型大于源類型的條件

      7.Java中使用boolean類型表示真假,boolean類型的兩個值為true和false。

      8.Java中的關(guān)系運(yùn)算符可以用于來比較大小,高低,多少等,比較厚的結(jié)果是boolean類型。

      9.Java提供Scanner類,可以實現(xiàn)從控制臺獲取鍵盤上輸入的信息

      第三章選擇結(jié)構(gòu)(一)Java中的if選擇結(jié)構(gòu),包括以下形式

      (1)基本的if選擇結(jié)構(gòu):可以處理單一或組合條件的情況(2)if-else選擇結(jié)構(gòu):可以處理簡單的條件分支情況(3)多重if選擇結(jié)構(gòu):可以處理連續(xù)區(qū)間的條件分支情況(4)嵌套if選擇結(jié)構(gòu):可以處理復(fù)雜的條件分支情況

      第四章選擇結(jié)構(gòu)(二)1.switch選擇結(jié)構(gòu)適用于進(jìn)行等值判斷

      2.switch關(guān)鍵字后面小括號里表達(dá)式的值可以是int , short , byte , char , 枚舉 , String(JDK1.7開始支持)

      第五章循環(huán)結(jié)構(gòu)(一)1.循環(huán)結(jié)構(gòu)由循環(huán)結(jié)構(gòu)和循環(huán)操作構(gòu)成,只要滿足循環(huán)條件,循環(huán)操作就會反復(fù)執(zhí)行

      2.使用循環(huán)結(jié)構(gòu)解決問題問題的步驟:分析循環(huán)條件和循環(huán)操作,套用循環(huán)結(jié)構(gòu)的語法寫出代碼,檢查循環(huán)能否退出

      3.while循環(huán)結(jié)構(gòu)是先判斷后執(zhí)行,do-while是先執(zhí)行,后判斷。Do-while至少執(zhí)行一次。

      4.debug調(diào)試:設(shè)置斷點(diǎn),單步運(yùn)行,觀察變量

      第六章循環(huán)結(jié)構(gòu)(二)1.for循環(huán)結(jié)構(gòu)的語法結(jié)構(gòu)如下

      for(表達(dá)式1:表達(dá)式2:表達(dá)式3){

      } //循環(huán)體

      表達(dá)式1:循環(huán)結(jié)構(gòu)的初始部分,為循環(huán)變量賦初值 表達(dá)式2:循環(huán)結(jié)構(gòu)的循環(huán)條件

      表達(dá)式3:循環(huán)條件的迭代部分,通常用來修改循環(huán)變量的值 2.用break和continue語句控制流程

      (1)break語句用于終止某個循環(huán),程序跳轉(zhuǎn)到循環(huán)體外的下一條語句。Break也可以在switch語句中使用

      (2)continue語句用于跳出本次循環(huán),進(jìn)入下一次循環(huán)

      (3)return可以結(jié)束當(dāng)前方法的執(zhí)行并退出,返回調(diào)用該方法的語句處

      第七章數(shù)組

      1.數(shù)組是可以在內(nèi)存中連續(xù)存儲多個元素的結(jié)構(gòu),數(shù)組中的所有元素必須屬于相同的數(shù)據(jù)類型

      2.數(shù)組中的元素通過數(shù)組的下標(biāo)進(jìn)行訪問,數(shù)組的下標(biāo)從0開始 3數(shù)組可用一個循環(huán)為元素賦值,或用一個循環(huán)輸出數(shù)組中的元素信息

      4.通過數(shù)組名.length可獲得數(shù)組長度

      5.利用Arrays.提供的sort()方法可以方便的對數(shù)組中的元素進(jìn)行排序 6.二維數(shù)組實際上就是一個一維數(shù)組,他的每個元素又是一個一維數(shù)組。

      第八章循環(huán)結(jié)構(gòu)進(jìn)階

      1.數(shù)組的輸入排序,選擇排序,冒泡排序

      2.在二重循環(huán)中可以使用break、continue語句控制程序的執(zhí)行 選擇排序:

      思路:每次循環(huán)得到最小值的下標(biāo),然后交換數(shù)據(jù)。如果交換的位置等于原來的位置,則不交換。插入排序:

      思路:將數(shù)據(jù)插入到已排序的數(shù)組中。

      第二篇:Java編程語言面試題

      西安英泰移動通信學(xué)院S2級Java編程語言測試題 1

      Java編程語言面試題

      一、簡答題

      1、簡述用Java編程語言編寫、編譯、解釋和執(zhí)行過程。

      2、簡述在Java JDK中,java.exe程序的作用。

      3、簡述Java編程語言中的數(shù)組和C編程語言中定義數(shù)組有什么區(qū)別。

      4、簡述類與對象的關(guān)系。對象的方法和類的方法是否為一回事?

      5、JVM在解析代碼Person p1=new Person()和new Person()時有什么區(qū)別?

      6、簡述this關(guān)鍵字的四中用途。

      7、簡述構(gòu)造函數(shù)的作用。

      8、分別簡述static和final關(guān)鍵字的意義。

      9、簡述抽象類和接口的區(qū)別,并闡明抽象類和接口的用途。

      10、簡述多態(tài)的概念和意義。

      11、簡述異常和錯誤的區(qū)別。

      12、簡述如何創(chuàng)建和啟動一個線程的兩種方法

      13、簡述棧內(nèi)存和堆內(nèi)存分別用來做什么。

      14、簡述throw關(guān)鍵字在程序中拋出的是什么。

      15、在一個類的public static void method()中,能夠直接使用該類什么類型的成員。

      二、計算題

      1、在類Runner中定義一個方法move(),要求這個方法的參數(shù)是一個實現(xiàn)了接口Runnable的匿名內(nèi)部類的對象,該接口中的方法中的內(nèi)容自己可以決定。

      2、類Outer中與方法屬性平行定義的內(nèi)部類為Inner{ public void doStuff(){}},寫出在另一個類TestInner的public static void main(String s)中調(diào)用方法doStuff()的代碼。

      3、類Book{ public void insert(String id)throws Exception{…}}中的方法被類TestBook中public void testInser()方法調(diào)用,寫出該方法中的主要代碼。

      4、兩個頂級包test1和test2,需要將它們壓縮成一個文件myjava.jar,再用WinRaR打開時,會在瀏覽器上看到下列層次;

      ◎META-INF

      ◎test1

      ◎test2

      注:◎為文件夾

      請寫出操作過程,并寫出運(yùn)行的命令行程序(提示:用jar.......).5、同一個線程類ThreadTest中定義了:

      public synchronized void sale(){...}

      synchronized(str){...}

      寫出能使這兩個類成員保持同步的改進(jìn)代碼。

      6、解釋類class Q{

      private String name=“李四”;

      private String sex=“女”;

      boolean bFull=false;

      public synchronized void put(String name,String sex){

      if(bFull)

      try{

      wait();

      this.name=name;

      }catch(InterruptedException e){}

      try{

      Thread.sleep(10);

      }catch(Exception e){

      System.out.println(e.getMessage());

      }

      this.sex=sex;

      bFull=true;

      notify();

      }

      public synchronized void get()

      {

      if(!bFull)

      try{

      wait();

      }catch(InterruptedException e){}

      System.out.println(name + “----” + sex);

      bFull=false;

      notify();

      }

      }

      中wait()、notify()、sleep()諸方法的作用。

      7、在類class TestInteger{

      public static void main(String[] args){

      int w =。。。。。。。。。。。。。。。。。。。。// 將args[0]轉(zhuǎn)換int型的方法

      int h =。。。。。。。。。。。。。。。。。。。。//將args[1]轉(zhuǎn)換int型的另一種方法//int h = Integer.valueOf(args[1]).intValue();//第三種方法

      for(int i=0;i

      StringBuffer sb=new StringBuffer();

      for(int j=0;j

      sb.append('*');

      }

      System.out.println(sb.toString());

      }

      }

      }

      中,args[0]的值為:“1234”,args[1]的值為:“5678”,請上面代碼塊中的……………處填寫代碼。

      8、下面類

      import java.util.*;

      public class TestVector{

      public static void main(String [] args){

      int b=0;

      Vector v=new Vector();System.out.println(“Please Enter Number:”);

      while(true){

      try{

      b= System.in.read();//……….} catch(Exception e){

      System.out.println(e.getMessage());

      }

      if(b=='r' || b== 'n')

      break;

      else{

      int num=b-'0';

      v.addElement(new Integer(num));//………..}

      }

      int sum=0;

      Enumeration e=v.elements();//…………………

      while(e.hasMoreElements()){

      Integer intObj=(Integer)e.nextElement();//………………..sum += intObj.intValue();

      }

      System.out.println(sum);

      }

      }

      中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。

      9、下面類

      import java.io.*;

      public class DataStreamTest{

      public static void main(String[] args){

      try{

      FileOutputStream fos=new FileOutputStream(“c:hello.txt”);//…….BufferedOutputStream bos= new BufferedOutputStream(fos);//……

      DataOutputStream dos= new DataOutputStream(bos);//……..dos.writeUTF(“ab中國”);//………

      dos.writeBytes(“ab中國”);

      dos.writeChars(“ab中國”);

      dos.close();//…………

      FileInputStream fis=new FileInputStream(“hello.txt”);//…….BufferedInputStream bis=new BufferedInputStream(fis);//…….DataInputStream dis=new DataInputStream(bis);//…….System.out.println(dis.readUTF());

      dis.close();

      }catch(Exception e){

      System.out.println(e.getMessage());

      }

      }

      }

      中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。

      10、已知接口:interface PCI {

      voidstart();

      voidstop();

      }

      要求:寫兩個類:NetWorkCard,SoundCard分別實現(xiàn)上面接口的方法(內(nèi)容自編),并寫第三個類MainBoard,該類中的方法install(PCI p)應(yīng)用NetWorkCard,SoundCard兩個類對象的方法。根據(jù)上面的要求,填寫下面的代碼:

      class Assembler

      {

      public static void main(String []args)

      {

      //在下面寫代碼….}

      }

      class NetWorkCard ….{

      }

      class SoundCard…………{

      }

      class MainBoard…………………………………..{

      install(PCI p){

      }

      }

      第三篇:Java基礎(chǔ)編程題

      【程序1】

      題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?

      1.程序分析: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....【程序2】

      題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。

      1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。

      【程序3】

      題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為153=1的三次方+5的三次方+3的三次方。

      1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。

      【程序4】

      題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。

      程序分析:對n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:

      (1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。

      (2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。

      (3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。

      【程序5】

      題目:利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。

      1.程序分析:(a>b)?a:b這是條件運(yùn)算符的基本例子。

      【程序6】

      題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

      1.程序分析:利用輾除法。

      【程序7】

      題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。

      1.程序分析:利用while語句,條件為輸入的字符不為'n'.【程序8】

      題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。

      1.程序分析:關(guān)鍵是計算出每一項的值。

      【程序9】

      題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=1+2+3.編程 找出1000以內(nèi)的所有完數(shù)。

      【程序10】

      題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時,共經(jīng)過多少米?第10次反彈多高?

      【程序11】

      題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?

      1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。

      【程序12】

      題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎金總數(shù)?

      1.程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。

      【程序13】

      題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?

      1.程序分析:在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。請看具體分析:

      【程序14】

      題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

      1.程序分析:以3月5日為例,應(yīng)該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。

      【程序15】

      題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。

      1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x>z則將x與z的值進(jìn)行交換,這樣能使x最小。

      【程序16】

      題目:輸出9*9口訣。

      1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

      【程序17】

      題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不癮,又多吃了一個 第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下 的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

      1.程序分析:采取逆向思維的方法,從后往前推斷。

      【程序18】

      題目:兩個乒乓球隊進(jìn)行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。

      1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。

      【程序19】

      題目:打印出如下圖案(菱形)

      *

      ***

      ******

      ********

      ******

      ***

      *

      1.程序分析:先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行一個規(guī)律,利用雙重 for循環(huán),第一層控制行,第二層控制列。

      【程序20】

      題目:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。

      1.程序分析:請抓住分子與分母的變化規(guī)律。

      【程序21】

      題目:求1+2!+3!+...+20!的和

      1.程序分析:此程序只是把累加變成了累乘。

      【程序22】

      題目:利用遞歸方法求5!。

      1.程序分析:遞歸公式:fn=fn_1*4!

      【程序23】

      題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?

      1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。

      【程序24】

      題目:給一個不多于5位的正整數(shù),要求:

      一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。

      【程序25】

      題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。

      【程序26】

      題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù) 判斷第二個字母。

      1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。

      【程序27】

      題目:求100之內(nèi)的素數(shù)

      【程序28】

      題目:對10個數(shù)進(jìn)行排序

      1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進(jìn)行比較,并進(jìn)行交換。

      【程序29】

      題目:求一個3*3矩陣對角線元素之和

      1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a[i][i]累加后輸出。

      【程序30】

      題目:有一個已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。

      1.程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個位置。

      【程序31】

      題目:將一個數(shù)組逆序輸出。

      1.程序分析:用第一個與最后一個交換。

      【程序32】

      題目:取一個整數(shù)a從右端開始的4~7位。

      程序分析:可以這樣考慮:

      (1)先使a右移4位。

      (2)設(shè)置一個低4位全為1,其余全為0的數(shù)??捎脋(~0<<4)

      (3)將上面二者進(jìn)行&運(yùn)算。

      【程序33】

      題目:打印出楊輝三角形(要求打印出10行如下圖)

      1.程序分析:2 13 3 14 6 4 15 10 10 5 1

      【程序34】

      題目:輸入3個數(shù)a,b,c,按大小順序輸出。

      1.程序分析:利用指針方法。

      【程序35】

      題目:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。

      【程序36】

      題目:有n個整數(shù),使其前面各數(shù)順序向后移m個位置,最后m個數(shù)變成最前面的m個數(shù)

      【程序37】

      題目:有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。

      【程序38】

      題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。

      【程序39】

      題目:編寫一個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求1/2+1/4+...+1/n,當(dāng)輸入n為奇數(shù)時,調(diào)用函數(shù)1/1+1/3+...+1/n(利用指針函數(shù))

      【程序40】

      題目:字符串排序。

      【程序41】

      題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

      【程序42】

      題目:809*??=800*??+9*??+1 其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。

      【程序43】

      題目:求0—7所能組成的奇數(shù)個數(shù)。

      【程序44】

      題目:一個偶數(shù)總能表示為兩個素數(shù)之和。

      【程序45】

      題目:判斷一個素數(shù)能被幾個9整除

      【程序46】

      題目:兩個字符串連接程序

      【程序47】

      題目:讀取7個數(shù)(1—50)的整數(shù)值,每讀取一個值,程序打印出該值個數(shù)的*。

      【程序48】

      題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。

      【程序49】

      題目:計算字符串中子串出現(xiàn)的次數(shù)

      【程序50】

      題目:有五個學(xué)生,每個學(xué)生有3門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號,姓名,三門課成績),計算出平均成績,況原有的數(shù)據(jù)和計算出的平均分?jǐn)?shù)存放在磁盤文件“stud”中。

      第四篇:Java AWT編程總結(jié)

      1.什么是GUI?

      a)GUI是Graphics User Interface的全稱,意思是圖形用戶界面.2.為什么需要GUI?

      a)圖形用戶界面能夠讓最終用戶通過鼠標(biāo)拖動、單擊等動作就可以操作整個應(yīng)用,從而提高應(yīng)用的用戶體驗效果,使程序受到用戶的歡迎.3.Java通過AWT和SWING來完成GUI圖形用戶界面編程.4.AWT

      a)AWT是SUN公司提供的一個基本的GUI類庫,被稱為抽象工具集(Abstract

      Window-Toolkit),它為Java應(yīng)用程序提供了基本的組件.b)AWT組件需要調(diào)用運(yùn)行平臺的圖形界面來創(chuàng)建和平臺一致的對等體,所以AWT只

      能使用所有平臺都支持的公共組件,因此AWT只能夠提供一些 常用的GUI組件.5.AWT的主要組成部分

      a)Component,代表一個具體圖形表示能力的對象,可以在屏幕上顯示,并與用戶交互.通常我們把它稱為”組件”.b)MenuComponent,代表圖形界面的菜單.i.MenuBar,代表菜單條.ii.Menu,代表一個菜單項的集合.iii.MenuItem,代表一個菜單項.c)Container,代表一個AWT組件容器,可以盛裝其他Commponent組件,它繼承自

      Component抽象類,本身也代表一個Component組件.i.Window,可獨(dú)立存在的頂級窗口.1.Frame,代表一個窗體.2.Dialog,代表一個對話框

      a)FileDialog代表一個文件對話框,用于打開或保存文件.Panel,可容納其他組件,但不能獨(dú)立存在,必須被添加到其他容器中.ii.iii.ScrollPane,帶滾動條的容器.d)LayoutManager,布局管理器,表示容器管理其他組件的方式.i.ii.iii.iv.v.vi.FlowLayout,流式布局,類似于Window平臺記事本的文本布局方式.BorderLayout,邊框布局,只能盛裝5個組件,這5個組件分別位于邊框布局容器的東西南北中五個方位.GridLayout,網(wǎng)格布局,將組件以網(wǎng)格形式顯示在容器中.GridBagLayout,網(wǎng)格包布局,一種較為復(fù)雜的布局管理器,依賴GridBagConstraints來約束組件.CardLayout,卡片布局,以時間來管理容器內(nèi)的組件,將組件看作是一張張卡片,每次顯示最外面一張卡片(組件).BoxLayou,箱式布局,通常與Box容器結(jié)合使用.6.AWT 的事件

      a)應(yīng)用程序響應(yīng)用戶的某個動作或請求,如用戶單擊了一下鼠標(biāo),用戶請求關(guān)閉應(yīng)用

      程序窗口等.b)AWT編程中,所有事件的處理都必須交給特定的對象來完成,我們將這個特定的對

      象稱為事件監(jiān)聽器.c)AWT的事件處理機(jī)制是一種委派式的事件處理方式,通過將某個事件監(jiān)聽器注冊

      到用戶指定的組件,當(dāng)用戶進(jìn)行某個操作并觸發(fā)指定事件時,應(yīng)用程序會自動產(chǎn)生一個事件(Event)對象并作為參數(shù)傳給事件監(jiān)聽器中的事件處理器,然后由事件監(jiān)

      聽器通知事件處理器來響應(yīng)用戶,完成用戶的請求.d)不同的事件需要不同的事件監(jiān)聽器,不同的監(jiān)聽器需要實現(xiàn)不同的監(jiān)聽器接口.e)事件監(jiān)聽器接口:為某個特定事件定義了響應(yīng)用戶請求的方法,當(dāng)用戶將某個事件

      監(jiān)聽器注冊到指定組件上以響應(yīng)特定的事件時,則該事件監(jiān)聽器必須實現(xiàn)對應(yīng)的事件監(jiān)聽器接口才能對用戶的請求進(jìn)行有效處理.例如,用戶點(diǎn)擊了鼠標(biāo)右鍵,希望打開某個應(yīng)用程序的右鍵菜單,則注冊到該應(yīng)用程序上的事件監(jiān)聽器必須實現(xiàn)鼠標(biāo)事件監(jiān)聽器接口,并實現(xiàn)該接口內(nèi)部某些方法來完成用戶的請求.f)事件適配器,很多時候,我們只需要實現(xiàn)某個事件監(jiān)聽器接口中個別方法就能完成應(yīng)用程序的實際需求,但實現(xiàn)該事件監(jiān)聽器接口的類必須實現(xiàn)該接口中所有的抽象方法,這會造成代碼的冗余.而事件適配器可以幫我們解決這個問題,事件適配器實現(xiàn)了所有的擁有多個抽象方法的事件監(jiān)聽器接口,并空實現(xiàn)了這些接口中所有的抽象方法,所謂空實現(xiàn),就是方法中沒有任何實現(xiàn)代碼,因此,我們可以通過繼承對應(yīng)事件監(jiān)聽器接口的事件適配器抽象類,并實現(xiàn)我們感興趣的方法來完成應(yīng)用需求即可.g)Java事件處理過程中主要涉及的三類對象

      i.事件源,通常為普通組件.ii.事件,通常指用戶的某個操作,如單擊了一下鼠標(biāo),按了一下回車鍵.iii.事件監(jiān)聽器,負(fù)責(zé)監(jiān)聽事件源上所發(fā)生的事件,并作出響應(yīng).h)AWT事件監(jiān)聽器的實現(xiàn)形式

      i.ii.內(nèi)部類形式 頂級類形式

      iii.類本身作為事件監(jiān)聽器

      iv.匿名內(nèi)部類形式

      v.注:目前最為流行的事件監(jiān)聽器的實現(xiàn)形式是內(nèi)部類形式和匿名內(nèi)部類形式.7.AWT繪圖

      a)AWT繪圖的實現(xiàn)過程.i.重寫畫布類的paint方法,繪圖圖形.ii.注冊事件監(jiān)聽器到指定的組件.iii.調(diào)用Component類的repaint方法繪制圖形.b)AWT實現(xiàn)繪圖主要涉及的對象

      i.ii.c)Component類的子類Canvas類,它代表一個畫布.Graphics,代表一個畫筆,可以在Canvas的子類中繪制用戶自訂的圖形.Image類代表了位圖,它的一個主要的實現(xiàn)類BufferedImage是可以訪問圖形數(shù)據(jù)

      緩沖區(qū),并可以返回一個Graphics對象來繪制該BuuferedImage.d)可以使用ImageIO工具類的ImageReader和ImageWriter讀寫磁盤上的位圖文件.8.AWT的優(yōu)缺點(diǎn)

      a)AWT在許多非桌面環(huán)境,如嵌入式設(shè)備中有著自己的優(yōu)勢,它的主要優(yōu)點(diǎn)如下:i.ii.iii.iv.更少的內(nèi)存:對運(yùn)行在有限環(huán)境中的GUI程序的開發(fā),是合適的。2.更少的啟動事件:由于AWT組件是本地由操作系統(tǒng)實現(xiàn)的。絕大多數(shù)的二進(jìn)制代碼已經(jīng)在如系統(tǒng)啟動的時候被預(yù)裝載了,這降低了它的啟動事件。3.更好的響應(yīng):由于本地組件由操作系統(tǒng)渲染。4.成熟穩(wěn)定的:能夠正常工作并很少使你的程序崩潰。

      b)同樣它也有不少的缺點(diǎn)

      i.ii.iii.更少組件類型:表和樹這些重要的組件缺失了。它們是桌面應(yīng)用程序中普遍使用的。2.缺乏豐富的組件特征:按鈕不支持圖片。3.無擴(kuò)展性:AWT的組件是本地組件。JVM中的AWT類實例實際只是包含本地

      組件的引用。唯一的擴(kuò)展點(diǎn)是AWT的Canvas組件,可以從零開始創(chuàng)建自定義組

      件。然而無法繼承和重用一個已有的AWT組件

      9.AWT總結(jié):AWT是SUN不推薦使用的工具集,實際開發(fā)中很少使用AWT而是使用SUN公司

      和Netscape公司共同開發(fā)的一個新的用戶界面庫-Swing來開發(fā)GUI應(yīng)用程序,AWT是圖形用戶界面編程的基礎(chǔ),它的布局管理、事件機(jī)制、剪貼板操作等內(nèi)容仍然適用于Swing GUI編程.

      第五篇:Java線程編程總結(jié)

      線程編程方面

      60、java中有幾種方法可以實現(xiàn)一個線程?用什么關(guān)鍵字修飾同步方法? stop()和suspend()方法為何不推薦使用?

      答:有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口 用synchronized關(guān)鍵字修飾同步方法

      反對使用stop(),是因為它不安全。它會解除由線程獲取的所有鎖定,而且如果對象處于一種不連貫狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果很難檢查出真正的問題所在。suspend()方法容易發(fā)生死鎖。調(diào)用suspend()的時候,目標(biāo)線程會停下來,但卻仍然持有在這之前獲得的鎖定。此時,其他任何線程都不能訪問鎖定的資源,除非被“掛起”的線程恢復(fù)運(yùn)行。對任何線程來說,如果它們想恢復(fù)目標(biāo)線程,同時又試圖使用任何一個鎖定的資源,就會造成死鎖。所以不應(yīng)該使用suspend(),而應(yīng)在自己的Thread類中置入一個標(biāo)志,指出線程應(yīng)該活動還是掛起。若標(biāo)志指出線程應(yīng)該掛起,便用wait()命其進(jìn)入等待狀態(tài)。若標(biāo)志指出線程應(yīng)當(dāng)恢復(fù),則用一個notify()重新啟動線程。61、sleep()和 wait()有什么區(qū)別? 答:sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時間,給執(zhí)行機(jī)會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復(fù)。調(diào)用sleep不會釋放對象鎖。

      wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)行狀態(tài)。

      62、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。

      答:如果數(shù)據(jù)將在線程間共享。例如正在寫的數(shù)據(jù)以后可能被另一個線程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個線程寫過了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進(jìn)行同步存取。

      當(dāng)應(yīng)用程序在對象上調(diào)用了一個需要花費(fèi)很長時間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時,就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。63、啟動一個線程是用run()還是start()? 答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。

      64、當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法? 答:不能,一個對象的一個synchronized方法只能由一個線程訪問。

      我認(rèn)為:其他線程可以進(jìn)入非synchronized方法,但不能進(jìn)入這個對象的synchronized方法。65、請說出你所知道的線程同步的方法。

      答:wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock。

      sleep():使一個正在運(yùn)行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException異常。

      notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。

      Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

      66、多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么? 答:多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口 同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify 67、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系

      答:線程指在程序執(zhí)行過程中,能夠執(zhí)行程序代碼的一個執(zhí)行單位,每個程序至少都有一個線程,也就是程序本身。

      Java中的線程有四種狀態(tài)分別是:運(yùn)行、就緒、掛起、結(jié)束

      68、簡述synchronized和java.util.concurrent.locks.Lock的異同 ? 答:主要相同點(diǎn):Lock能完成synchronized所實現(xiàn)的所有功能

      主要不同點(diǎn):Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。

      Jsp方面

      69、forward 和redirect的區(qū)別

      答:forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。

      redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新請求,所以session,request參數(shù)都可以獲取。70、jsp有哪些內(nèi)置對象?作用分別是什么?

      答:JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):

      request 用戶端請求,此請求會包含來自GET/POST請求的參數(shù)

      response 網(wǎng)頁傳回用戶端的回應(yīng)

      pageContext 網(wǎng)頁的屬性是在這里管理

      session 與請求有關(guān)的會話期

      application servlet 正在執(zhí)行的內(nèi)容

      out 用來傳送回應(yīng)的輸出 config servlet的構(gòu)架部件

      page JSP網(wǎng)頁本身

      exception 針對錯誤網(wǎng)頁,未捕捉的例外

      71、jsp有哪些動作?作用分別是什么? 答:JSP共有以下6種基本動作

      jsp:include:在頁面被請求的時候引入一個文件。

      jsp:useBean:尋找或者實例化一個JavaBean。

      jsp:setProperty:設(shè)置JavaBean的屬性。

      jsp:getProperty:輸出某個JavaBean的屬性。

      jsp:forward:把請求轉(zhuǎn)到一個新的頁面。

      jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記 72、JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?

      答:動態(tài)INCLUDE用jsp:include動作實現(xiàn)

      它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)

      靜態(tài)INCLUDE用include偽碼實現(xiàn),定不會檢查所含文件的變化,適用于包含靜態(tài)頁面

      <%@ include file=“included.htm” %> 73、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別? 答:有兩種,分別為:

      前者頁面不會轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面還是原來的頁面。執(zhí)行完后還會回來,相當(dāng)于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉(zhuǎn)向新頁面,不會再回來。相當(dāng)于go to 語句。

      74、JSP的內(nèi)置對象及方法。

      答:request表示HttpServletRequest對象。它包含了有關(guān)瀏覽器請求的信息,并且提供了幾個用于獲取cookie, header, 和session數(shù)據(jù)的有用的方法。

      response表示HttpServletResponse對象,并提供了幾個用于設(shè)置送回 瀏覽器的響應(yīng)的方法(如cookies,頭信息等)

      out對象是javax.jsp.JspWriter的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結(jié)果。

      pageContext表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對象的API,并且包裝了通用的servlet相關(guān)功能的方法。

      session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態(tài)信息

      applicaton 表示一個javax.servle.ServletContext對象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息

      config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數(shù)。page表示從該頁面產(chǎn)生的一個servlet實例

      Servlet方面

      75、說一說Servlet的生命周期?

      答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。Servlet被服務(wù)器實例化后,容器運(yùn)行其init方法,請求到達(dá)時運(yùn)行其service方法,service方法自動派遣運(yùn)行與請求對應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法。

      與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過多線程方式運(yùn)行其service方法,一個實例可以服務(wù)于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷毀,所以效率上低于servlet。

      76、JAVA SERVLET API中forward()與redirect()的區(qū)別?

      答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。77、Servlet的基本架構(gòu) 答:

      public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { } public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { } }

      78、什么情況下調(diào)用doGet()和doPost()?

      答:Jsp頁面中的form標(biāo)簽里的method屬性為get時調(diào)用doGet(),為post時調(diào)用doPost()。79、servlet的生命周期

      答:web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進(jìn)行servlet的初始化。通過調(diào)用service()方法實現(xiàn),根據(jù)請求的不同調(diào)用不同的do***()方法。結(jié)束服務(wù),web容器調(diào)用servlet的destroy()方法。

      80、如何現(xiàn)實servlet的單線程模式 答:<%@ page isThreadSafe=“false”%> 81、頁面間對象傳遞的方法

      答:request,session,application,cookie等

      82、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?

      答:JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是“類servlet”。Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。83、四種會話跟蹤技術(shù)

      答:會話作用域ServletsJSP 頁面描述

      page否是代表與一個頁面相關(guān)的對象和屬性。一個頁面由一個編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面

      request是是代表與 Web 客戶機(jī)發(fā)出的一個請求相關(guān)的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件(由于 forward 指令和 include 動作的關(guān)系)

      session是是代表與用于某個 Web 客戶機(jī)的一個用戶體驗相關(guān)的對象和屬性。一個 Web 會話可以也經(jīng)常會跨越多個客戶機(jī)請求

      application是是代表與整個 Web 應(yīng)用程序相關(guān)的對象和屬性。這實質(zhì)上是跨越整個 Web 應(yīng)用程序,包括多個頁面、請求和會話的一個全局作用域 84、Request對象的主要方法 答:

      setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值 getAttribute(String name):返回由name指定的屬性值

      getAttributeNames():返回request對象所有屬性的名字集合,結(jié)果是一個枚舉的實例 getCookies():返回客戶端的所有Cookie對象,結(jié)果是一個Cookie數(shù)組 getCharacterEncoding():返回請求中的字符編碼方式 getContentLength():返回請求的Body的長度

      getHeader(String name):獲得HTTP協(xié)議定義的文件頭信息 getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個枚舉的實例 getHeaderNames():返回所以request Header的名字,結(jié)果是一個枚舉的實例 getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù) getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法

      getParameter(String name):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值

      getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個枚舉的實例 getParameterValues(String name):獲得有name指定的參數(shù)的所有值 getProtocol():獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱 getQueryString():獲得查詢字符串

      getRequestURI():獲取發(fā)出請求字符串的客戶端地址 getRemoteAddr():獲取客戶端的IP地址 getRemoteHost():獲取客戶端的名字

      getSession([Boolean create]):返回和請求相關(guān)Session getServerName():獲取服務(wù)器的名字

      getServletPath():獲取客戶端所請求的腳本文件的路徑 getServerPort():獲取服務(wù)器的端口號

      removeAttribute(String name):刪除請求中的一個屬性

      85、我們在web應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串? 答:

      Public String translate(String str){ String tempStr = “";try { tempStr = new String(str.getBytes(”ISO-8859-1“), ”GBK");tempStr = tempStr.trim();} catch(Exception e){ System.err.println(e.getMessage());} return tempStr;} 86、Servlet執(zhí)行時一般實現(xiàn)哪幾個方法? 答:

      public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response)public void destroy()

      Jdbc、Jdo方面88、Jdo是什么?

      87、Class.forName的作用?為什么要用?

      答:調(diào)用該訪問返回一個以字符串指定類名的類的對象。答:JDO是Java對象持久化的新的規(guī)范,為java data object的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)據(jù)對象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務(wù)邏輯上。另外,JDO很靈活,因為它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。89、說出數(shù)據(jù)連接池的工作機(jī)制是什么? 答:J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時,池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。如果當(dāng)前沒有空閑連接,池驅(qū)動程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。90、Jdo是什么? 答:JDO是Java對象持久化的新的規(guī)范,為java data object的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)據(jù)對象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務(wù)邏輯上。另外,JDO很靈活,因為它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。

      Xml方面

      91、xml有哪些解析技術(shù)?區(qū)別是什么? 答:有DOM,SAX,STAX等

      DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個文檔裝入內(nèi)存,適合對XML的隨機(jī)訪問。

      SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問 STAX:Streaming API for XML(StAX)92、你在項目中用到了xml技術(shù)的哪些方面?如何實現(xiàn)的?

      答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺時,將不能數(shù)據(jù)源的數(shù)據(jù)組裝成XML文件,然后將XML文件壓縮打包加密后通過網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再同XML文件中還原相關(guān)信息進(jìn)行處理。在做軟件配置時,利用XML可以很方便的進(jìn)行,軟件的各種配置參數(shù)都存貯在XML文件中。

      93、XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式? 答:a: 兩種形式 dtd schema,b: 本質(zhì)區(qū)別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發(fā)展schema的根本目的),c:有DOM,SAX,STAX等

      DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個文檔裝入內(nèi)存,適合對XML的隨機(jī)訪問

      SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問 STAX:Streaming API for XML(StAX)

      下載Java編程語言基礎(chǔ)總結(jié)word格式文檔
      下載Java編程語言基礎(chǔ)總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Java多線程編程總結(jié)(★)

        Java多線程編程總結(jié) 2007-05-17 11:21:59 標(biāo)簽:java 多線程 原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http:/......

        Java AWT編程總結(jié)

        1. 什么是GUI? a) GUI是Graphics User Interface的全稱,意思是圖形用戶界面. 2. 為什么需要GUI? a) 圖形用戶界面能夠讓最終用戶通過鼠標(biāo)拖動、單擊等動作就可以操作整個應(yīng)......

        Java JDBC編程總結(jié)

        Java JDBC編程總結(jié) Hibernate、TopLink等OR Mapping操作數(shù)據(jù)庫的技術(shù)都是建立JDBC技術(shù)之上的,實際來說,他們的性能和JDBC是有很大差距的,但反過來說,如果JDBC用不好,還不如hibern......

        編程語言Android java CC++的對比

        編程語言Android java C/C++的對比 如果你想成為一名前景光明的程序員,則需選擇一個適合自己同時熱門的編程技術(shù),現(xiàn)在最火的編程技術(shù)無非就是java、ios、android、c++了,那么,我......

        JAVA基礎(chǔ)總結(jié)

        JAVA基礎(chǔ)總結(jié) 轉(zhuǎn)眼間,已經(jīng)來到這里學(xué)習(xí)半年了,而現(xiàn)在我們對于JAVA學(xué)習(xí)才算是真正的開始。一開始接觸的時候我發(fā)現(xiàn)這個和C語言的基本語法幾乎一模一樣的,老師說:JAVA語言本來就是......

        Java基礎(chǔ)總結(jié)

        ? 基本數(shù)據(jù)類型 ? 變量單元直接存放數(shù)據(jù) ? 賦值和傳參的方式:傳值,即傳遞副本 ? 比較相等使用關(guān)系運(yùn)算符“==”? 引用數(shù)據(jù)類型 ? 變量單元存放引用即對象地址,而數(shù)據(jù)(對象)在另一內(nèi)存區(qū)......

        JAVA編程心得體會

        JAVA編程心得計算機(jī)3班 竇金霞 20104773 最近幾周一直在弄程序,說實話真的很累,但累中也有成功的快樂。我覺得學(xué)到了很多東西,這是只看課本知識所不能學(xué)到的。說實話,以前我一直......

        關(guān)于Java不適做主要編程教學(xué)語言

        關(guān)于Java不適做主要編程教學(xué)語言.txt38當(dāng)烏云布滿天空時,悲觀的人看到的是“黑云壓城城欲摧”,樂觀的人看到的是“甲光向日金鱗開”。無論處在什么厄運(yùn)中,只要保持樂觀的心態(tài),總......