Java基础强化练习题2(附答案)
更新时间:2024-01-19 08:06:02 阅读量: 教育文库 文档下载
- 基础强化天天练推荐度:
- 相关推荐
1. 下列代码的输出结果是:
public class Yikes { public static void go(Long n) { System.out.println(\ } public static void go(Short n) { System.out.println(\ } public static void go(int n) { System.out.println(\ } public static void main(String[] args) { short y = 6; long z = 7; go(y); go(z); } } A.
Long Long B.
Short Long C.
int Long D.
int int
正确答案:C
2. 下面不属于接口的是:()。
A. java.sql.Connection B. java.sql.Driver
C. java.sql.DriverManager D. java.sql.ResultSet 正确答案:C
3. synchronized关键字做同步,可以使用在:()。 A. 方法上 B. 接口上 C. 变量上 D. 类上
正确答案:A
4. 类A的定义如下:
class A {
protected void f() throws FileNotFoundException {
……… } }
下列代码段没有编译错误的是:()。 A.
class B extends A {
public void f() throws Exception {
……… } } B.
class B extends A {
public void g() throws IOException {
f(); } } C.
class B extends A {
public void g() {
try{
f(); ……… }
catch(IOException e) {
……… }
catch(FileNotFoundException e1) {
……… } } } D.
class B extends A {
public void g() {
try {
f(); }
catch(FileNotFoundException e) {
throw new RuntimeException(e); } } }
正确答案:D
分析:子类重写父类的方法时候不能声明抛出比父类大的异常
5. 下列选项中能够得到字符串的一部分的单行函数是()。
A. INSERT B. SUBSTR C. LPAD D. LEAST 正确答案:B
6. ResultSet提供了获取数据库中某个字段值的方法,如果某个字段为NUMBER类型,可以获取该字段值的方法是:( )。
A. getNumber() B. getDouble() C. setNumber() D. setDouble() 正确答案:B
7. 下列代码编译和运行的结果是:
public class A { void process() throws Exception { throw new Exception(); } public static void main(String[] args) { A a = new B(); a.process(); } }
class B extends A { void process() { System.out.println(\ } }
A. 输出:B B. 无输出
C. B类的process方法处,出现编译错误 D. 代码a.process();行,出现编译错误 正确答案:D
8. 下列代码编译和运行的结果是:
public static void main(String[] args) {
}
Float pi = new Float(3.14f); if (pi > 3) { System.out.print(\ } else { System.out.print(\ }
finally { System.out.println(\ }
A. 编译失败
B. 输出:pi is bigger than 3.
C. 输出:pi is bigger than 3. Have a nice day D. 输出:pi is not bigger than 3. Have a nice day. 正确答案:A
9. 需要读取一个比较大的文本文件,这个文件里有很多字节的数据,那么下列最合适读这个文件的选项是:()。
A. new FileInputStream(“fileName”);
B. new InputStreamReader(new FileInputStream(“fileName”));
C. new BufferedReader(new InputStreamReader(new FileInputStream(“fileName”))); D. new RandomAccessFile(“fileName”,”+rw”); 正确答案:C
10. 运行下列程序:
public static void main(String[] args) { String str = \ String str1 = \ int index = 0; while ((index = str.indexOf(str1, index)) != -1) { System.out.print(index + \ index += str1.length(); } }
控制台输出的结果是:()。 A. 1 10 21 B. 2 11 22 C. 3 13 23 D. 5 13 22 正确答案:B
11. 运行下列代码,输出为false的是:()。
A. String st1 = \
System.out.println(\
B. String st2 = \
System.out.println(st2.equals(new String(\ C. Integer i = 100;
System.out.println(100 == i); D. ArrayList list = new ArrayList();
System.out.println(list.contains(null)); 正确答案:D
12. 下面关于ResultSet说法错误的是()。
A. 查询结束后,所有的结果数据将一次被存储在ResultSet对象中
B. Statement对象close后,由其创建的ResultSet对象将自动的close
C. 查询结束后,ResultSet中的游标指向第一条记录之上,因此要先调用一次next()才有可能取得记录
D. ResultSet的的方法getString(...)意为取得该列的数据以字符串的形式返回,数据库中的该列类型并不一定必须是字符类型 正确答案:A
13. 下列属于DML语句的是:()。
A. COMMIT B. INSERT C. DROP D. GRANT 正确答案:B
14. 下面关于事务(Transaction)的说法错误的是:()。
A. 事务具备ACID四个基本特性,即A(Atomicity)—原子性、C(Consistency)—一致性、I(Isolation)—隔离性、D(Durability)—持久性。
B. 事务的提交(Commit)指将事务中所有对数据库的更新写到磁盘上的物理数据库中去,事务正常结束。
C. 事务的回滚(Rollback)指在事务运行的过程中发生了某种故障,事务不能继续进行,将事务中对数据库的所有以完成的操作全部撤消,回滚到事务开始的状态。 D. JDBC通过Connection对象控制事务,默认方式下,在执行完更改语句后需要必须要调用Connection的commit方法,对数据的更改才能生效。 正确答案:D
15. 运行下面程序:
public class Foo { public static void main(String[] args) { try { test(); System.out.println(\ } catch (ArrayIndexOutOfBoundsException e) { System.out.println(\ } catch (Exception e) { System.out.println(\
}
} finally { System.out.println(\ } }
public static void test() { String str = \ str.compareTo(\}
输出的结果是:()。 A. condition 1 finally B. condition 2 finally
C. condition 1 condition 3 finally D. condition 1 condition 2 finally 正确答案:A
16. 查询客户姓名以及他的推荐人,没有推荐人的客户信息不显示,下列sql语句正确的是:
A.
select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.id = a2.id; B.
select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.recommender_id = a2.recommender_id; C.
select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.recommender_id = a2.id; D.
select a1.real_name customer, a2.real_name recommenderfrom account a1, a2on a1.recommender_id = a2.id; 正确答案:C
17. 下列代码的运行结果是()。
public class Forest implements Serializable { private Tree tree = new Tree(); public static void main(String[] args) { Forest f = new Forest(); try { FileOutputStream fs = new FileOutputStream(\ ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(f); os.close(); } catch (Exception ex) { ex.printStackTrace();
} } }
class Tree { }
A. 编译失败
B. 运行时,抛出异常
C. Forest的实例被序列化到文件
D. Forest的实例和Tree的实例都被序列化到文件 正确答案:B
18. 关于Java 异常,下列说法错误的是()。
A. 异常是定义了程序中遇到的非致命的错误,而不是编译时的语法错误
B. try……catch语句中对try 内语句监测,如果发生异常,则把异常信息放入Exception类的对象中
C. throws 用来表示一个方法有可能抛出异常给上一层,则在调用该方法时必须捕捉异常,否则无法编译通过
D. main方法不可以使用 throws 抛出异常 正确答案:D
19. 现有订单表(orders),包含字段:cid(顾客编号),pid(产品编号)。若查询既订购了产品P01,又订购了产品P02的顾客编号,下列Sql语句正确的是()
A. SELECT DISTINCT(cid) FROM orders o1 WHERE o1.pid IN(‘p01’,’p02’)
B. SELECT DISTINCT(cid) FROM ORDERS o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’ AND o1.cid=o2.cid
C. SELECT DISTINCT(cid) FROM orders WHERE pid=’p01’ AND cid IN(select cid FROM orders WHERE pid=’p02’)
D. SELECT DISTINCT(cid) FROM orders o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’ 正确答案:C
20. 在JDBC中使用事务,想要回滚事务的方法是 ( )。
A. Connection的commit()
B. Connection的setAutoCommit() C. Connection的rollback() D. Connection的close() 正确答案:C
21. 包含事务控制方法setAutoCommit, commit, rollback的是:() 。
A. Connection B. Statement C. ResultSet
D. DriverManager
正确答案:A
22. 如果查询表a(有3行数据)和表b(有4行数据),使用SELECT * FROM a,b,返回的查询结果的行数是:()。
A. 7 B. 1 C. 0 D. 12 正确答案:D
23. 关于String 和 StringBuffer 下面说法正确的是()。
A. String操作字符串不改变原有字符串的内容 B. StringBuffer连接字符串速度没有String 快 C. String 可以使用append方法连接字符串 D. StringBuffer 在java.util包中 正确答案:A
24. 下列代码的运行结果是()
public class Foo { static void test() throws RuntimeException { try { System.out.print(\ throw new RuntimeException(); } catch (Exception ex) { System.out.print(\ } } public static void main(String[] args) { try { test(); } catch (RuntimeException ex) { System.out.print(\ } System.out.print(\ } }
A. test end B. test
C. test runtime end D. test exception end 正确答案:D
25. 下列不属于Collection接口的方法的是:
A. clear B. contains
C. remove D. listIterator 正确答案:D
26. 现有如下建表SQL语句:
CREATE TABLE departments (
department_id NUMBER(4) PRIMARY KEY, department_name VARCHAR2(20), city VARCHAR2(20), province VARCHAR2(20) ) 下面插入语句正确的是:( )。
A. INSERT INTO departments VALUES(300,’abc’);
B. INSERT INTO departments(department_name,department_id) VALUES(300,’design’); C. INSERT INTO departments(department_name,city) VALUES(‘design’,’bj’); D. INSERT INTO departments VALUES(300,’abc’,null,null); 正确答案:D
27. 下面的描述错误的是:( )。
A. Statement的executeQuery()方法会返回一个结果集
B. Statement的executeUpdate()方法会返回是否更新成功的boolean值
C. 使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值 D. ResultSet中的next()方法会使结果集中的下一行成为当前行 正确答案:B
28. 下列Oracle语句中,属于DDL语句的是()
A. DROP B. INSERT C. DELETE D. SELECT 正确答案:A
29. 有一个表leanr,表里有三个字段分别是学号(student_id),课程(kc),成绩(grade)。查询表中存在课程重复2次以上的记录,显示课程和重复的次数,并且按照重复次数的降序排列,下列SQL语句正确的是:()。
A. SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc WHERE COUNT(kc)>=2 ;
B. SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc HAVING COUNT(kc)>=2 ;
C. SELECT kc,COUNT(kc) FROM leanr GROUP BY kc WHERE COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;
D. SELECT kc,COUNT(kc) FROM leanr GROUP BY kc HAVING COUNT(kc)>=2 ORDER BY COUNT(kc) DESC; 正确答案:D
30. 在Oracle中,给Student表添加Address列,如下代码正确的是()。
A. ALTER TABLE student ADD COLUMN(address VARCHAR2(20)) B. UPDATE TABLE student ADD COLUMN(address VARCHAR2(20)) C. UPDATE TABLE student ADD(address VARCHAR2(20)) D. ALTER TABLE student ADD(address VARCHAR2(20)) 正确答案:D
31. 下面关于结果集,说法错误的是:()。
A. 调用Connection对象的preparedStatement(String sql)方法所创建的PreparedStatement对象执行查询所得到的结果集不可以调用previous()方法。
B. Statement在执行完查询后,会把查询得到的所有数据通过网络一次加载到内存中。 C. ResultSet的getDate方法返回的类型是java.sql.Date而不是java.util.Date。 D. ResultSet的初始状态游标位于第一行之上,必须先调用其next方法,才可以获取到数据。 正确答案:B
32. 请看下列代码:
public String makinStrings() { String s = \ s = s + \ s = s.substring(2, 5); s = s.toUpperCase(); return s.toString(); }
调用makinString方法,得到的字符串长度是: A. 1 B. 2 C. 3 D. 4
正确答案:C
33. 下列代码编译和运行的结果是()
public class Foo { public static void main(String[] args) { java.util.List list = new java.util.ArrayList(); list.add(new B()); list.add(new C()); for (A a : list) { a.x(); a.y(); } } }
interface A {
void x(); }
class B implements A { public void x() { } public void y() { } }
class C extends B { public void x() { } }
A. 代码运行没有输出 B. 运行时抛出异常
C. 代码a.y();行,编译错误
D. 代码java.util.List list = new java.util.ArrayList();行,编译错误 正确答案:C
34. 在JDBC连接数据库编程应用开发中,可以实现数据库连接的是()。
A. Connection接口
B. PreparedStatement类 C. CallableStatement类 D. Statement类 正确答案:A
35. 运行下面程序:
public static void main(String[] args) { Map
输出的结果是:()。 A. 123 B. 312 C. 213
D. 123顺序无法确定 正确答案:D
36. 在Java语言中,下列说法正确的是:()。
A. StringBuffer和StringBuilder的区别在于:StringBuffer是线程安全的而StringBuilder不是。 B. String是不可变对象,而StringBuffer中封装的字符串数据是可以动态改变的。
C. 判断两个StringBuilder对象的字符序列是否相同,可以调用其equlas方法进行比较。 D. String的重写了equals方法,重写的逻辑是:字符序列相同的String对象equals方法返回true。
正确答案:ABD
37. 操作account表和age_segment表,查询客户huangrong的年龄段,下列sql语句正确的是:
A. select real_name,birthdate,s.namefrom account a join age_segment son round((sysdate - birthdate)/365) between lowage and hiageand real_name = 'huangrong';
B. select real_name,birthdate,s.namefrom account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiageand real_name = 'huangrong';
C. select real_name,birthdate,s.namefrom account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiagewhere real_name = 'huangrong';
D. select real_name,birthdate,s.namefrom account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiage 正确答案:AC
38. 下面的方法属于StringBuffer的是:()。
A. size B. insert C. delete D. length 正确答案:BCD
39. 下列语句在建表的同时在c2,c3列上创建了唯一约束,其中正确的是:
A.
create table test(
c1 number constraint test_c1_pk primary key,
c2 number constraint test_c2_uk foreign key,
c3 number constraint test_c3_ukforeign key);
B.
create table test(
c1 number constraint test_c1_pk primary key,
c2 number , c3 number , constraint test_c3_uk foreign key(c2,c3)); C.
create table test(
c1 number constraint test_c1_pk primary key,
c2 number , c3 number , constraint test_c3_uk unique(c2,c3)); D.
create table test(
c1 number constraint test_c1_pk primary key, c2 number constraint test_c2_uk unique, c3 number constraint test_c3_uk unique); 正确答案:CD
40. 请看下列代码:
public class Key { private long id1; private long 1d2; // class Key methods }
程序员开发Key类,作为java.util.HashMap的key,那么Key应该覆盖的两个方法是: A. public int hashCode()
B. public boolean equals(Key k) C. public int compareTo(Object o) D. public boolean equals(Object o) 正确答案:AD
41. IO类实现了打开并读取一个文本文件,每次读取一行内容。将每行作为一个String字符串放入String数组里面返回。阅读代码并完成以下5题:
public class IO { public String[] read(InputStream in) throws IOException { String[] arr = new String[1]; String[] temp = null;
空白处1
String line =\ while ((空白处2) != null) { arr[arr.length - 1] = line; 空白处3 for (int i = 0; i < arr.length; i++) { temp[i] = arr[i]; } 空白处4 for (int i = 0; i < arr.length; i++) { arr[i] = temp[i]; }
}
arr = new String[temp.length - 1];
}
for (int i = 0; i < arr.length; i++) { arr[i] = temp[i]; } br.close(); return arr; }
public static void main(String[] args) throws IOException { String[] arr = new IO().read(new FileInputStream(\ System.out.println(arr); }
空白处5
System.out.println(str);
(1). 下列选项中,能填入空白处1的代码是( )
A. BufferedReader br = new BufferedReader(new InputStreamReader(in)); B. BufferedReader br = new BufferedReader(new FileReader(in)); C. FileReader br=new FileReader(in);
D. InputStreamReader br=new InputStreamReader(in); 正确答案:A
(2). 下列选项中,能填入空白处2的代码是( ) A. line = br.read(); B. line = br.readLine(); C. line = br.readString(); D. line = br.readUTF();
正确答案:B
(3). 下列选项中,能填入空白3的代码是( ) A. temp = new String[arr.length + 1]; B. temp = new String[arr.length]; C. temp = new String[arr.length-1]; D. temp = new String[arr.length/2];
正确答案:A
(4). 下列选项中,能填入空白处4的代码是( ) A. arr = new String[temp.length/2]; B. arr = new String[temp.length-1]; C. arr = new String[temp.length+1]; D. arr = new String[temp.length]; 正确答案:D
(5). 下列选项中,能填入空白处5的代码是( ) A. for (arr: String str) { B. for (arr[]:String str){ C. for (String str : arr) { D. for (String str : arr[]) { 正确答案:C
42. ScoreManager类实现了成绩管理系统。该系统有如下功能供选则:录入成绩,成绩列表,查询成绩,退出。当用户在控制台输入1,用户选择的功能为录入成绩;输入2,用户选择的功能为成绩列表;输入3,用户选择的功能为根据姓名查找成绩;输入4,退出。 ScoreManager类代码如下:
public class ScoreManager { public static void main(String[] args) { int numOfStudents = 10; //学生名字信息数组 String[] students = NameUtils.randomNames(numOfStudents); int[] scores = new int[numOfStudents];//学生成绩数组 //使用Scanner接收控制台的输入信息 空白处1 System.out.println(\欢迎进入成绩管理系统**********\ while (true) { System.out.println(\请选择功能:1——成绩录入,2——成绩列表,3——成绩查询,4——退出\ String c = scanner.next().trim(); if (\ System.out.println(\开始录入成绩: \ for (int i = 0; i < students.length; i++) { System.out.print((i + 1) + \学生姓名:\成绩:?\ //从控制台接收到学生成绩 空白处2 } System.out.println(\录入完毕。\ } else if (\ int avg = 0; for (int i = 0; i < scores.length; i++) { avg += scores[i]; } //计算学生的平均成绩 空白处3 System.out.println(StringUtils.rightPad(\编号\姓名\ + StringUtils.rightPad(\成绩\ System.out.println(StringUtils.repeat(\ for (int i = 0; i < students.length; i++) { System.out.println(StringUtils.rightPad(i + 1 + \10, \\StringUtils.rightPad(students[i], 10, \ } System.out.println(StringUtils.repeat(\
System.out.println(\平均成绩: \ }
else if (\ System.out.print(\请输入您要查询的学生姓名: \ String student = scanner.next().trim(); int i = 0; for (; i < students.length; i++) { //如果查找到某个学生的信息,退出当前循环 空白处4 }
if ( 空白处5 ) {
System.out.println((i + 1) + \学生姓名:\成绩:\scores[i]); } else { System.out.println(\对不起,找不到学员的信息。\ } } else if (\ System.out.println(\谢谢使用**********\ break; } } scanner.close(); } }
(1). 下列选项中,能填入空白处1的代码是( ) A. Scanner scanner = new Scanner(System.out); B. Scanner scanner = new Scanner(System.in);
C. Scanner scanner = new Scanner(new FileInputStream(System.in)); D. Scanner scanner = new Scanner(new FileOutputStream(System.out)); 正确答案:B
(2). 下列选项中,能填入空白处2的代码是( ) A. scores[i] = scanner.nextInt(); B. scores[i] = scanner.next();
C. scores[i] = scanner.nextDouble(); D. scores[i] = scanner.nextString(); 正确答案:A
(3). 下列选项中,能填入空白处3的代码是( ) A. avg *= scores.length; B. avg /= scores.length; C. avg *= scores.length-1; D. avg /= scores.length-1;
正确答案:B
(4). 下列选项中,能填入空白处4的代码是( )
A. if (student.equalsIgnoreCase(students[i-1])) { break; } B. if (student.equalsIgnoreCase(students[i])) { continue; } C. if (student.equalsIgnoreCase(students[i-1])) { continue; } D. if (student.equalsIgnoreCase(students[i])) { break; } 正确答案:D
(5). 下列选项中,能填入空白处5的代码是( ) A. scores.length < scores.length-1 B. scores.length < scores.length C. i < students.length D. i < students.length-1 正确答案:C
正在阅读:
Java基础强化练习题2(附答案)01-19
八上数学培优之全等三角形01-29
幼儿园教师培训计划(8篇)09-11
《成本会计》作业04-03
磁共振科各种制度改03-29
比赛的收获作文400字07-09
劝朋友失恋的话02-10
八年级上册第一课01-04
浅谈我院静脉药物配置中心的实践与体会05-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 练习题
- 强化
- 答案
- 基础
- Java
- 《安规》试题题库(变电专业)精简版
- 吕梁教育志
- 2011年国考申论真题含答案省级以上(含副省级)综合管理类 - 图文
- (沪科)九年级数学相似形测试卷
- 配电箱备用回路的合理设计 - secret - 图文
- 2010-2013年海南省中考语文试题 - 图文
- 2011年IVD市场回顾--国外篇 - 图文
- Zh106(升压变电电气设备安装工程单元工程质量评定表)
- 概率论分布列期望方差习题及答案
- 财务试题库
- 体积与容积导学案
- 高中音乐基本能力试题汇总
- 法天科技律伴律师介绍催款律师函样本
- 千方百计数据库表
- 外研版高一英语必修1精讲讲义(精)
- 儿童文学试卷
- 关于党风廉政建设责任制执行情况自查报告
- 大学英语B级考试应用文写作常考题型和范文
- 健康教育与答案
- 福建会计之家福州会计培训2015年新版第二三季电算化考试真题和考试软件