2016java基礎(chǔ)知識(shí)習(xí)題
勤能補(bǔ)拙是良訓(xùn),一分辛勞一分才。以下是百分網(wǎng)小編整理的2016java基礎(chǔ)知識(shí)習(xí)題,歡迎學(xué)習(xí)!
一、選擇題(每題1分,共30分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)的標(biāo)記寫在題干后的括號(hào)內(nèi)。
1.下列語(yǔ)句序列執(zhí)行后,k 的值是( )。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
2.設(shè) i、j 為int型變量名,a 為int型數(shù)組名,以下選項(xiàng)中,正確的賦值語(yǔ)句是( )。
A) i = i + 2 B) a[0] = 7;
C) i++ - --j; D) a(0) = 66;
3.Java語(yǔ)言的類間的繼承關(guān)系是( )。
A) 多重的 B) 單重的 C) 線程的 D) 不能繼承
4.設(shè)有定義 int i = 6 ;,則執(zhí)行以下語(yǔ)句后,i 的值為( )。
i += i - 1;
A) 10 B) 121 C) 11 D) 100
5.下列選項(xiàng)中,用于在定義子類時(shí)聲明父類名的關(guān)鍵字是( )。
A)interface B) package C) extends D) class
6.若已定義 byte[ ] x= {11,22,33,-66} ;
其中0≤k≤3,則對(duì)x數(shù)組元素錯(cuò)誤的引用是( )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
7.下列語(yǔ)句序列執(zhí)行后,ch1 的值是( )。
char ch1='A',ch2='W';
if(ch1 + 2 < ch2 ) ++ch1;
A) ‘A' B) ‘B' C) ‘C' D) B
8.下列語(yǔ)句序列執(zhí)行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A) 15 B) 16 C) 7 D) 8
9.下列語(yǔ)句序列執(zhí)行后,k 的值是( )。
int i=10, j=18, k=30;
switch( j - i )
{ case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A) 31 B) 32 C) 2 D) 33
10.下面語(yǔ)句執(zhí)行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A) 4 B) 5 C) 6 D) 7
11.設(shè)有定義 float x=3.5f, y=4.6f, z=5.7f;則以下的表達(dá)式中,值為true的是( )。
A) x > y || x > z B) x != y
C) z > ( y + x ) D) x < y & ! ( x < z )
12.下列語(yǔ)句序列執(zhí)行后,i的值是( )。
int i=16;
do { i/=2; } while( i > 3 );
A) 16 B) 8 C) 4 D) 2
13.以下由 for 語(yǔ)句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是( )。
for ( int i = 0; true ; i++) ;
A) 有語(yǔ)法錯(cuò),不能執(zhí)行 B) 無(wú)限次
C) 執(zhí)行1次 D) 一次也不執(zhí)行
14.定義類頭時(shí)能使用的修飾符是( )。
A) private B) static C) abstract D) protected
15.設(shè)int 型變量 a、b,float 型變量 x、y,char 型變量 ch 均已正確定義并賦值,
正確的switch語(yǔ)句是( )。
A) switch (x + y) B) switch ( ch + 1 )
{ ...... } { ...... }
C) switch ch D) switch ( a + b );
{ ...... } { ...... }
16. 下列最終屬性 i 的定義中,正確的是( )。
A) static final int i=100; B) final int i=1.2;
C) final i='w'; D) final char i;
17. 下列類定義中,不正確的是( )。
A) class x { .... }
B) class x extends y { .... }
C) static class x implements y1,y2 { .... }
D) public class x extends Applet { .... }
18. 設(shè) x、 y為已定義的類名,下列聲明x類的對(duì)象x1的語(yǔ)句中正確的是( )。
A) static x x1; B) public x x1=new x(int 123);
C) y x1; D) x x1=x( );
19. 設(shè) i、j、k 為類 x 中定義的 int 型變量名,下列類 x 的構(gòu)造函數(shù)中不正確的是( )。
A) x( int m){ ... } B) void x( int m){ ... }
C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }
20. 下列方法定義中,正確的是( )。
A) int x( ){ char ch='a'; return (int)ch; }
B) void x( ){ ...return true; }
C) int x( ){ ...return true; }
D) int x( int a, b){ return a+b; }
21. 用于定義類成員的訪問(wèn)控制權(quán)的一組關(guān)鍵字是( )。
A) class, float, double, public
B) float, boolean, int, long
C) char, extends, float, double
D) public, private, protected
22. 不能構(gòu)成循環(huán)的語(yǔ)句是( )。
A) for 語(yǔ)句 B) while 語(yǔ)句 C) switch 語(yǔ)句 D) do__while 語(yǔ)句
23. 下列程序段執(zhí)行后 b3 的結(jié)果是( )。
boolean b1=true, b2, b3;
b3= b1 ? b1 : b2;
A) 0 B) 1 C) true D) false
24. 下面數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是( )。
A) 線性表 B) 樹(shù) C) 隊(duì)列 D) 堆棧
25. 設(shè)有定義 int i=123; long j=456; 下面賦值不正確的語(yǔ)句是( )。
A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;
26. 現(xiàn)有一整型數(shù)組a[4],它的所有數(shù)組元素是( )。
A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3]
C) a[1], a[2], a[2], a[4] D) a[0], a[1], a[2], a[3], a[4]
27. 定義 Java Applet程序時(shí),必須有的 import語(yǔ)句是( )。
A) import java.applet.Applet; B) import java.io.*;
C) import java.awt.event; D) import java.lang.*;
28.現(xiàn)有兩個(gè)類A、B,以下描述中表示B繼承自A的是( )。
A) class A extends B B) class B implements A
C) class A implements B D) class B extends A
29. 下列算法中,不能用來(lái)排序的算法是( )。
A) 冒泡法 B) 插入排序 C) 選擇排序 D) 對(duì)分法
30. 堆棧操作的原則是( )。
A) 先進(jìn)先出 B) 后進(jìn)先出 C) 只能進(jìn) D) 只能出
二、填空題(每空1分,共15分)
請(qǐng)將正確答案填寫在答題紙相應(yīng)位置上,答在試卷上不得分。
1. 構(gòu)造函數(shù)______有返回值。
2. Java語(yǔ)言中的浮點(diǎn)型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲(chǔ)長(zhǎng)度和數(shù)值精度的不同,進(jìn)一步分為float和 __________兩種具體類型。
3. 創(chuàng)建類對(duì)象的運(yùn)算符是___________。
4. 當(dāng)整型變量n的值不能被13除盡時(shí),其值為 false 的Java語(yǔ)言表達(dá)式是_____________ 。
5. 在Java語(yǔ)言中,所有的數(shù)組都有一個(gè)lenght屬性,這個(gè)屬性存儲(chǔ)了該數(shù)組的__________。
6. 定義類就是定義一種抽象的____________,它是所有具有一定共性的對(duì)象的抽象描述。
7. 在Java語(yǔ)言中,使用_____、______等技術(shù),實(shí)現(xiàn)軟件重用。
8. Java的復(fù)合數(shù)據(jù)類型有 : 類、數(shù)組和_______等。
9. 表達(dá)式3/6 * 5的計(jì)算結(jié)果是________ 。
10.定義初值為10的10次方的長(zhǎng)整型變量 lvar 的語(yǔ)句是:__________________________。
11. 順序結(jié)構(gòu)、分支結(jié)構(gòu)(或稱選擇結(jié)構(gòu))、____________是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本流程控制結(jié)構(gòu)。
12. 以下方法 m 的功能是求兩參數(shù)之積的整數(shù)部分。
int m ( float x, float y )
{ __________________; }
13. Java 源程序文件編譯后產(chǎn)生的文件稱為_(kāi)_______文件,其擴(kuò)展名為 ___________ 。
三、判斷題( 每小題1分,共15分 )
下列各題中,你認(rèn)為正確的就在其題干后的括號(hào)內(nèi)打"√",錯(cuò)誤的打"×"。
1.Java 和 c++都是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。( )
2.字符串 "\'a\'" 的長(zhǎng)度是5。( )
3. 同一個(gè)類中定義多個(gè)參數(shù)列表不同的同名方法,叫做方法的重載。( )
4. 一個(gè)類的定義包括定義類頭和定義類體兩個(gè)部分。( )
5.一個(gè)程序里可以有多個(gè)父類,也可以有多個(gè)主類。( )
6. 一個(gè)子類可以重新定義從父類那里繼承來(lái)的同名方法,而且允許它們有不同的返回值。( )
7.抽象方法只能存在于抽象類中。( )
8. 在父類中聲明為 final 的方法,也可以在其子類中被重新定義(覆蓋)。( )
9. 接口中所有方法均為抽象方法。( )
10. False 是合法的 Java 標(biāo)識(shí)符。( )
11. 子類的類成員變量不能與其父類的類成員變量同名。( )
12. static 變量不能是 private 變量。( )
13. 保留字 this 代表當(dāng)前對(duì)象。( )
14. 類的構(gòu)造函數(shù)名必須和類名相同。( )
15. 子類的對(duì)象能直接向其父類對(duì)象賦值。( )
四、程序填空( 每空2分,共20分 )
閱讀程序,根據(jù)程序功能,在指定的空白處填上適當(dāng)?shù)恼Z(yǔ)句或語(yǔ)法成分,使程序完整。
1.下面是一個(gè)類的定義:
public class ____________
{
int x, y;
Myclass ( int i, _______) // 構(gòu)造函數(shù)
{
x=i;
y=j;
}
}
2.下面是用戶程序?qū)?Applet 類中方法 paint( ) 的重新定義。
public void paint(Graphics ____ )
{ int i=689;
a.drawString ( ________+ i ,20,60);
}
3.下面是一個(gè)Java Application 的主類的定義,其功能是輸出所有命令行參數(shù)。
import java.io.*;
public class MyClass
{
public static void main(String args[ ])
{
if( args.length !=___)
for(int i=0; i < args.length; i++)
System.out.println(___________);
else System.out.println("沒(méi)有命令行參數(shù)");
}
}
4.下面是一個(gè)小程序的主類myprogram的定義, 其中A、B是該主類所在源程序中已定義的另兩個(gè)類的類名:
import java awt.*;
import java applet.*;
public class myprogram extends Applet//定義小程序的主類
{
A a; B b;
public ________ init( )
{ a=new A( ); b=_____ B( ); }
}
5.下面程序的功能是輸出數(shù)組各元素的和。
import java.awt.Graphics;
import java.applet.Applet;
public class SumArray extends Applet
{
float[] a;
a= new _______[6];
float sum=0.0f;
public void init( )
{
for ( int j = 0; j < a.length; j++ )
a[j] = j+1;
for ( int i = 0 ; i < a.length; i++ )
sum+= a[i];
}
public void paint( Graphics g )
{
g.drawString( "Total of array elements: " + ________ , 25, 25 );
}
}
五、簡(jiǎn)答題( 每1問(wèn)2分,共20分 )
閱讀程序(或程序片段)并回答問(wèn)題 。
1. import java.awt.*;
import java.applet.*;
public class Test51` extends Applet
{
float[ ] x = {1.2, 3.4, 5.6, 7.8};
public void paint(Graphics g)
{
int s=0;
for( int i = 0; i < x.length; i++ )
s += (int)x[i];
g.drawString(" " + s, 30, 60);
}
}
問(wèn)題:
1)程序的輸出結(jié)果是什么?
2)方法paint()中的循環(huán)體 s += (int)x[i]; 能寫為 s +=x[i]; 嗎? 為什么?
2. public class Test52
{
String str1="Hello, Java world! \t";
String str2="Hello, students! ";
public static void main(String args[])
{
System.out.print(str1);
System.out.println(str2);
}
}
問(wèn)題:1)這是哪種形式的 Java 程序 ?
2)程序的輸出是什么?輸出的結(jié)果在 Applet 窗口中嗎?
3. 設(shè)ch1, ch2是 char 型變量:
if ( ch1 == ‘a' )
{
if ( ch2 == ‘b' )
System.out.print(" ch1=\'a\' , ch2=\'b\' ");
}
else
System.out.print(" ch1!=\'a\' ");
System.out.println(" end ");
問(wèn)題: 1)若執(zhí)行前 ch1 的值為 ‘a', ch2 的值為 'c' 該程序段輸出是什么?
2)若執(zhí)行前 ch1 的值為 'w', ch2 的值為 'b' 該程序段輸出是什么?
3)若執(zhí)行前 ch1 的值為 'a', ch2 的值為 'b' 該程序段輸出是什么?
4.有如下源程序:
import java.awt.*;
import java.applet.*;
public class Test54 extends Applet
{
B b;
public void init( )
{
b=new B( 'f', 87.6f, 69.1f);
}
public void paint(Graphics g)
{
g.drawString("序號(hào) "+"性別 "+"成績(jī)1 "
+"成績(jī)2 ",20,50);
b.Print(g);
}
}
class A
{
static int n=100;
char ch;
A( ) { n++; }
A( char c){ this( ); ch=c; }
void Print(Graphics g)
{
g.drawString(" "+n+" "+ch,20,70);
}
}
class B extends A
{
float s1, s2;
B(float r1,float r2){ s1=r1; s2=r2; }
B( char c, float r1, float r2)
{
super(c);
s1=r1; s2=r2;
}
void Print(Graphics g)
{
super.Print(g);
g.drawString(" "+s1+" "+s2,40,70);
}
}
問(wèn)題: 該程序的輸出是什么?
5.已知菲波那契數(shù)列的數(shù)學(xué)表達(dá)式為:
fibonacci(n)=n, n=0,1;
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n≥2;
設(shè) m 是 long 型變量,下面是用遞歸算法求菲波那契數(shù)列的方法:
long fibonacci(long n)
{
if(n==0||n==1) return n;
else return (fibonacci(n-1)+fibonacci(n-2));
}
問(wèn)題: 當(dāng)語(yǔ)句 m=fibonacci(3); 執(zhí)行時(shí),方法 fibonacci( )被調(diào)用了幾次?
6. 下面是一個(gè)排序的程序:
import java.io.*;
public class Test56_Sort
{
public static void main(String args[ ])
{
int[] a={42,99,5,63,95,36,2,69,200,96};
System.out.println("排序前的數(shù)據(jù)序列:");
ShowArray(a);
Sort(a);
System.out.println("排序后的數(shù)據(jù)序列:");
ShowArray(a);
}
public static void Sort(int[] x)
{
int w;
for(int i=1; i
{
for(int j=0; j
if(x[j]>x[j+1])
{ w=x[j]; x[j]=x[j+1]; x[j+1]=w; }
/* if(i==1||i==2) ShowArray(x);
if(i==2) break; */
}
}
public static void ShowArray(int b[])
{
for(int i=0; i
System.out.print(" "+b[i]);
System.out.println(" ");
}
}
【java基礎(chǔ)知識(shí)習(xí)題】相關(guān)文章:
Java基礎(chǔ)知識(shí)練習(xí)題及答案03-19
Java基礎(chǔ)知識(shí)精選05-02
java基礎(chǔ)知識(shí)07-16
Java基礎(chǔ)知識(shí)概述07-10
Java基礎(chǔ)知識(shí)總結(jié)12-04
java基礎(chǔ)知識(shí)匯總07-22
java基礎(chǔ)知識(shí)大全01-08