總結(jié)是寫給人看的,條理不清,人們就看不下去,即使看了也不知其所以然,這樣就達(dá)不到總結(jié)的目的。相信許多人會覺得總結(jié)很難寫?以下是小編為大家收集的總結(jié)范文,僅供參考,大家一起來看看吧。
java語言基礎(chǔ)知識總結(jié)篇一
java編程語言面試題
一、簡答題
1、簡述用java編程語言編寫、編譯、解釋和執(zhí)行過程。
2、簡述在java jdk中,程序的作用。
3、簡述java編程語言中的數(shù)組和c編程語言中定義數(shù)組有什么區(qū)別。
4、簡述類與對象的關(guān)系。對象的方法和類的方法是否為一回事?
5、jvm在解析代碼person p1=new person()和new person()時(shí)有什么區(qū)別?
6、簡述this關(guān)鍵字的四中用途。
7、簡述構(gòu)造函數(shù)的作用。
8、分別簡述static和final關(guān)鍵字的意義。
9、簡述抽象類和接口的區(qū)別,并闡明抽象類和接口的用途。
10、簡述多態(tài)的概念和意義。
11、簡述異常和錯(cuò)誤的區(qū)別。
12、簡述如何創(chuàng)建和啟動(dòng)一個(gè)線程的兩種方法
13、簡述棧內(nèi)存和堆內(nèi)存分別用來做什么。
14、簡述throw關(guān)鍵字在程序中拋出的是什么。
15、在一個(gè)類的public static void method()中,能夠直接使用該類什么類型的成員。
二、計(jì)算題
1、在類runner中定義一個(gè)方法move(),要求這個(gè)方法的參數(shù)是一個(gè)實(shí)現(xiàn)了接口runnable的匿名內(nèi)部類的對象,該接口中的方法中的內(nèi)容自己可以決定。
2、類outer中與方法屬性平行定義的內(nèi)部類為inner{ public void dostuff(){}},寫出在另一個(gè)類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、兩個(gè)頂級包test1和test2,,再用winrar打開時(shí),會在瀏覽器上看到下列層次;
◎meta-inf
◎test1
◎test2
注:◎?yàn)槲募A
請寫出操作過程,并寫出運(yùn)行的命令行程序(提示:用jar.......).5、同一個(gè)線程類threadtest中定義了:
public synchronized void sale(){...}
synchronized(str){...}
寫出能使這兩個(gè)類成員保持同步的改進(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();
=name;
}catch(interruptedexception e){}
try{
(10);
}catch(exception e){
n(sage());
}
=sex;
bfull=true;
notify();
}
public synchronized void get()
{
if(!bfull)
try{
wait();
}catch(interruptedexception e){}
n(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 = f(args[1]).intvalue();//第三種方法
for(int i=0;i
stringbuffer sb=new stringbuffer();
for(int j=0;j
('*');
}
n(ng());
}
}
}
中,args[0]的值為:“1234”,args[1]的值為:“5678”,請上面代碼塊中的……………處填寫代碼。
8、下面類
import .*;
public class testvector{
public static void main(string [] args){
int b=0;
vector v=new vector();n(“please enter number:”);
while(true){
try{
b= ();//……….} catch(exception e){
n(sage());
}
if(b=='r' || b== 'n')
break;
else{
int num=b-'0';
ment(new integer(num));//………..}
}
int sum=0;
enumeration e=ts();//…………………
while(eelements()){
integer intobj=(integer)ement();//………………..sum += ue();
}
n(sum);
}
}
中,請?jiān)谥T單行注釋//。。。。中解釋其左邊一行代碼的意義。
9、下面類
import .*;
public class datastreamtest{
public static void main(string[] args){
try{
fileoutputstream fos=new fileoutputstream(“c:”);//…….bufferedoutputstream bos= new bufferedoutputstream(fos);//……
dataoutputstream dos= new dataoutputstream(bos);//……..tf(“ab中國”);//………
ytes(“ab中國”);
hars(“ab中國”);
();//…………
fileinputstream fis=new fileinputstream(“”);//…….bufferedinputstream bis=new bufferedinputstream(fis);//…….datainputstream dis=new datainputstream(bis);//…….n(f());
();
}catch(exception e){
n(sage());
}
}
}
中,請?jiān)谥T單行注釋//。。。。中解釋其左邊一行代碼的意義。
10、已知接口:interface pci {
voidstart();
voidstop();
}
要求:寫兩個(gè)類:networkcard,soundcard分別實(shí)現(xiàn)上面接口的方法(內(nèi)容自編),并寫第三個(gè)類mainboard,該類中的方法install(pci p)應(yīng)用networkcard,soundcard兩個(gè)類對象的方法。根據(jù)上面的要求,填寫下面的代碼:
class assembler
{
public static void main(string []args)
{
//在下面寫代碼….}
}
class networkcard ….{
}
class soundcard…………{
}
class mainboard…………………………………..{
install(pci p){
}
}
java語言基礎(chǔ)知識總結(jié)篇二
第一章初識java 1.程序是為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問題而編寫的一系列有序指令的集合。
包括編程語言和相關(guān)的技術(shù)。
主要用于開發(fā),桌面應(yīng)用程序和internet應(yīng)用程序。4.開發(fā)一個(gè)java應(yīng)用程序的基本步驟:編寫源程序,編譯程序和運(yùn)行程序。為擴(kuò)展名,為擴(kuò)展名。文件,文件。
5.編寫java程序要符合java編碼規(guī)范,為程序編寫注釋可大大增加程序的閱讀性。
ise是一個(gè)功能強(qiáng)大的集成開發(fā)環(huán)境(ide)。它的各種窗口便于java程序的開發(fā),調(diào)試和管理。
第二章變量、數(shù)據(jù)類型和運(yùn)算符
1.變量是一個(gè)數(shù)據(jù)存儲空間的表示,它是存儲數(shù)據(jù)的基本單元。變量的命名規(guī)則:
(1)必須以字母,“_”,“$”開頭。(2)可以包括數(shù)字,但不能以數(shù)字開頭(3)不能包括除“_”,“$”以外的特殊符號(4)不能使用java語言關(guān)鍵字或者保留字(goto)
中數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,基本數(shù)據(jù)類型有整型(int),雙精度浮點(diǎn)型(double),字符型(char)和字符串(string)。3.變量要先聲明并賦值,才能使用。提供各種類型的運(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)行判斷時(shí),當(dāng)?shù)谝粋€(gè)條件為假,則不需要判斷第二個(gè)條件,結(jié)果為假。&進(jìn)行判斷時(shí),即使第一個(gè)條件為假時(shí),也需要判斷完第二個(gè)條件才能給出結(jié)果為假。||(短路或)與|的區(qū)別:與上同理(5)位運(yùn)算符(&, | , << , >> , >>>)5.數(shù)據(jù)類型轉(zhuǎn)換是為了方便不同類型的數(shù)據(jù)之間進(jìn)行運(yùn)算
6.數(shù)據(jù)類型轉(zhuǎn)換包括了自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,自動(dòng)類型轉(zhuǎn)換需要滿足類型兼容且目標(biāo)類型大于源類型的條件
中使用boolean類型表示真假,boolean類型的兩個(gè)值為true和false。
中的關(guān)系運(yùn)算符可以用于來比較大小,高低,多少等,比較厚的結(jié)果是boolean類型。
提供scanner類,可以實(shí)現(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)(二)選擇結(jié)構(gòu)適用于進(jìn)行等值判斷
關(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)能否退出
循環(huán)結(jié)構(gòu)是先判斷后執(zhí)行,do-while是先執(zhí)行,后判斷。do-while至少執(zhí)行一次。
調(diào)試:設(shè)置斷點(diǎn),單步運(yùn)行,觀察變量
第六章循環(huán)結(jié)構(gòu)(二)循環(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語句用于終止某個(gè)循環(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ù)存儲多個(gè)元素的結(jié)構(gòu),數(shù)組中的所有元素必須屬于相同的數(shù)據(jù)類型
2.數(shù)組中的元素通過數(shù)組的下標(biāo)進(jìn)行訪問,數(shù)組的下標(biāo)從0開始 3數(shù)組可用一個(gè)循環(huán)為元素賦值,或用一個(gè)循環(huán)輸出數(shù)組中的元素信息
可獲得數(shù)組長度
5.利用arrays.提供的sort()方法可以方便的對數(shù)組中的元素進(jìn)行排序 6.二維數(shù)組實(shí)際上就是一個(gè)一維數(shù)組,他的每個(gè)元素又是一個(gè)一維數(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語言基礎(chǔ)知識總結(jié)篇三
【程序1】
題目:古典問題:有一對兔子,從出生后第3個(gè)月起每個(gè)月都生一對兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?
1.程序分析: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....【程序2】
題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
1.程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
【程序3】
題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?53=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。
【程序4】
題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。
程序分析:對n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:
(1)如果這個(gè)質(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】
題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。
1.程序分析:利用輾除法。
【程序7】
題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。
1.程序分析:利用while語句,條件為輸入的字符不為'n'.【程序8】
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤控制。
1.程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。
【程序9】
題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6=1+2+3.編程 找出1000以內(nèi)的所有完數(shù)。
【程序10】
題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時(shí),共經(jīng)過多少米?第10次反彈多高?
【程序11】
題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?
1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。
【程序12】
題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。利潤(i)低于或等于10萬元時(shí),獎(jiǎng)金可提10%;利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%,高于100萬元時(shí),超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤i,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
1.程序分析:請利用數(shù)軸來分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長整型。
【程序13】
題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請問該數(shù)是多少?
1.程序分析:在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。請看具體分析:
【程序14】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。
【程序15】
題目:輸入三個(gè)整數(shù)x,y,z,請把這三個(gè)數(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】
題目:猴子吃桃問題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè) 第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下 的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思維的方法,從后往前推斷。
【程序18】
題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)為x,y,z三人。已抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊(duì)賽手的名單。
1.程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
【程序19】
題目:打印出如下圖案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把圖形分成兩部分來看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重 for循環(huán),第一層控制行,第二層控制列。
【程序20】
題目:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。
1.程序分析:請抓住分子與分母的變化規(guī)律。
【程序21】
題目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加變成了累乘。
【程序22】
題目:利用遞歸方法求5!。
1.程序分析:遞歸公式:fn=fn_1*4!
【程序23】
題目:有5個(gè)人坐在一起,問第五個(gè)人多少歲?他說比第4個(gè)人大2歲。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。問第三個(gè)人,又說比第2人大兩歲。問第2個(gè)人,說比第一個(gè)人大兩歲。最后問第一個(gè)人,他說是10歲。請問第五個(gè)人多大?
1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個(gè)階段。要想知道第五個(gè)人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。
【程序24】
題目:給一個(gè)不多于5位的正整數(shù),要求:
一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
【程序25】
題目:一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬位相同,十位與千位相同。
【程序26】
題目:請輸入星期幾的第一個(gè)字母來判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù) 判斷第二個(gè)字母。
1.程序分析:用情況語句比較好,如果第一個(gè)字母一樣,則判斷用情況語句或if語句判斷第二個(gè)字母。
【程序27】
題目:求100之內(nèi)的素?cái)?shù)
【程序28】
題目:對10個(gè)數(shù)進(jìn)行排序
1.程序分析:可以利用選擇法,即從后9個(gè)比較過程中,選擇一個(gè)最小的與第一個(gè)元素交換,下次類推,即用第二個(gè)元素與后8個(gè)進(jìn)行比較,并進(jìn)行交換。
【程序29】
題目:求一個(gè)3*3矩陣對角線元素之和
1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a[i][i]累加后輸出。
【程序30】
題目:有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
1.程序分析:首先判斷此數(shù)是否大于最后一個(gè)數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個(gè)位置。
【程序31】
題目:將一個(gè)數(shù)組逆序輸出。
1.程序分析:用第一個(gè)與最后一個(gè)交換。
【程序32】
題目:取一個(gè)整數(shù)a從右端開始的4~7位。
程序分析:可以這樣考慮:
(1)先使a右移4位。
(2)設(shè)置一個(gè)低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個(gè)數(shù)a,b,c,按大小順序輸出。
1.程序分析:利用指針方法。
【程序35】
題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。
【程序36】
題目:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù)
【程序37】
題目:有n個(gè)人圍成一圈,順序排號。從第一個(gè)人開始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問最后留下的是原來第幾號的那位。
【程序38】
題目:寫一個(gè)函數(shù),求一個(gè)字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。
【程序39】
題目:編寫一個(gè)函數(shù),輸入n為偶數(shù)時(shí),調(diào)用函數(shù)求1/2+1/4+...+1/n,當(dāng)輸入n為奇數(shù)時(shí),調(diào)用函數(shù)1/1+1/3+...+1/n(利用指針函數(shù))
【程序40】
題目:字符串排序。
【程序41】
題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個(gè)桃子?
【程序42】
題目:809*??=800*??+9*??+1 其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。
【程序43】
題目:求0—7所能組成的奇數(shù)個(gè)數(shù)。
【程序44】
題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。
【程序45】
題目:判斷一個(gè)素?cái)?shù)能被幾個(gè)9整除
【程序46】
題目:兩個(gè)字符串連接程序
【程序47】
題目:讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。
【程序48】
題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
【程序49】
題目:計(jì)算字符串中子串出現(xiàn)的次數(shù)
【程序50】
題目:有五個(gè)學(xué)生,每個(gè)學(xué)生有3門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號,姓名,三門課成績),計(jì)算出平均成績,況原有的數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤文件“stud”中。
java語言基礎(chǔ)知識總結(jié)篇四
in the following code, which is the earliest statement, where the object originally held in e, may be garbage collected:
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
in the following code, which is the earliest statement, where the object originally held in e, may be garbage collected:
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
10
11
7
8
2:exhibit :
class test(e static int j = 0;
e static boolean methodb(int k)(5.j += k;
true;
6.)
static void methoda(int i){
n b:
10.b = i < 10 | methodb(4);
11.b = i < 10 || methodb(8);
12.)
static void main(string args[] }(a(0);
n(j);
17.)
18.)
what is the result?
program prints “0”
program prints “4”
program prints “8”
program prints “12”
3:what is written to the standard output given the following statement:n(4|7);
select the right answer:
a.4
b.5
c.6
d.7
4:
select valid identifier of java:
select valid identifier of java:
a.%passwd
b.3d_game
c.$charge
5:設(shè)有變量說明語句int a=1,b=0;
則執(zhí)行以下程序段的輸出結(jié)果為()。
switch(a)
{
case 1:
switch(b)
{
case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
printf(“ ”);
a.**0**
b.**0****2**
c.**0****1****2**
d.有語法錯(cuò)誤
6:in the following pieces of code, which one will compile without any error?
buffer sb1 = “abcd”;
n b = new boolean(“abcd”);
c.c: byte b = 255;
fl = 1.2;
7:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
ation error
e error
e successfully, nothing is ed by caught:laccessexcption: demo
8:which of the following statements are not legal?
l = 4990;
i = 4l;
d = 34.4;
t = 0.9f.9:
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
compile, some error will run, some error will is is null.10:下面關(guān)于變量及其范圍的陳述哪些是錯(cuò)的。
a.實(shí)例變量是類的成員變量。
b.實(shí)例變量用關(guān)鍵字static聲明。
c.在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(chuàng)建
d.局部變量在使用前必須被初始化。
11:
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
after line after line 6
after line 7(that is,as the method returns)
in this method
12:
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
countrycode!= null;
countrycode!= null : “country code can not be null”;
cctld!= null : “no country code data is available”;
cctld : “no country code data is available”;
13:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
it for l is 3
it for l is 1
it for l is 2
it for l is 0
14:which statements about java code security are not true?
bytecode verifier loads all classes needed for the execution of a ing code is performed by the runtime runtime the bytecodes are loaded, checked and run in an interpreter. class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.15:a class design requires that a member variable should be accessible only by same package, which modifer word should be used?
ted
modifer
e
16:character流與byte流的區(qū)別是
a.每次讀入的字節(jié)數(shù)不同
b.前者帶有緩沖,后者沒有
c.前者是塊讀寫,后者是字節(jié)讀寫
d.二者沒有區(qū)別,可以互換使用
簡答題
17:找出兩個(gè)字符串中最大子字符串,如“abractyeyt”,“dgdsaeactyey”的最大子串為“actyet”
18:假設(shè)你有一個(gè)用1001個(gè)整數(shù)組成的數(shù)組,這些整數(shù)是任意排列的,但是你知道所有的整數(shù)都在1到1000(包括1000)之間。此外,除一個(gè)數(shù)字出現(xiàn)兩次外,其他所有數(shù)字只出現(xiàn)一次。假設(shè)你只能對這個(gè)數(shù)組做一次處理,用一種算法找出重復(fù)的那個(gè)數(shù)字。如果你在運(yùn)算中使用了輔助的存儲方式,那么你能找到不用這種方式的算法嗎?
19:到底在哪里使用cascade=“...”?
20:使用tomcat部署應(yīng)用程序 emoryerror 嗎?如何解決的。
21:請寫一個(gè)java程序?qū)崿F(xiàn)數(shù)據(jù)庫緩沖池的功能?
22:有200個(gè)正整數(shù),且每個(gè)數(shù)均在1000至9999之間。請編制函數(shù),其函數(shù)的功能是:要求按每個(gè)數(shù)的后三位的大小進(jìn)行升序排列,然后取出滿足此條件的前10個(gè)數(shù)依次存入數(shù)組bb中,如果后三位的數(shù)值相等,則按原先的數(shù)值進(jìn)行降序排列。
23:anonymous inner class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
24:找出字符串a(chǎn)中包含的字符可以進(jìn)行的所有不同組合。例如:abccd中,ab,ac,bc,cc,abd等都是可能的組合。
25:下面的代碼在絕大部分時(shí)間內(nèi)都運(yùn)行得很正常,請問在什么情況下會出現(xiàn)問題?問題的根源在哪里?
import .linkedlist;
public class stack {
linkedlist list = new linkedlist();
public synchronized void push(object x){
synchronized(list){
t(x);
notify();
}
}
public synchronized object pop()
throws exception {
synchronized(list){
if(()<= 0){
wait();
}
return last();
}
}
}
java語言基礎(chǔ)知識總結(jié)篇五
《java編程》
計(jì)算器
班級:****** 姓名:******
學(xué)號: ******* 指導(dǎo)老師:******
實(shí)驗(yàn)名稱:java計(jì)算器
1實(shí)驗(yàn)?zāi)康? java編程語言在編程方面的具體應(yīng)用,以及使用面向?qū)ο蠓椒?對小應(yīng)用程序進(jìn)行需求分
析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),最后使用java編程實(shí)現(xiàn)的全過程。
2實(shí)驗(yàn)意義:
在編程我們使用的java語言,是目前比較流行的編程語言。在當(dāng)今這個(gè)時(shí)代,java語言在編程方面的優(yōu)勢使得編程有了更好的選擇。java語言最大的特點(diǎn)是具有跨平臺性,使其不受平臺不同的影響,得到了廣泛的應(yīng)用。實(shí)訓(xùn)性質(zhì)
本課程是計(jì)算機(jī)信息管理專業(yè)的一門實(shí)踐性課程,是《java編程》課程的實(shí)踐性教學(xué)環(huán)節(jié)。實(shí)訓(xùn)目標(biāo)
⑴綜合應(yīng)用java程序設(shè)計(jì)的知識解決實(shí)際問題。
⑵學(xué)會在應(yīng)用程序的設(shè)計(jì)過程中,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。⑶學(xué)會應(yīng)用jdbc創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。
⑷學(xué)會開發(fā)基于swing的應(yīng)用程序及多文檔應(yīng)用程序的設(shè)計(jì)。實(shí)訓(xùn)任務(wù)
用java語言開發(fā)工具(例如jdk、jcreator、netbeans等)制作一個(gè)簡單的可運(yùn)行的完整的應(yīng)用程序或小型系統(tǒng),并編制出各階段必要的文檔。
將創(chuàng)建一個(gè)計(jì)算器,可以進(jìn)行常用的加減乘除算術(shù)運(yùn)算。本實(shí)例的知識點(diǎn)有:窗口布局器gridlayout的應(yīng)用,對按鈕消息的監(jiān)聽和響應(yīng)。
6實(shí)訓(xùn)條件
<軟件:>windows xp,netbeans ide 6.52 7開發(fā)背景: java是由sun microsystems公司于1995年5月推出的java程序設(shè)計(jì)語言(以下簡稱java語言)和java平臺的總稱。java語言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。java語言吸收了smalltalk語言和c++語言的優(yōu)點(diǎn),并增加了其它特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信、和多媒體數(shù)據(jù)控制等。
8系統(tǒng)部分分析:
1)java語言是簡單的。java語言的語法與c語言和c++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用java。另一方面,java丟棄了c++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。
2)java語言是一個(gè)面向?qū)ο蟮?。java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。java語言全面支持動(dòng)態(tài)綁定,而c++ 語言只對虛函數(shù)使用動(dòng)態(tài)綁定
3)java語言是分布式的。java語言支持internet應(yīng)用的開發(fā),在基本的java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括url、urlconnection、socket、serversocket等。java的rmi(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。
4)java語言是健壯的。java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是java程序健壯性的重要保證。對指針的丟棄是java的明智選擇。java的安全檢查機(jī)制使得java更具健壯性。
5)java語言是安全的。java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了java語言具有的許多安全特性以外,java對通過網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類classloader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制.6)java語言是體系結(jié)構(gòu)中立的。java程序(后綴為java的文件)在java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)java平臺的任何系統(tǒng)中運(yùn)行。
7)java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長度。java系統(tǒng)本身也具有很強(qiáng)的可移植性,java編譯器是用java實(shí)現(xiàn)的.8)java語言是解釋型的。如前所述,java程序在java平臺上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)java平臺的任何系統(tǒng)中運(yùn)行。
9)java是高性能的。與那些解釋型的高級腳本語言相比,java的確是高性能的。事實(shí)上,java的運(yùn)行速度隨著jit(just-in-time)編譯器技術(shù)的發(fā)展越來越接近于c++。
10)java語言是多線程的。在java語言中,線程是一種特殊的對象,它必須由thread類或其子(孫)類來創(chuàng)建。
11)java語言是動(dòng)態(tài)的。java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。
目錄
課程設(shè)計(jì)題目 ……………………………… p1
課程設(shè)計(jì)簡介 ……………………………… p2
課程設(shè)計(jì)源代碼…………………………… p5
課程設(shè)計(jì)運(yùn)行結(jié)果 ……………………… p15 課程設(shè)計(jì)心得體會 ………………………
p16
package computerpad;import .*;import .event.*;import .*;import .*;import list;import format;public class computerpad extends frame implements actionlistener {
numberbutton numberbutton[];
operationbutton oprationbutton[];
button 小數(shù)點(diǎn)按鈕,正負(fù)號按鈕,退格按鈕,求倒數(shù)按鈕,等號按鈕,清零按鈕;
panel panel;
jtextfield resultshow;
string 運(yùn)算符號[]={“+”,“-”,“*”,“/”};
linkedlist 鏈表;
boolean 是否按下等號=false;
public computerpad()
{
super(“計(jì)算器”);
鏈表=new linkedlist();
numberbutton=new numberbutton[10];
for(int i=0;i<=9;i++)
{
numberbutton[i]=new numberbutton(i);
numberbutton[i].addactionlistener(this);
}
oprationbutton=new operationbutton[4];
for(int i=0;i<4;i++)
{
oprationbutton[i]=new operationbutton(運(yùn)算符號[i]);
oprationbutton[i].addactionlistener(this);
}
小數(shù)點(diǎn)按鈕=new button(“.”);
正負(fù)號按鈕
=new button(“+/-”);
等號按鈕=new button(“=”);
求倒數(shù)按鈕=new button(“1/x”);
退格按鈕=new button(“退格”);
清零按鈕=new button(“c”);
eground();
eground();
eground();
eground();
eground();
eground();
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
resultshow=new jtextfield(10);
izontalalignment();
eground();
t(new font(“timesroman”,,14));
der(new softbevelborder(d));
kground();
table(false);
panel=new panel();
out(new gridlayout(4,5));
(numberbutton[1]);
(numberbutton[2]);
(numberbutton[3]);
(oprationbutton[0]);
(清零按鈕);
(numberbutton[4]);
(numberbutton[5]);
(numberbutton[6]);
(oprationbutton[1]);
(退格按鈕);
(numberbutton[7]);
(numberbutton[8]);
(numberbutton[9]);
(oprationbutton[2]);
(求倒數(shù)按鈕);
(numberbutton[0]);
(正負(fù)號按鈕);
(小數(shù)點(diǎn)按鈕);
(oprationbutton[3]);
(等號按鈕);
add(panel,);
add(resultshow,);
addwindowlistener(new windowadapter()
{ public void windowclosing(windowevent e)
{
(0);
}
});
setvisible(true);
setbounds(100,50,240,180);
setresizable(false);
validate();
} public void actionperformed(actionevent e)
{
if(rce()instanceof numberbutton)
{
numberbutton b=(numberbutton)rce();
if(()==0)
{
int number=ber();
(“"+number);
t(”“+number);
是否按下等號=false;
}
else if(()==1&&是否按下等號==false)
{
int number=ber();
string num=(string)first();
string s=(”“+number);
(0,s);
t(s);
}
else if(()==1&&是否按下等號==true)
{
int number=ber();
first();
(”“+number);
是否按下等號=false;
t(”“+number);
}
else if(()==2)
{
int number=ber();
(”“+number);
t(”“+number);
}
else if(()==3)
{
int number=ber();
string num=(string)t();
string s=(”“+number);
(2,s);
t(s);
}
}
else if(rce()instanceof operationbutton)
{
operationbutton b=(operationbutton)rce();
if(()==1)
{
string fuhao=運(yùn)算符號();
(fuhao);
}
else if(()==2)
{
string fuhao=運(yùn)算符號();
(1,fuhao);
}
else if(()==3)
{
string fuhao=運(yùn)算符號();
string number1=(string)first();
string number2=(string)t();
string 運(yùn)算符號=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
();
(”“+n);
(fuhao);
t(”“+n);
}
catch(exception ee)
{
}
}
}
else if(rce()==等號按鈕)
{
是否按下等號=true;
if(()==1||()==2)
{
string num=(string)first();
t(”“+num);
}
else if(()==3)
{
string number1=(string)first();
string number2=(string)t();
string 運(yùn)算符號=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
t(”“+n);
(0,”“+n);
last();
last();
}
catch(exception ee)
{
}
}
}
else if(rce()==小數(shù)點(diǎn)按鈕)
{
if(()==0)
{
是否按下等號=false;
}
else if(()==1)
{
string dot=el();
string num=(string)first();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(0,s);
}
else
{
s=num;
}
(0,s);
t(s);
}
else if(()==3)
{
string dot=el();
string num=(string)t();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(2,s);
}
else
{
s=num;
}
t(s);
}
}
else if(rce()==退格按鈕)
{
if(()==1)
{
string num=(string)first();
if(()>=1)
{
num=ing(0,()-1);
(0,num);
t(num);
}
else
{
last();
t(”0“);
}
}
else if(()==3)
{
string num=(string)t();
if(()>=1)
{ num=ing(0,()-1);
(2,num);
t(num);
}
else
{
last();
t(”0“);
}
}
}
else if(rce()==正負(fù)號按鈕)
{
if(()==1)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=-1*d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee)
{
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=-1*d;
string str=f(d);
(2,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==求倒數(shù)按鈕)
{
if(()==1||()==2)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==清零按鈕)
{
是否按下等號=false;
t(”0“);
();
}
} public static void main(string args[])
{
new computerpad();
}
}
package computerpad;import .*;import .event.*;import .*;public class numberbutton extends button {
int number;
public numberbutton(int number)
{
super(”"+number);
=number;
setforeground();
}
public int getnumber()
{
return number;
} }
import .*;import .event.*;import .*;public class operationbutton extends button {
string 運(yùn)算符號;
public operationbutton(string s)
{
super(s);
運(yùn)算符號=s;
setforeground();
}
public string get運(yùn)算符號()
{
return 運(yùn)算符號;
} } 14 java實(shí)訓(xùn)心得:
未接觸java之前,聽人說java這門語言如何的強(qiáng)大和難以入門,但學(xué)習(xí)之后,給我的感覺卻是語言沒有所謂的難于不難,關(guān)鍵是自己有沒有真正投入去學(xué),有沒有花時(shí)間去學(xué)。java是一門很好的語言,經(jīng)過周圍人對java的宣傳,我一開始不敢去學(xué)習(xí)這門語言,因?yàn)橐婚T高級語言總是讓人想到一開始的學(xué)習(xí)會很難,但是后來在自己的努力和老師同學(xué)的幫助下,我加入了java學(xué)習(xí)者的行列。
老師把我們帶進(jìn)了門,那么,以后漫長的深入學(xué)習(xí)還是要靠自己。經(jīng)常性的編寫一些程序,或則去看懂、研究透別人編寫的程序?qū)τ谖覀兇蚝没A(chǔ)是非常有利的。讓我們懷著對java的一腔熱情,用自己的刻苦努力去把java學(xué)好。將來,用自己的成績?nèi)セ貓?bào)有恩于我們的社會、家人和朋友。
【本文地址:http://m.aiweibaby.com/zuowen/2627510.html】