java基础知识
更新时间:2024-04-25 20:47:01 阅读量: 综合文库 文档下载
一、 单项选择题
1. 下列正确的Java的标识符是:( A )。
A. username B. %passwd C. 3d_game D. class 2. 分析下面的程序段,程序的运行结果是: ( D ) public class Example{
public static void main(String args[] ){ int l=0; do{
System.out.println(“Doing it for l is:”+l); }while(--l>0); } }
A. Doing it for l is 3 B. Doing it for l is 1 C. Doing it for l is 2 D. Doing it for l is 0 3. 类的实例方法所表示的是( C )。
A. 那个类的属性 B. 那个类的行为 C.从那个类创建的对象的行为 D都不对 4. main方法是Java Application程序执行的入口点,合法的定义是( B )。
A.public static void main( )
B.public static void main( String args[] ) C.public static int main(String [] arg ) D.public void main(String arg[] )
5. 设int x;下面哪条命令检验x的值是否等于100? ( B )
A.x.equals(100) B.x==100 C.x=100 D.以上所可以
6. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀即:AB.method( )就可以调用它,该方法头的形式为( A )。
A.static void method( ) B.public void method( )
C.final void method( ) D.abstract void method( ) 7. 设有下面两个类的定义:
class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){
} return score;} } 问:类Person和类Student的关系是( C )。
A. 包含关系 B. 关联关系
C. 继承关系 D. 无关系,上述类定义有语法错误 8. 在Java中,执行下面的语句后,c的值为( D )。 String s= \
char c=s.charAt(6);
A. \ B. \ C. 'c ' D. ’a ' 9. 下面哪个是java语言中的关键字?( B )
A. sizeof B.abstract C. NULL D. Native 10. 设int a=3.b=5,分析表达式a++-(--b)的值( A )
A. -1
B. 0
C. 1 D. 都不对
11. 设int x=4,int y=5,int z=6,boolean f=true 逻辑表达式x+y>z&&y==x和f||y+z
A.false fales B. false true C. true false D. true true 12. 若a的值为3时,下列程序段被执行后,c的值是多少?( C ) c = 1;
if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A. 1 B. 2 C. 3 D. 4 13. 执行下列代码后, String[] s=new String[10]; 哪个结论是正确的( B )
A. s[10]为\B. s[9]为 null; C. s[0]为未定义 D. s.length 为11 14. 在Java类中,使用以下( D )声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100;
C. public static int MAX = 100; D. public static final int MAX = 100; 15. 给定Java代码如下所示,在横线处新增下列( A C )方法,是对cal方法的重载。
public class Test{
public void cal(int x, int y, int z) {}
}
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 void cal(int z, int y, int x){ }
16. 在Java中,下面对于构造函数的描述正确的是( D )。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void
C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 17. 下面Java代码的运行结果是( C )。
class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10; sex = \雄\ System.out.println(\执行构造方法。\ } public void print() { System.out.println(\企鹅的名字是\,健康值是\,性别是\\。\ } public static void main(String[] args) { Penguin pgn = new Penguin(); pgn.print(); } }
A. 企鹅的名字是null,健康值是10,性别是雄。 B. 执行构造方法。
企鹅的名字是null,健康值是0,性别是null。 C. 企鹅的名字是null,健康值是0,性别是null。 D. 执行构造方法。
企鹅的名字是null,健康值是10,性别是雄。 18. 下列选项中关于Java中封装的说法错误的是( D )。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括setter方法和getter方法 C. setter方法用于赋值、getter方法用于取值 D. 类的属性必须进行封装,否则无法通过编译
19. 使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是( C )。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性
C. 在赋值和取值方法中,加入对属性的存取限制
D. 编写main方法创建对象,调用赋值和取值方法访问属性
20. 分析如下所示的Java代码,其中this关键字的意思是( B )。
public class Test { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; //this关键字所在的行 } }
A. name属性 B. Test类的内部指代自身的引用
C. 指所在的方法 D. Test类的对象引用Test类的其他对象21. 在Java中,以下程序编译运行后的输出结果为( D )。
public class Test { int x, y;
Test(int x, int y) { this.x = x; this.y = y; }
public static void main(String[] args) { Test pt1, pt2;
pt1 = new Test(3, 3); pt2 = new Test(4, 4);
System.out.print(pt1.x + pt2.x); } }
A. 6 B. 3 4 C. 8 D. 7
22. 给定一个Java程序Test.java的代码如下所示,编译时,会出现以下( A class Parent { public int count() { // 第1行 return 0; } }
public class Test extends Parent { private int i; public int count() { // 第2行 return i % 9; // 第3行 } }
A. 编译通过 B. 在第1行引发编译错误 C. 在第2行引发编译错误 D. 在第3行引发编译错误
)情况。23. 给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是(B )。
class Parent1 {
Parent1(String s){
System.out.println(s); } }
class Parent2 extends Parent1{ Parent2(){
System.out.println(\ } }
public class Child extends Parent2 {
public static void main(String[] args) { Child child = new Child(); } }
A. 编译错误:没有找到构造器Child() B. 编译错误:没有找到构造器Parent1() C. 正确运行,没有输出值
D. 正确运行,输出结果为:parent2
24. 给定Java程序Child.java的代码如下所示,则编译运行该类的结果是(class Parent { Parent() {
System.out.println(\ } }
public class Child extends Parent { Child(String s) {
System.out.println(s); }
public static void main(String[] args) { Child child = new Child(\ } }
A. 输出:child B. 输出:child parent
C. 输出:parent child D. 编译错误
25. 分析如下所示的Java代码,则选项中的说法正确的是( C )。
class Parent{ public String name; public Parent(String pName){ this.name = pName; } }
public class Test extends Parent { //1 public Test(String Name){ //2 name=\ super(\ } }
)。
C A. 第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同 B. 第3行错误,应使用super关键字调用父类的name属性,改为super.name=\ C. 第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行 D. 程序编译通过,无错误
26. 以下关于Object类说法错误的是( B )。
A. 一切类都直接或间接继承自Object类 B. 接口亦继承Object类
C. Object类中定义了toString()方法 D. Object类在java.lang包中) 27. 在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了( B )。 A. 子类重写父类的方法 B. 子类重载同一个方法
C. 定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参 数传入方法
D. 运行时,根据实际创建的对象类型动态决定使用哪个方法 28. 给定Java代码如下所示,则编译运行后,输出结果是( C )。
class Parent {
public void count() {
System.out.println(10%3); } }
public class Child extends Parent{ public void count() {
System.out.println(10/3); }
public static void main(String args[]) { Parent p = new Child(); p.count(); } }
A. 1 B. 1.0 C. 3 D. 3.3333333333333335 29. 分析如下Java代码,如果在控制台上输出“B类的test()方法”,则在横线处应填入(D )。
class A {
public void test() {
System.out.println(\类的test()方法\ } }
class B extends A {
public void test() {
System.out.println(\类的test()方法\ }
public static void main(String args[]) { } }
A. A a = new B(); B. A a = new A(); a.test(); a.test();
C. B b = new A(); D. B b = new B(); b.test(); b.test(); 30. 编译运行如下Java代码,输出结果是( )。
class Base { public void method(){ System.out.print (\
} }
class Child extends Base{ public void methodB(){ System.out.print (\ } }
class Sample { public static void main(String[] args) { Base base= new Child(); base.methodB(); } }
A. Base method B. Child methodB C. Base method Child MethodB D. 编译错误 31. 在Java接口中定义常量,下面语法错误的是( D )。
A. static int MALE = 1; B. final int MALE = 1; C. int MALE = 1; D. private int MALE = 1; 32. 在Java接口中,下列选项中属于有效的方法声明是( AB )。 A. public void aMethod(); B. void aMethod();
C. void aMethod(){} D. private void aMethod();
33. 给定如下Java程序代码,在横线处加入( AB )语句,可以使这段代码编译通过。
interface Parent{
public int count(int i); }
public class Test implements Parent { public int count(int i){ return i % 9; }
public static void main(String[] args){ ________________
int i = p.count(20); } }
A. Test p = new Test(); B. Parent p = new Test(); C. Parent p = new Parent(); D. Test p = new Parent(); 34. 给定如下Java代码,其中第( D )行代码有错误。
import java.util.*; public class MapTest { public static void main(String[] args) { List pList = new ArrayList(); pList.add(\第五行 pList.add(\第六行 for (int i = 0; i < pList.size(); i++) { //第七行 String str = pList.get(i); //第八行 System.out.print(str); } } }
A. 五 B. 六 C. 七 D. 八 35. 给定如下Java代码,可以填入横线处的代码是( D )。
import java.util.*; public class Test { public static void main(String[] args) { ________
}
}
list.addLast(\
A. List list = new ArrayList(); B. List list = new List();
C. ArrayList list = new ArrayList(); D. LinkedList list = new LinkedList(); 36. 在Java中,( A )类的对象可被用作堆栈或者队列。
A. LinkedList B. ArrayList C. Collection 37. 阅读下面的Java代码,运行结果描述正确的是( C )。
import java.util.*; public class TestMap{
public statci void main(String[] args){ Map map=new HashMap( ); map.put(“first”,”football”); map.put(“first”,”basketball”); System.out.print(map.get(“first”)); } }
D. HashMap
A. 编译时发生错误 B. 编译通过,运行时发生错误 C. 正确运行,显示basketball D. 正确运行,显示football
38. 给定如下Java代码,实现文件复制功能,其中第( C )行代码有错误。
public class TestIO { public static void main(String[] args) throws Exception { Reader fr = new FileReader(\第三行 Writer fw = new FileWriter(\ char ch[] = new char[1024]; int length = fr.read(ch);//第六行 while (length != -1) { fw.write(ch); //第八行 length = fr.read(ch); } if (null != fr) fr.close(); //第十三行 if (null != fw) fw.close(); } }
A. 三 B. 六 C. 八 D. 十三
二、判断题(错的必须说明理由,否则不得分)
1. 使用package语句可以创建包,创建包的语句应该放在程序的第一句。 ( ) 2. 如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。( ) 3. 程序可以用字符‘*’替代TextField中的每个字符的显示,使不显示具体内容。( ) 4. 一个Java Application程序中可以有一个或多个类,但有且只能有一个包含main方法的主类。( )
5. 有的类定义时可以不定义构造函数,所以构造函数不是必须的。( ) 6. 使用方法length( )可以获得字符串或数组的长度。( )
7. Java是一种计算机语言,只能用来编写嵌入在web网页中运行的Java小程序。( ) 8. 所有的组件都具有三个特性,即属性、方法、事件。( ) 9. 如果程序运行到try块中的某个语句产生了异常,则流程将跳过try块后面的语句,直
接进入try块后面的catch块;如果try块中没有语句产生异常,则在执行完try块中的全部语句后,再进入try块后面的catch块。( ) 10. 判断下面语句组的正确性。( )
int array[]=new int[10]; array[10]=10;
11. Class1类的属性被private修饰符修饰为私有变量,所以方法不能访问它。( ) 12. 当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。( )
13. 使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器( )
14. 一个Java Application程序中可以有一个或多个类,但有且只能有一个包含main方法的主类。( )
15. 所有的鼠标事件都由实现了MouseListener监听接口的监听者来外理。( ) 16. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err( )
17. 使用方法length( )可以获得字符串或数组的长度。( )
18. Java是一种计算机语言,只能用来编写嵌入在web网页中运行的Java小程序。( ) 19. 如果程序运行到try块中的某个语句产生了异常,则流程将跳过try块后面的语句,直接进入try块后面的catch块;如果try块中没有语句产生异常,则在执行完try块中的全部语句后,再进入try块后面的catch块。( )
20. 文件读写时可能产生输入输出异常,所以需要把完成这些操作的语句放在try-catch结构中。( )
三、填空题
1. JAVA源程序的文件名要求和类名要 。 2. Java程序严格区分 。 3. 方法是JAVA程序的入口。
4. '\\n '的作用是 , '\\t '的作用是 。 5. java中使用关键字 __ ____来定义字符串变量。 6. java中int型变量的取值范围是_____________。
7. 用_____ ______修饰的成员变量和方法被称为私有变量和私有方法。 8. 在同一个类中,同名的不同方法共存的情况称为 。
9. 声明并创建一个数组X包含1.3.5.7四个元素: 。 10. 面向对象三大特征是: 、 、 。 11. java中实现逻辑与的逻辑运算符是___________。 12. java中的赋值运算符是_________。
13. 我们可以使用______ ______语句来引入所需要的类。 14. java中数组的下标是从_______开始的。
15. 使用String类中的length()方法可以获得______ ___________________。
16. 一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令: 、 。 17. Java的源程序文件的扩展名为 ;Java 的字节码文件的扩展名为 。 18. 设x = 2 ,则表达式 ( x + + ) * 3 的值是 。
四、简答题
1. 如何声明变量、给变量赋值和使用变量?
答:
2. Java中常用的数据类型有哪些?
答:
3. 简述面向对象和基于对象的区别。
答:
4. 算术运算符中“/”和“%”的区别是什么?
答:
5. 数组有哪些特点?
答:
6. 使用数组的四个步骤?
答:
7. 如何实现数组的排序?
答:
8. 什么是类?什么是对象?
答:
9. 如何创建类的对象?
答:
10. Collection、List、Set、Map接口的联系和区别有哪些?
答:
11. ArrayList和LinkedList有什么异同之处?
答:
12. 有哪些遍历集合的方法?
答:
13. 为什么要引入泛型集合?
答:
14. 关键字this和关键字super的特殊作用。
答:
15. 请叙述java中方法重载的含义。
答:
五、编程题
要求:代码规范,有注释,能正确运行出结果,具体评分规则: (1)有标准类名,1分。 (2)定义合适变量,1分 (3)使用main方法,1分。 (4)有关键代码注释,1分。 (5)功能代码,5分 (6)标点符号规范,1分
1. 从控制台输入两个整数数,输出两个数加、减、乘、除、取余的结果。
2. 编写程序,输出斐波那契数列的前10个数。运行结果如图1所示。 提示:斐波那契数列数字排列规律为:1,1,2,3,5,8,13,21??
图1 斐波那契数列运行结果
3. 从控制台输入任意4位整数,输出该数字的各位数字之和。
4. 实现幸运抽奖
抽奖规则:输入一个2位整数,如果等于产生的随机数字即为幸运中奖。
5. 打印倒直角三角形
要求从控制台输入直角三角形的高度,每行“+”符号的数目从下至上依次为1、2、3、4?
6.编写一个程序,由系统随机产生或由用户输入范围在0和255之间的三个整数,把三个整数分别作为R.G.B三种配色的分量配成一个前景色,然后使用该颜色输出彩色字符串“这是彩色的世界”。
5. 打印倒直角三角形
要求从控制台输入直角三角形的高度,每行“+”符号的数目从下至上依次为1、2、3、4?
6.编写一个程序,由系统随机产生或由用户输入范围在0和255之间的三个整数,把三个整数分别作为R.G.B三种配色的分量配成一个前景色,然后使用该颜色输出彩色字符串“这是彩色的世界”。
正在阅读:
java基础知识04-25
八年级科学下册2-5表示元素的符号2同步练习新版浙教版04-14
描写黑夜的优美散文语句03-30
专题三:动量和机械能综合10-30
学习习总书记系列讲话精神发言材料--word范文资料05-02
玻璃钢售楼部艺术品雕塑04-28
1质量手册范本文件 - 图文05-16
2017-2022年中国网球市场行情动态研究报告(目录) - 图文09-18
趣味小谜语02-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 基础知识
- java
- 高河煤矿600万t新井通风设计
- 足球D级教练员实践课教案--改善头顶球的进攻能力
- 关爱生命-急救与自救技能习题4
- 诚实守信,立身之本 - 尧天叶建峰
- 钦州市2007-2008学年度中学、职业学校三好学生”、
- 成本会计学试卷A
- 青年警察心理健康调研报告
- I7-6400T ES QHQG超频测试 - 图文
- 方程的根与函数的零点教学设计修改稿(刘彩凤)
- 基于FPGA的DDR SDRAM控制器的设计
- 高三化学一轮复习的策略和方法
- 广告心理学 案例
- 护理研究 必做题
- 苏政发3号 江苏省人民政府关于进一步深化我省国有企业改革
- 青岛海尔偿债能力状况分析
- 初中英语语法及考点总复习(附专练及答案)
- 开服装店 教你如何进货如何卖货
- 2016年军转干部最关心的若干问题解读(仅供参考)
- 英语必修四所有黑体单词
- 2016军事理论课作业答案