一、單選題 (題數:16,共 32.0 分)
1 Java屬於以下哪種語言?(2.0分)
A、以上都不對
B、高級語言
C、匯編語言
D、機器語言
我的答案:B
2 System.out.println(5 + 5 + "5 + 5");的結果是();
A、5555
B、105 + 5
C、10+5+5
D、1055
我的答案:B
3下面的運算符中,用於執行除法運算是哪個?(2.0分)
A、*
B、%
C、\
D、/
我的答案:D
4下面哪種寫法可以實現訪問數組arr的第1個元素?(2.0分)
A、arr(1)
B、arr[1]
C、arr(0)
D、arr[0]
我的答案:D
5安裝好JDK后,在其bin目錄下有許多exe可執行文件,其中java.exe命令的作用是以下哪一種?(2.0分)
A、Java啟動器
B、Java解釋器
D、Java編譯器
我的答案:B
6Java語言中,在定義方法時如果想使用數組作為方法的參數,正確的方法定義為()
A、public void test(int sc)
B、public void test(int[] sc)
C、public void test(int[5] sc)
D、public void test(int sc[5])
我的答案:B
7下面哪種類型的文件可以在Java虛擬機中運行?(2.0分)
A、class
B、jre
C、exe
D、java
我的答案:A
8假設int x = 2,三元表達式 x>0?x+1:5 的運行結果是以下哪一個?(2.0分)
A、5
B、0
C、2
D、3
我的答案:D
9eclipse創建並執行一個程序后生成的bin文件夾,里面主要存放什么文件。
A、.com文件
B、.exe文件
C、.class文件
D、.java文件
我的答案:C
10如果jdk的安裝路徑為:d:\jdk,若想在命令窗口中任何當前路徑下,都可以直接使用javac和java命令,需要將環境變量path設置為以下哪個選項?(2.0分)
A、d:\jre;
B、d:\jdk;
我的答案:C
11以下關於變量的說法錯誤的是?(2.0分)
A、在程序中,可以將一個byte類型的值賦給一個int類型的變量,不需要特殊聲明
我的答案:B
12以下哪個語句選項是正確的?
(2.0分)
A、float a = 3.3f;
B、int a= 100
C、char a = "d";
D、long i = 1000000000000;
我的答案:A
13以下哪個選項可以正確創建一個長度為3的二維數組?(2.0分)
A、以上答案皆不對
我的答案:D
14布爾常量即布爾類型的兩個值,分別是 和 。
A、null、“”
B、FALSE、TRUE
C、false、true
D、0、1
我的答案:C
15switch語句表達式值的數據類型不包括以下哪個()?
A、String
B、int
C、char
D、long
我的答案:D
16以下變量定義哪個是合法的?
A、#int
B、_int
C、int
D、3int
我的答案:B
二、多選題 (題數:4,共 8.0 分)
1以下選項中,哪些屬於合法的標識符?(多選)(2.0分)
B、class
我的答案:AD
2 以下選項中,哪些屬於JDK工具?(多選)(2.0分)
A、Java打包工具
B、Java編譯器
C、Java運行工具
我的答案:ABCD
3以下選項中,switch語句判斷條件可以接收的數據類型有哪些? (多選)(2.0分)
A、short
B、char
C、int
D、byte
我的答案:ABCD
4下列語句哪些屬於循環語句?(多選)(2.0分)
A、switch語句
B、while語句
C、if語句
D、for語句
我的答案:BD
三、填空題 (題數:10,共 20.0 分)
1
Java語言中在定義方法時如果該方法執行后不需要有返回值返回,則在定義方法時應使用 。
(2.0分)
我的答案:
第一空:
void
2
在邏輯運算符中,運算符“&”和 用於表示邏輯與,“|”和 表示邏輯或。
(2.0分)
我的答案:
第一空:
&&
第二空:
||
3
Java運行環境簡稱為 。
(2.0分)
我的答案:
第一空:
JRE
4
若“int a=2; a+=3;”執行后,變量a的值為 。
(2.0分)
我的答案:
第一空:
5
5
環境變量用來存儲Java的編譯和運行工具所在的路徑,而 環境變量則用來保存Java虛擬機要運行的“.class”文件路徑。
(2.0分)
我的答案:
第一空:
path
第二空:
classpath
6
運行Java程序需要使用 命令。
(2.0分)
我的答案:
第一空:
java
7
Java中的變量可分為兩種數據類型,分別是簡單數據類型和 。
(2.0分)
我的答案:
第一空:
引用數據類型
8
編譯Java程序需要使用 命令。
(2.0分)
我的答案:
第一空:
javac
9
Java的三大體系分別為: 、 和 。
(2.0分)
我的答案:
第一空:
JAVA SE
第二空:
JAVA EE
第三空:
JAVA ME
10
若 int a[3][2]={ {123, 345}, {34, 56}, {34, 56} },則a[2][1]= 。
(2.0分)
我的答案:
第一空:
56
四、判斷題 (題數:20,共 40.0 分)
1
continue關鍵字的作用是退出循環體
(2.0分)
我的答案: ×
2
public static void main(String[] args)中的參數args可以修改為a
(2.0分)
我的答案: √
3
switch語句的表達式值可以是布爾類型
(2.0分)
我的答案: ×
4
判斷不相等的比較運算符是<>
(2.0分)
我的答案: ×
5
“ /* ... */ ”中可以嵌套“ // ”注釋,但是不能嵌套“ /* ... */ ”注釋。()
(2.0分)
我的答案: √
6
方法的參數個數可為0個或n個
(2.0分)
我的答案: √
7
方法的重載和返回值有關
(2.0分)
我的答案: ×
8
取反的位運算符號是"!"符號
(2.0分)
我的答案: ×
9
方法內可以不寫return語句;
(2.0分)
我的答案: √
10
在java程序中不可以定義兩個相同名字及類型的變量
(2.0分)
我的答案: ×
11
得到數組的長度用length();?
(2.0分)
我的答案: ×
12
-5 % 3的運算結果是2。
(2.0分)
我的答案: ×
13
if語句中 else if可以用多次
(2.0分)
我的答案: √
14
java語言編寫的程序不能在unix系統上運行。
(2.0分)
我的答案: ×
15
for循環中 ; 的前后可以為空表達式
(2.0分)
我的答案: √
16
方法的簽名包括返回值
(2.0分)
我的答案: ×
17
for循環內不可以再有while或 do while循環體
(2.0分)
我的答案: ×
18
switch語句內可以使用if語句
(2.0分)
我的答案: √
19
標識符名稱的定義只能以字母開頭
(2.0分)
我的答案: ×
20
Java語言不區分大小寫。()
(2.0分)
我的答案: ×
作業一
一.單選題(共5題,50.0分)
eclipse創建並執行一個程序后生成的bin文件夾,里面主要存放什么文件。
- A、
.exe文件
- B、
.java文件
- C、
.class文件
- D、
.com文件
以下選項不是java的基本數據類型?
- A、
int
- B、
String
- C、
long
- D、
float
以下變量定義哪個是合法的?
- A、
int
- B、
3int
- C、
_int
- D、
#int
以下哪個命令可能是正確的?
- A、
javac a.class
- B、
java a.java
- C、
javac a
- D、
java a
以下哪個語句選項是正確的?
- A、
long i = 1000000000000;
- B、
int a= 100
- C、
char a = "d";
- D、
float a = 3.3f;
二.判斷題(共5題,50.0分)
public static void main(String[] args)中的參數args可以修改為a
可以在一台電腦上安裝多個jdk。
java語言編寫的程序不能在unix系統上運行。
在java程序中不可以定義兩個相同名字及類型的變量
標識符名稱的定義只能以字母開頭
一.單選題(共5題,50.0分)
int a = 10;
int b = a++;
b的結果是(),a的結果是();
- A、
11, 10
- B、
10,11
- C、
11,11
- D、
10,10
System.out.println(5 + 5 + "5 + 5");的結果是();
- A、
105 + 5
- B、
1055
- C、
10+5+5
- D、
5555
int a =10;
int b = 20;
System.out.println((a++ > 10) && (++b > 20));
輸出的結果是(),b的值是();
- A、
false
21
- B、
true
20
- C、
true
21
- D、
false
20
int a =10;
int b = 20;
int c = (a>b)?a:b;
c的結果是()
- A、
10
- B、
20
switch語句表達式值的數據類型不包括以下哪個()?
- A、
int
- B、
char
- C、
long
- D、
String
二.判斷題(共5題,50.0分)
switch語句的表達式值可以是布爾類型
if語句中 else if可以用多次
判斷不相等的比較運算符是<>
switch語句內可以使用if語句
取反的位運算符號是"!"符號
一.單選題(共5題,50.0分)
下列語句序列執行后,k 的值是()。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
- A、
0
- B、
1
- C、
2
- D、
3
下面語句執行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
- A、
4
- B、
5
- C、
6
- D、
7
下列語句序列執行后,i的值是( )。
int i=16;
do { i/=2; } while( i > 3 );
- A、
16
- B、
8
- C、
4
- D、
2
以下由 for 語句構成的循環執行的次數是( )。
for ( int i = 0; true ; i++) ;
- A、
有語法錯,不能執行
- B、
無限次
- C、
執行1次
- D、
一次也不執行
不能構成循環的語句是( )。
- A、
for 語句
- B、
while 語句
- C、
switch 語句
- D、
do while 語句
二.判斷題(共5題,50.0分)
for循環中 ; 的前后可以為空表達式
continue關鍵字的作用是退出循環體
for循環內不可以再有while或 do while循環體
int i = 0;
while(1)
{
if(i>3) break;i++;
}
以上程序段是死循環?
int count = 1;
for (int i = 1; i <= 5; i++) {
count += i;
}
System.out.println(count);
以上程序段執行結果是15?
一.單選題(共5題,50.0分)
若已定義 byte[ ] x= {11,22,33,-66} ;其中0≤k≤3,則對x數組元素錯誤的引用是( )。
- A、
x[5-3]
- B、
x[k]
- C、
x[k+5]
- D、
x[0]
設有數組的定義int[] a = new int[3],則下面對數組元素的引用錯誤的是( )。
- A、
a[0]
- B、
a[a.length-1]
- C、
a[3]
- D、int i=1;a[i];
有整型數組:int[] x={12,35,8,7,2};,則調用方法Arrays.sort(x)后,數組x中的元素值依次是( ).
- A、
2 7 8 12 35
- B、
12 35 8 7 2
- C、
35 12 8 7 2
- D、
8 7 12 35 2
應用程序Test.java的源程序如下,在命令行鍵入:
java Test aaa bb c 回車后輸出的結果是 ( )。
public class Test {
public static void main(String args[]) {
int k1=args.length;
int k2=args[1].length();
System.out.print(k1+" "+k2);
}
}
- A、
3 2
- B、
1 2
- C、
1 3
- D、
3 3
應用程序的main方法中有以下語句,則輸出的結果是 ( )。
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
- A、
11
- B、
32
- C、
2
- D、
3
二.判斷題(共5題,50.0分)
new int(5);的作用在於從棧里分配空間?
得到數組的長度用length();?
不可以定義引用類型的數組比如 String?
定義完數組后,數組的長度可以在程序中隨時改變?
Scanner 的 next可以讀取一整行?
一.判斷題(共5題,100.0分)
方法內可以不寫return語句;
方法的重載和返回值有關
方法的簽名包括返回值
方法的參數個數可為0個或n個
main方法必須是靜態的
一.單選題(共5題,50.0分)
對象的屬性可以定義多種類型,如果定義String name;的屬性,初始值為()
- A、
null
- B、
""
- C、
void
- D、
''
在java中對象的創建用new關鍵字,對於該對象的回收用的是()
- A、
OA
- B、
delete
- C、
GC
- D、
OO
public,private, 不加修飾符, protected哪個訪問控制級別最小
- A、
private
- B、
public
- C、
default
- D、
protected
引入其他包的類,用的關鍵字是()
- A、
package
- B、
import
- C、
extern
- D、
include
二.判斷題(共5題,50.0分)
類的封裝就是讓屬性和方法放在一個類里?
一個類可以用private進行修飾
面向過程(OP)和面向對象(OO)不是指編碼的兩種方式,是分析方式的不同,最終導致了編碼方式的不同。
通過一個類可以創建多個對象?
在一個類內部的方法,可以訪問任何訪問控制修飾符定義的屬性?
一.單選題(共2題,50.0分)
遞歸方法的遞歸次數不宜過多,以下說明正確的是?
- A、
太復雜
- B、
時間復雜度高
- C、
空間復雜度高
- D、
棧溢出
以下哪個是構造方法Student()的重載方法
- A、
void Student()
- B、
public static void Student(int age)
- C、
Student(String name)
- D、
void Student(int age)
二.判斷題(共2題,50.0分)
漢諾塔問題的解法是遞歸的
數據結構中的樹的遍歷是遞歸的?
一.單選題(共5題,50.0分)
構造方法可以被以下哪些修飾符修飾
- A、
void
- B、
static
- C、
final
- D、
public
在Java中,關於構造方法,下列說法錯誤的是
- A、
構造方法的名稱必須與類名相同
- B、
構造方法可以帶參數
- C、
構造方法不可以重載
- D、
構造方法絕對不能有返回值
分析選項中關於Java中this關鍵字的說法正確的是
- A、
this關鍵字是在對象內部指代自身的引用
- B、
this關鍵字可以在類中的任何位置使用
- C、
this關鍵字和類關聯,而不是和特定的對象關聯
- D、
同一個類的不同對象共用一個this
class Person {
String name, department;
int age;
public Person(String n){ name = n; }
public Person(String n, int a){ name = n; age = a; }
public Person(String n, String d, int a) {
// 完成Person(String n, int a)的邏輯
department = d;
}
}
下面的哪些表達式可以加到構造方法中的注釋處?
- A、
Person(n,a);
- B、
this(Person(n,a));
- C、
this(n,a);
- D、
this(name,age);
組合 聚合 關聯 依賴這幾種關系都是語義級別的,所以從代碼層面並不能完全區分各種關系;但總的來說,哪種關系所表現的強弱程度最強?
- A、
組合
- B、
聚合
- C、
關聯
- D、
依賴
二.判斷題(共5題,50.0分)
構造方法可以用權限修飾符private
寫了構造方法,默認的構造方法就無效
關鍵字thi只是為了防止形參名與屬性重名
this調用本類中的其他構造方法,調用時要放在構造方法的首行
依賴關系一般在形參、局部變量、靜態方法中使用
一.單選題(共5題,50.0分)
以下哪個不是static可以修飾的
- A、
方法
- B、
包
- C、
屬性
- D、
類
- E、
局部變量
以下對於類方法描述不正確的是
- A、
可以用類名.進行訪問
- B、
可以用對象.進行訪問
- C、
類方法內可以訪問非靜態的屬性與方法
- D、
類方法只有一份
靜態初始化塊描述錯誤的是
- A、
不能直接訪問非staic成員
- B、
當類被加載時,靜態代碼塊會執行,並且只會執行一次
- C、
靜態初始化塊不能置於類中的任何地方,類中可以有多個靜態初始化塊
- D、
在類初次被加載時,會按照靜態初始化塊的順序來執行每個塊
類屬性描述不正確的是
- A、
可以用於修飾局部變量
- B、
static成員變量初始化順序按照定義的順序來進行初始化
- C、
先於對象構造前,在內存內只有一份
- D、
非static屬性必須構造后才存在,並多份
以下哪個是靜態導包
- A、
static import java.lang.System.out;
- B、
import static java.lang.System.out;
二.判斷題(共5題,50.0分)
類中static方法只能訪問static的屬性與方法
static修飾的屬性在方法區?
static修飾的屬性不可以通過對象訪問
類中不可以定義多個static代碼塊
單例模式要考慮線程
一.單選題(共8題,32.8分)
以下都是Math類的常用方法.其中用於計算絕對值的方法是哪個?
- A、
ceil()
- B、
floor()
- C、
abs()
- D、
random()
要產生[20,999]之間的隨機整數可以使用以下哪個表達式?
- A、
(int)(20+Math.random() *97)
- B、
20+(int)(Math.random() *980)
- C、
(int)Math.random() *999
- D、
20+(int)Math.random() * 980
stringBuffer buf= new StringBuffer ("Beijing2008");
buf.insert(7,"@");
System.out.println(buf.toString());
- A、
Beijing@2008
- B、
@Beijing2008
- C、
Beijing2008@
- D、
Beijing#2008
String str1=new String ("java");
String str2=new String ("java");
StringBuffer str3=new StringBuffer ("java");
對於上述定義的變量,以下表達式的值為true的是哪個?
- A、
str1==str2;
- B、
strl.equals(str2);
- C、
strl==str3;
- D、
以上都不對
使用Iterator時,判斷是否存在下一個元素可以使用以下哪個方法?
- A、
next()
- B、
hash()
- C、
hasPrevious()
- D、
hasNext()
在程序開發中,經常會使用以下哪個類來存儲程序中所需的配置?
- A、
HashMap
- B、
TreeSet
- C、
Properties
- D、
TreeMap
要想在集合中保存沒有重復的元素並且按照一定的順序排列,可以使用以下哪個集合?
- A、
LinkedList
- B、
ArrayList
- C、
hashSet
- D、
TreeSet
二.多選題(共2題,8.2分)
以下哪些方法是LinkedList集合中定義的?
- A、
getLast()
- B、
getFirst()
- C、
remove(int index)
- D、
next()
要想保存具有映射關系的數據,可以使用以下哪些集合?
- A、
ArrayList
- B、
TreeMap
- C、
HashMap
- D、
TreeSet
三.填空題(共6題,24.6分)
在Java中定義了兩個類來封裝對字符串的操作,它們分別是________ 和________。
String
StringBuffer
我的答案:得分: 4.1分
String
StringBuffer
批語
Java中專門用於將日期格式化為字符串的類是________。
SimpleDateFormat ;DateFormat
我的答案:得分: 4.1分
SimpleDateFormat
批語
已知sb為StringBuffer的一個實例,且sb.toString()的值為“abcde”,則執行sb.reverse()后,sb.toString()的值為________。
edcba
我的答案:得分: 4.1分
edcba
批語
在創建TreeSet對象時,可以傳入自定義比較器。自定義比較器需實現________接口。
Comparator
我的答案:得分: 4.1分
Comparator
批語
Map集合中的元素都是成對出現的,並且都是以________、________的映射關系存在。
鍵;key
值;value
我的答案:得分: 4.1分
鍵
值
批語
四.判斷題(共8題,34.4分)
String對象和StringBuffer對象都是字符串變量,創建后都可以修改。 ( )
用運算符==比較字符串對象時,如果兩個字符串的值相同,結果為true。
( )
System類中的currentTimeMillis()方法返回一個long類型的值。( )
Date、Calendar以及DateFormat類都位於java.util包中。( )
Set集合是通過鍵值對的方式來存儲對象的。( )
集合中不能存放基本數據類型,而只能存放引用數據類型。( )
如果創建的TreeSet集合中沒有傳入比較器,則該集合中存入的元素需要實現 Comparable接口。( )
使用Iterator迭代集合元素時,可以調用集合對象的方法增刪元素。( )