一、選擇題
1、 下列說法正確的是() A
A、 JAVA程序的main方法必須寫在類里面
B、 JAVA程序中可以有多個main方法(一個類中只能有一個main方法)
C、 JAVA程序中類名必須與文件名一樣(由public修飾時)
D、 JAVA程序的main方法中如果只有一條語句,可以不用{}(大括號)括起來
D.不可以。函數的定義就是——返回類型 函數名(參數……){ 函數體(過程) [返回值]}既然main函數是一個函數,也就必須符合其定義規則。如果像if或者for,只有一個語句,可以省略括弧。
2、 Java中,在如下所示的Test類中,共有()個構造方法。 C
public class Test{ private int x; public Test(){ x=35; }
public void Test(double f){ This.x=(int)f; }
public Test(String s){} }
//參數個數或類型不一致,不能有void方法
A、 0 B、 1 C、 2D、 3
3、 表達式(11+3*8)/4%3的值是() D 35/4%3=8%3=2
A、 31B、 0C、 1D、 2
4、 關於類的描敘正確的是()(選擇兩項)BD
A、 在類中定義的變量稱為類的成員變量,在別的類中可以直接使用
B、 局部變量的作用范圍僅僅在定義它的方法內,或者是在定義它的控制流塊中
C、 使用別的類的方法僅僅需要引用方法的名字即可
D、 一個類的方法使用該類的另一個方法時可以直接引用方法名
5、 下列關於字符串的描敘中錯誤的是()(選擇兩項)BC
A、 字符串是對象
B、 String對象存儲字符串的效率比StringBuffer高
C、 可以使用StringBuffer sb="這里是字符串"聲明並初始化StringBuffer對象sb
D、 String類提供了許多用來操作字符串的方法:連接,提取,查詢等
6、 下面關於數組的說法中,錯誤的是()(選擇兩項)AB
A、 在類中聲明一個整數數組作為成員變量,如果沒有給它賦值,數值元素值為空
B、 數組可以在內存空間連續存儲任意一組數據
C、 數組必須先聲明,然后才能使用
D、 數組本身是一個對象
7、 執行下面代碼結果() D
for(int i=0;;){
System.out.println("這是 "+i);
break;
}
A、 語法錯誤,缺少表達式2和表達式3
B、 死循環
C、 程序什么都不輸出
D、 輸出:這是0
8、 在JAVA中,以下( )類的對象以鍵-值的方式存儲對象C
A、 java.util.List
B、 java.util.ArrayList
C、 java.util.HashMap
D、 java.util.LinkedList
9、 給定java代碼如下所示,在A處新增下列()方法,是對cal方法的重載(選擇兩項) AC
public class Test{
public void cal(int x, int y, int z){
}
//A
}
A. public int cal(int x,int y,float z){return 0;}
B. public int cal(int x,int y,int z){return 0;}
C. public void cal(int x,int z){}
D. public viod cal(int z,int y,int x){}
10、 在Java語言中,下列關於類的繼承的描述,正確的是()。B
A、 一個類可以繼承多個父類
B、 一個類可以具有多個子類
C、 子類可以使用父類的所有方法
D、 子類一定比父類有更多的成員方法
11、 下列選項中關於Java中super關鍵字的說法正確的是()。 A
A、 super關鍵字是在子類對象內部指代其父類對象的引用
B、 super關鍵字不僅可以指代子類的直接父類,還可以指代父類的父類
C、 子類通過super關鍵字只能調用父類的方法,而不能調用父類的屬性
D、 子類通過super關鍵字只能調用父類的屬性,而不能調用父類的方法
12、 在JAVA的異常處理模型中,能單獨和finally語句一起使用的塊是()。 A
A、 tryB、 catchC、 throwD、 throws
13、 在JAVA中,Object類是所有類的父親,用戶自定義類默認擴展自Object類,下列選項中的()方法不屬於Object類的方法。 D
A、 equals(Object obj)
B、 getClass()
C、 toString()
D、 trim()
14、 在JAVA中ArrayList類實現了可變大小的數組,便於遍歷元素和隨機訪問元素,已知獲得了ArrayList類的對象bookTypeList,則下列語句中能夠實現判斷列表中是否存在字符串“小說”的是()。C
A、 bookTypeList.add("小說");
B、 bookTypeList.get("小說");
C、 bookTypeList.contains("小說");
D、 bookTypeList.remove("小說");
15、 關於面向對象的說法正確的是()A
A、 類可以讓我們用程序模擬現實世界中的實體
B、 有多少個實體就要創建多少個類
C、 對象的行為和屬性被封裝在類中,外界通過調用類的方法來獲得,但是要知道類的內部是如何實現
D、 現實世界中的某些實體不能用類來描述
16、 以下關於抽象類和接口的說法錯誤的是()E
A、 抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承。但是一個類卻可以實現多個接口。
B、 在抽象類中可以沒有抽象方法
C、 實現抽象類和接口的類必須實現其中的所有方法,除非它也是抽象類。接口中的方法都不能被實現
D、 接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。
E、 接口中的方法都必須加上public關鍵字。
17、 關於面向對象的說法正確的是()A
A、 類可以讓我們用程序模擬現實世界中的實體
B、 有多少個實體就要創建多少個類
C、 對象的行為和屬性被封裝在類中,外界通過調用類的方法來獲得,但是要知道類的內部是如何實現
D、 現實世界中的某些實體不能用類來描述
18. 在下列選項中,哪一個可執行同構的sql語句?( ) C
A CallableStatement
B Statement
C PreparedStatement
19. 在下列選項中,哪一個可執行異構的sql語句?( )A
A CallableStatement
B Statement
C PreparedStatement
20、查找表結構用以下哪一項( ) B
A.FIND B.SELETE C.ALTER D.DESC
21、在視圖上不能完成的操作是( ) D
A.查詢
B.在視圖上定義新的視圖
C.更新視 圖
D.在視圖上定義新的表
視圖是基於數據表的一種查詢窗口。怎么可能在這種查詢窗口中再建數據表呢?就像你可以在房子上開窗,但你不能在窗子上蓋個房子吧?
22、查找條件為:姓名不是NULL的記錄( ) C
A.WHERE NAME ! NULL
B.WHERE NAME NOT NULL
C.WHERE NAME IS NOT NULL
D.WHERE NAME!=NULL
23、SQL語言的數據操縱語句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最頻繁的語句是( )。 B
A.UPDATE B.SELECT C.DELETE D.INSERT
24、以下哪種操作能夠實現實體完整性( ) B
A.設置唯一鍵
B.設置外鍵
C.減少數據冗余
D.設置主鍵
25、用於將事務處理寫到數據庫的命令是( ) C
A.insert B.rollback C.commit D.savepoint
26、DAO模式是進行數據庫操作時,java中采用的一種方,其中,進行數據描述的類是() D
A : 繼承指定抽象類的類
B : 包裝常規數據類型的類
C : 實現指定接口的類
D : JavaBean
27、在MySQL中,以下刪除字段的SQL語句正確的是() B
A : alter table table_name drop column column_name
B : delete table table_name drop column column_name
C : drop table table_name drop column column_name
D : truncation table table_name drop column column_name
28、在MySQL中使用 SELECT * FROM smbms_commodity LIMIT 0,5進行分頁 查詢,下列選項中與所使用的SQL語句功能相同的是() D
A : SELECT * FROM smbms_commodity LIMIT 0 to 5
B : SELECT * FROM smbms_commodity LIMIT 5
C : SELECT * FROM smbms_commodity LIMIT 0-5
D : SELECT * top 5 FROM smbms_commodity
29、在MySQL中,使用in/not in關鍵字實現子查詢時,()情況下可以用 = 代替。 A
A : 子查詢返回唯一的結果時
B : 子查詢返回重復的結果時
C : 子查詢返回多個結果時
D : 子查詢返回的結果中沒有重復數據時
30、SQL語言允許使用通配符進行字符串匹配操作,其中“%”可以表示() D
A : 0個字符
B : 1個字符
C : 多個字符
D : 以上都可以
二、簡答題
一、JAVA部分
1,List、Set和Map 之間的區別?
List 接口存儲一組不唯一,有序(插入順序)的對象(查詢快)
Set 接口存儲一組唯一,無序的對象 (存儲快,不方便查找)eg:倉庫
Map接口存儲一組鍵值對對象,提供key到value的映射
2,Hashtable 與 HashMap 有什么不同之處?
相同點:都為繼承關系,實現了Map接口
Hashtable:繼承Dictionary類 線程安全,效率較低 鍵和值都不允許為null
HashMap: 繼承AbstractMap類 非線程安全,效率較高 鍵和值都允許為null
3,“a==b”和”a.equals(b)”有什么區別?
== 是要求不僅內存地址相同,賦值也要相同
.equals 僅是賦值相同
4,JRE、JDK、JVM 分別是什么?
JRE:JAVA運行環境 JDK:JAVA開發工具 JVM:JAVA虛擬機
5,a = a + b 與 a += b 的區別
+=操作符會進行隱式自動類型轉換;a=a+b則不會自動進行類型轉換,如果類型不同需進行強制轉換(在運算精度上,即數據類型轉換上)
6,“a==b”和”a=b”“a===b”有什么區別?
“=”是a賦值b,“==”是a等於b,“===”是a恆等於b
7,java中.equal()與= =有什么不同?
“= =”不僅賦值相同,內存地址也相同 ;“.equal()”僅賦值相同
“hashcode”是通過hash算法得到值,是93651
二、SQL部分
1.創建student表
CREATE TABLE `student` (
`Id` int(10) NOT NULL primary key auto_increment UNIQUE KEY,
`Name` varchar(20) NOT NULL,
`Sex` varchar(4) ,
`Birth` year(4) ,
`Department` varchar(20) NOT NULL,
`Address` varchar(50) ) COMMENT='學生表';
2查詢所有姓李的學生個數
SELECT * FROM student WHERE Name LIKE '%李';
- `查詢計算機系和數學系的學生信息
SELECT* FROM student WHERE department='計算機系' OR department='數學系';
- 查詢年紀大於20的學生信息
SELECT*
FROM student
WHERE NOW()-Birth>20;
- 查詢各院系的最高分
SELECT Department AS '院系' ,MAX(score.grade) AS 最高分 FROM student
INNER JOIN score ON score.stu_id=student.Id
GROUP BY Department;