選c;
第一個輸出的是(5, 3),應該沒有問題吧,
第二個輸出的是(3, 5) ,是witchCoords()函數里的內輸出語句容,在witchCoords()函數里的x和y實現了交換,所以是3和5;
第三個輸出的是(5, 3),因為傳遞給switchCoords()函數的值是數據值。switchCoords()里x和y的值改變不會影響實參!
也就是說,傳數據值形參的改變不會影響實參;而傳地址值形參的改變會影響實參。
如果傳遞的是數組,實參會隨著形參而改變。
B. java基礎試題
1C(Java是一種簡單的,面向對象的,分布式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優異、多線程的動態語言。
)
2D
3C
4C
5D
6C
7A
8AC
9B
C. JAVA語言程序設計兩道練習題。謝謝!
第一題有問題:1、創建Person介面(即「人」),它有setData()和getData()方法對「人」屬性name、sex和birthday賦值和獲得這些屬性組成的字元串信息。
問題是:你說要創建一個人(介面),然後裡面有方法對人的屬性進行賦值?這怎麼可能呢,介面是沒有成員變數(屬性)的,怎麼能賦值?介面里只能有常量。
第二題可以答一下:
package pillar;
public class Pillar { private Geometry buttom;
private double height;
public Pillar() {
// TODO Auto-generated constructor stub
}
public Pillar(Geometry button,double height){
this.buttom = button;
this.height = height;
}
public double getVolume(){
return this.buttom.getArea()*height;
}
public Geometry getButtom() {
return buttom;
}
public void setButtom(Geometry buttom) {
this.buttom = buttom;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public interface Geometry { double getArea();
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class Circle implements Geometry { private double r;
public Circle() {
// TODO Auto-generated constructor stub
}
public Circle(double r) {
this.r = r;
}
public double getArea() { return Math.PI*r*r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class Rectangle implements Geometry { private double width;
private double height;
public Rectangle() {
// TODO Auto-generated constructor stub
}
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() { return this.width*this.height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class TestPillar {
/** * @param args
*/
public static void main(String[] args) {
Circle c = new Circle(5);
Rectangle r = new Rectangle(3,4);
Pillar p1 = new Pillar(c,6);
Pillar p2 = new Pillar(r,6);
System.out.println("圓的體積:"+p1.getVolume()+"\t矩形的體積:"+p2.getVolume());
}
}
D. java面向對象程序設計練習題 求解答
Java面向對象程序設計復習題
一、選擇題
1、下列哪個是Java中的關鍵字( C )。
A、run B、Integer C、default D、implement 2、下面關於Java.applet.Applet和其祖先類的描述語句哪個不對( B )。 A、Applet是Container的一種 B、Applet是Window的一種 C、Applet是Component的一種 D、Applet是Panel的一種 3、下列類 DataOutputStream的構造方法正確的是( A )。
A、new dataOutputStream(new FileOutputStream(「out.txt」)); B、new dataOutputStream(「out.txt」);
C、new dataOutputStream(new writer(「out.txt」)); D、new dataOutputStream(new FileWriter(「out.txt」)); 4、在switch(表達式)語句中,表達式的類型不能為( C )。 A、byte B、char C、long D、int 5、在介面MouseMotionListener中方法正確的是( A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些異常類的層次關系 Java.lang.Exception
Java.lang.RuntimeException
Java.lang.IndexOutOfBoundsException
Java.lang. Java.lang.
假設有一個方法X,能夠拋出兩個異常,Array Index和String Index異常,假定方法X中沒有try-catch語句,下面哪個答案是正確的。( B )
A、方法X應該聲明拋棄和StringIndexOutOfBounds Exception。
B、如果調用X的方法捕獲IndexOutOfBoundsException,則ArrayIndexOutOfBounds Exception和都可以被捕獲。 C、如果方法X聲明拋棄IndexOutOfBoundsException,則調用X的方法必須用Try-catch語句
捕獲。
D、方法X不能聲明拋棄異常。
7、現有一變數聲明為boolean aa;下面賦值語句中正確的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false
8、某類Example的main()方法參數為args,當輸入數據Java Example cat時,args[0]的值為( A )。
A、cat B、Java C、example D、null
9、String s1=new String(「Java」);String s2=new String(s1)則下列哪個說法是正確的( C )。 A、表達式s1==s2為真
B、s1和s2是同一個對象
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
C、表達式s1.equals(s2)為真 D、以上均不對 10、類定義如下 class Foo{
public static void main(String args[]){ String s;
System.out.println("s="+s); } }
則下列結論正確的是( C )。
A、有輸出結果,且為空 B、沒有輸出結果
C、編譯錯誤 D、有輸出結果,且不為空
11、下列哪個不是Java的保留字( D )。
A、float B、class C、extends D、virtual 12、下列符號中不能作為Java標識符的是( D )。
A、abc B、$str1 C、_pore D、45six 13、方法methodA定義如下:
returnType methodA(byte x,double y){ return (short)x/y*2; }
則返回值returnType為( C )。
A、byte B、double C、short D、int 14、如果float f=4.2F;Float g=new Float(4.2F); Double d=new Double(4.2);則下列選項正確的是( B )。
A、f==g B、f==g.floatValue() C、d==f D、d.equals(f) 15、下列二維數組定義中錯誤的是( A )。 A、int a[][]=new int[][]; B、int []a[]=new int[10][10]; C、int a[][]=new int[10][10]; D、int [][]a=new int[10][10];
16、關於下列語句哪個答案是正確的( D )。 System.out.println(4|7);
A、4 B、5 C、6 D、7
17、下面哪一個AWT組件可以有菜單欄MenuBar( A )。 A、Java.awt.Frame B、Java.awt.Window C、Java.awt.Applet D、Java.awt.Panel
18、下列哪個方法用於創建並開始一個新的線程( B )。 A、run(); B、start();
C、execute(); D、run(Runnable r);
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
19、如果有Boolean a=new Boolean(「yes」),則a.booleanValue()值為( D )。 A、yes B、「yes」 C、true D、false 20、以下類 DataOutputStream的構造方法正確的是( C )。 A、new dataInputStream(「in.txt」);
B、new dataInputStream(new file(「in.txt」));
C、new dataInputStream(new FileInputStream(「in.txt」));
D、new dataInputStream(new FileWriter(「in.txt」));
21、編譯Java Application 源程序文件將產生相應的位元組碼文件,這些位元組碼文件的擴展名為( B )。
A、.Java B、.class C、.html D、.exe
22、設 x = 1 , y = 2 , z = 3,則表達式 y+=z--/++x 的值是( A )。 A、3 B、3.5 C、4 D、5
23、在Applet表面輸出文字時,可以選擇不同的顏色,但是忘記了設置顏色的方法,應該首先在哪個類裡面尋找( D )。 A、Java .awt.Applet B、Java.awt.Panel C、Java.applet.Applet D、Java.awt.Component 24、類Cycle的main()方法為:
public static void main(String args[]){ System.out.println(args[0]); }
則運行時如果命令行語句為Java Cycle one two three,則輸出結果為( B )。 A、Cycle B、one C、two D、three 25、下面哪一個是Thread類中的靜態方法( D )。
A、start() B、stop() C、run() D、sleep(long m) 26、關於下列語句哪個答案是正確的( A )。 if(5&7&&5|2)System.out.println(「true」);
A、不能編譯成功 B、可以編譯成功,輸出true C、可以編譯成功,但無輸出 D、以上均不對 27、聲明公用的abstract方法的正確格式是( C )。 A、public abstract void add() {} B、public abstract add();
C、public abstract void add(); D、public virtual add();
28、下列程序結果正確的是( B )。 public class Test {
public static void main (String args []) { Ad a1=new Ad();
System.out.println(a1.add(1)); Ad a2=new Ad();
System.out.println(a2.add(2)); } }
附上出處鏈接:http://wenku..com/link?url=m6mQf1x9q9-sjj17tqEy95VAcc48dBTwB_1I_
E. JAVA程序設計復習題目
4、AD錯誤原因:floatx;y;定義多個變數應該用,隔開,修改後:floatx,y;
charch1=』m』,ch2=』』;是轉義字元
5、A錯誤原因:B.1.5e-4F後邊的F表示是floatC.abcf字元串D.Float.MIN_VALUEfloat的最小值
6、D錯誤原因:A.inta=6;已經說了定義a為int類型,再定義就重復B.a==3;雙==表示比較C.a=3.2f;末尾的f表示float類型
7、C錯誤原因:C.『a』=8兩邊都是變數
8、B錯誤原因:A.類具有封裝性,所以類的數據是不能被訪問的數據可以被訪問
C.聲明一個類時,必須用public修飾符不是必需的
D.每個類中,必須有main方法,否則程序無法運行不是每個類都要有
9、A錯誤原因:
作用域當前類同包子孫類其他
public√√√√
protected√√√×
default√√××
private√×××
不寫時默認為default。
10、C
A.intfun(inta,floatb){}floatfun(inta,floatb){}方法重載跟返回值無關
B.intfun(inta,floatb){}floatfun(intx,floaty){}方法重載跟返回值無關,跟參數類型和參數個數有關
D.floatfun1(inta,floatb){}floatfun2(inta,floatb){}方法重載就是方法名相同
我說的也未必都對
F. JAVA程序設計題(很簡單的)
你的題有很多錯誤,我給你改了一下。
1.設變數i和j的定義如下,試分別計算下列表達式的值:
int i=1; double d=1.0;
1題 35/4 [8]
2題 46%9+4*4-2 [15]
3題 45+43%5*(23*3%2)[48]
4題 45+45*50%i-- [45]
5題 45+45*50%(i--) [45]
6題 1.5*3+(++d) [6.5]
7題 1.5*3+d++ [5.5]
8題 i+=3/i+3 [7]
程序閱讀題
1給定如下代碼,寫出程序運行結果
class Example{
public static void main(String arges[]){
int i=0;
do{
System.out.println("doing it for i is:"+i);
}while(--i>0);
System.out.println("finish");
}
}
結果如下:
doing it for i is:0
finish
2 閱讀程序段寫出執行結果
for(int k=1;k<=5;k++){
if(k>4)break;
System.out.println("k="+k);
}
結果:
k=1
k=2
k=3
k=4
3試寫出下列程序段循環的運行結果
int i=1;
while(i<10)
if(i++%2==0)
System.out.println(i);
結果:
3
5
7
9
操作題
求1!+2!+...+10!
public static void main(String arges[]){
long sum = 0;
for(int i = 1; i <= 10; i++) {
long s = 1;
for(int j = 1; j <= i; j++) {
s *= j;
}
sum += s;
}
System.out.println("sum = " + sum);
}
求100之內的所有「完數」。完數是指等於它的因子和的數。例如:6=1+2+3,6=1*2*3,則6是一個完數
public class wanshu{
public static void main(String[] args) {
for(int i = 1; i <= 100; i++) {
if(fun(i)) {
System.out.println(i);
}
}
}
public static boolean fun(int num) {
int sum = 0;
for(int i = 1; i < num; i++) {
if(num % i == 0) {
sum += i;
}
}
return num == sum;
}
}
G. java編程基礎練習題
答案是抄C
A: num1=new double[num2+1];等價為:num1=new double[6];所以num1指向一個有襲6個元素的double型數組
B num2是一個整數
C:num1[num2]=num3;等價為:num1[5]=2.0;因為數組標識從0開始,所以num1[5]是最後一個元素
D: num1數組的第三個元素沒有賦值,默認應該是0.0;