- 选择题(30*1)
- java程序中程序运行入口方法main的签名正确的有 _________ 。 AB
- public static void main(String args[])
- static public void main(String[] args)
- public void static main(String[] args)
- public void main(String args[])
- 以下能作为有效标识符的有 ________ 。ADF
- For
- boolean
- 23age
- _id
- my name
- $this_is_a_long_variable_name
- byte变量的取值范围是 _______ 。 B
- 0 - 65535
- -128 – 127
- -256 – 255
- 0 - 32767
- 在一个java原文件中,import, class, package语句的顺序是 ________ 。 F
- import class package
- class import package
- package class import
- import package class
- class package import
- package import class
- 对于构造方法(constructor)描述正确的有 _____ 。 AB
- 构造方法没有返回类型
- 构造方法一定是public的方法
- 如果我们没有显示定义构造方法,系统会提供一个缺省的
- 构造方法不能重载
- JAVA所定义的版本中包括 ______ 。ACE
- JAVA EE
- JAVA WE
- JAVA ME
- JAVA IE
- JAVA SE
- 下列说法正确的是 _____ 。AB
- JAVA程序的main方法必须写在类里面
- JAVA程序中可以有多个main方法
- JAVA程序中类名必须与文件名一样
- JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
- Java中,在如下所示的Test类中,共有 ____ 个构造方法。C
- java程序中程序运行入口方法main的签名正确的有 _________ 。 AB
public class Test{
private int x;
public Test(){
x=35;
}
public void Test(double f){
This.x=(int)f;
}
public Test(String s){}
}
-
-
- 0
- 1
- 2
- 3
- 变量命名规范说法正确的是 ____。B
- 变量由字母、下划线、数字、$符号随意组成;
- 变量不能以数字作为开头;
- A和a在java中是同一个变量;
- 不同类型的变量,可以起相同的名字;
- 下列有一个值不为true的表达式 ____C
- "john" = = "john"
- "john".equals("john")
- "john" = "john"
- "john".equals(new String("john"))
- 下列代码输出结果是 ____。B
-
int i = 10;
while ( i > 0 ){
i+=1;
if ( i = =10 ){
break;
}
}
- while循环执行10次
- 死循环
- 循环一次都不执行
- 循环执行一次
- 表达式(11+3*8)/4%3的值是 ____ 。D
- 31
- 0
- 1
- 2
- 不可以作为循环条件的表达式 ____ 。A
- i++;
- i>5;
- count = = i;
- 下面有关for循环的描述正确的是 ____。A
- for循环体语句中,可以包含多条语句,但要用大括号括起来
- for循环只能用于循环次数已经确定的情况
- 在for循环中,不能使用break语句跳出循环
- for循环是先执行循环体语句,后进行条件判断
- 下列 ____ 属于引用数据类型AC
- String
- char
- 用户自定义的Student类类型
- int
- 对象的特性在类中表示为变量,称为类的 ____ 。B
- 对象
- 属性
- 方法
- 数据类型
- 在java中下列关于自动类型转换说法正确的是 ____ 。A
- 基本数据类型和String相加结果一定是字符串型
- char类型和int类型相加结果一定是字符
- double类型可以自动转换为int
- char + int + double +"" 结果一定是double;
- 关于类的描叙正确的是 ____ 。BD
- 在类中定义的变量称为类的成员变量,在别的类中可以直接使用
- 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
- 使用别的类的方法仅仅需要引用方法的名字即可
- 一个类的实例方法使用该类的另一个方法时可以直接引用方法名
- 以下 ____ 代码,能够对数组正确初始化(或者是默认初始化)。D
- int[] a;
- a = {1, 2, 3, 4, 5};
- int[] a = new int[5]{1, 2, 3, 4, 5};
- int[] a = new int[5];
- score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是 ____ 。B
- 表达式(11+3*8)/4%3的值是 ____ 。D
int temp = score[0];
for (int index = 1;index < 5;index++) {
if (temp>score[index] ) {
temp = score[index];
}
}
-
-
- 求最大数
- 求最小数
- 找到数组最后一个元素
- 编译出错
- 下面关于数组的说法中,错误的是 ____ 。BC
- 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为0
- 数组可以任意改变元素个数
- 数组必须先声明并创建,然后才能使用
- 数组本身是一个对象
- 在Java中,关于构造方法,下列说法错误的是 ____ 。C
- 构造方法的名称必须与类名相同
- 构造方法可以带参数
- 构造方法不可以重载
- 构造方法绝对不能有返回值
- 执行下面代码结果( )D
-
for(int i=0; ; ){
System.out.println("这是 "+i);
break;
}
-
-
- 语法错误,缺少表达式2和表达式3
- 死循环
- 程序什么都不输出
- 输出:这是0
- 在Java中,下面对于构造函数的描述错误的是 ____ 。BC
- 类不一定要显式定义构造函数
- 构造函数的返回类型是void
- 如果构造函数不带任何参数,那么构造函数的名称和类名可以不同
- 一个类可以定义多个构造函数
- 在Java语言中,下列关于类的继承的描述,正确的是 ____ 。B
- 一个类可以继承多个父类
- 一个类可以具有多个子类
- 子类可以使用父类的所有方法
- 子类一定比父类有更多的成员方法
- 在Java接口中,下列选项中有效的方法声明是 ____ 。AB
- public void aMethod();
- void aMethod();
- protected void aMethod();
- private void aMethod();
- 下列选项中关于Java中封装的说法错误的是 _____ 。D
- 封装就是将属性私有化,提供共有的方法访问私有属性
- 属性的访问方法包括setter方法和getter方法
- setter方法用于赋值,getter方法用于取值
- 包含属性的类都必须封装属性,否则无法通过编译
- Java中,如果类C是类B的子类,类B是类A的子类,下面描述正确的 ____。A
- C不仅继承了B中的成员,同样也继承了A中的成员
- C只继承了B中的成员
- C只继承了A中的成员
- C不能继承A或B中的成员
- 分析选项中关于Java中this关键字的说法正确的是( )A
- this关键字是在对象内部指代自身的引用
- this关键字可以在类中的任何位置使用
- this关键字和类关联,而不是和特定的对象关联
- 同一个类的不同对象共用一个this
- 以下关于抽象类和接口的说法错误的是( )CDE
- 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。
- 在抽象类中可以没有抽象方法
- 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现
- 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
- 接口中的方法都必须加上public关键字。
-
- 简答题(10*3=30)
- Java的运行机制是什么?
1.编写程序2.编译程序3.运行程序
-
- 变量和常量有什么区别?请分别写出声明语法
常量指的是在程序运行期间不变的数据,变量是在程序运行的过程中存储可以变化的数据
-
- 以int为例,写出变量的四种声明方式(1.先声明,后赋值 2.声明并赋值 3.先声明多个,后赋值 4.声明多个并赋值)
先声明,后赋值:int a; a = 5;
声明并赋值:int a = 5;
先声明多个,后赋值:int a = 18,b = 10,c =5;
声明多个并赋值:int a = 5;
int b = 6;
a = a + b;
b = a - b;
-
- &和&&有什么区别?
&表示当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,只要有一方 为 false,则结果为 false。&&还具有短路的功能,即如果第一个表达式为 false,则不再计算 第二个表达式。
-
- break和continue有什么作用?
都是用来控制循环结束的,主要作用是停止循环
-
- 一维数组有几种创建方式,请至少写出两种(int)
int[] arr = new int[6];
int i = arr[5];
System.out.println(i);
int[] i={1,2,3,4};
-
- this关键字和super关键字有什么区别?
this代表的是本类对象的引用,可以单独使用
super代表的是父类存储空间的标识(可以理解成父类的引用,可以操作父类的成员),不可以单独使 用,必须带一个.
-
- Java面向对象的三大特点是什么?
封装、继承、多态
-
- 什么是继承?
继承的本质是对某一批类的抽象,继承是类和类之间的一种关系
-
- 请简述你对多态的理解
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。
- 编程题(5+10+10+10=35)
- 打印九九乘法表
-
- 数组{1,3,5,7}和{2,4,6,8},要求合并数组,并升序排列
-
- 编写一个猜数字的游戏1-100(程序运行一次,猜错继续,猜中结束-递归/循环)
-
- 编写程序,模拟饲养员喂动物,体现多态
- 智力题(5)
有一个瓶子,一开始放进去一个虫子,虫子每过2秒分裂,一分为二,过两分钟后装满瓶子,如果一开始放进去两个虫子,请问多长时间装满虫子?