admin 管理员组文章数量: 887039
2024年2月18日发(作者:oracle触发器tirgger)
在Java中,()关键字用来终止循环语句。
ue
s
正确答案:B
此题目考查的是Java中Java中的关键字。 return关键字在java中用于结束方法的执行,返回结果给调用方,所以选项A是错误的。
break关键字可以用在switch语句中也可以用在循环语句中,用在switch语句中用于跳出switch,用在循环语句中用于跳出循环。所以选项B是正确的。 continue关键字用于跳过循环体中剩余语句而进入下一次循环,所以选项C是错误的。 extends关键字是用于继承的,所以选项D是错误的。
下面( )赋值语句不会出现编译错误。
f=3.9;
c="z";
b=257;
i=10;
正确答案:D
本题考查几种数据类型字面量值 选项A,错误,float类型变量赋值必须以f或F结尾,否则java中,3.9为double 类型,会有损失精度的编译错误 选项B,错误,char类型的字面量值使用''(单引号),不是双引号 选项C,错误,byte类型取值范围是127~-128 选项D,正确,整数默认类型为int类型
在java中,关于变量说法错误的是()。
A.实例变量是类的成员变量
B.实例变量用关键字static修饰
C.方法中定义的局部变量在方法被执行时创建
D.局部变量在使用之前必须被初始化
正确答案:B
这里考的是实例变量和局部变量。 在java中,成员变量分两种,一种为实例变量,一种为静态变量。 实例变量定义在类中,是类的成员变量,在创建对象时存储在堆中,是属于对象的,所以选项A是正确的。 静态变量定义在类中,由static修饰,与类的信息一并存储在方法区中,所以选项B是错误的。 Java中的局部变量是定义在方法中的,当方法被调用的时候存储在栈中,没有默认值,必须自行设定初始值,所以选项C和选项D是正确的。
下列程序输出结果是( )。
public class Test {
static int i = 0;
public int aMethod() {
i++; return i;
}
public static void main(String args[]) {
Test test = new Test();
d();
int j = d();
n(j);
Test test1 = new Test();
n(test1.i);
} }
A.2 2
B.2 0
C.0 2
D.1 2
正确答案:A
本题考查static修饰成员变量。 用static修饰的成员变量不属于对象的数据结构 static变量是属于类的变量,通常可以通过类名来引用static成员。 static成员变量和类的信息一起存储在方法区,而不是在堆中,一个类的static 成员变量只有“一份”,无论该类创建了多少个对象。 本题目中,调用了2次aMethod()方法,成员变量i自增了2次, 所以j的值为2,输出2,而因为i是static成员变量,所有对象都共享 i=2的值,所以也输出2 选项A正确
分析如下Java代码,如果想在控制台上输出"B类的test()方法", 则在1处应填入( )。
class A {
public void test() { n("A类的test()方法");
}
}
class B extends A {
public void test() { n("B类的test()方法");
}
public static void main(String args[])
{ // 1 }
}
A.A a = new B(); ();
B.A a = new A(); ();
C.B b = new A(); ();
();
正确答案:A
本题考查面向对象的特性之一多态。 实现多态的条件是继承和重写,定义父类型的引用指向子类的对象 本题中类B继承了类A,子类中重写了父类的方法test()。 选项A,在继承和重写的前提下,父类A类型的引用变量a指向了子类 B创建的对象。(),会调用子类中的test()方法,会满足题目要求 选项A正确。
关于以下应用程序的说明,正确的是( )。
class StaticClass {
static int x=10;
static { x+=5;}
static { x/=3;}
public static void main(String[] args) {
n("x=" + x); }
}
A.4行与9行不能通过编译,因为缺少方法名和返回类型
B.9行不能通过编译,因为只能有一个静态初始化器
C.编译通过,执行结果为:x=5
D.编译通过,执行结果为:x=3
正确答案:C
本题考查静态代码块 类中可以有多个static语句块,当类加载的时候依次执行 运行该应用程序的时候,先执行static{x+=5;},此时x值是15. 然后执行static{x/=3;},计算结果为x=15/3,结果为5 所以本题选项C正确。
下列选项中不会出现语法编译错误的是:()。
l = 999999;
l = 9999999999L;
b = 90+40;
i = 'A'+'中';
正确答案:ABD
A选项999999没有超出int类型取值范围,语法合法 B选项9999999999超出int类型取值范围,必须以字母L结尾 C选项90+40超出byte类型最大取值范围127,编译会报错 D选项两个char类型使用加的运算,使用编码值,结果为int类型
Java中,下列说法正确的是( )。
A.私有方法不能被重载
B.静态方法能被重载
C.公有方法被重写之后,可以使用private修饰。
D.一个重写的方法不能抛出在父类中不被检查的异常。
正确答案:BD
本题考查Java中方法的重载和重写。 类中的方法,任意方法都可以被重载。只要满足方法名相同,参数不同,即可 实现重载。 选项A错误。 选项B正确。 选项C错误,子类重写父类的方法,子类的方法访问修饰符的访问权限必须大于或等于父类的访问修饰符的权限。 选项D正确,子类重写父类的方法,子类的方法抛出的异常类型必须是父类方法抛出异常类型或其子类型。如果父类方法没有定义异常,子类重写的方法也不可以抛出异常。
下列对java中关键字final的说法正确的是( )。
A.关键字final可以修饰类,方法,变量。
修饰的类,称为final类,类中方法必须使用final修饰
C.类中被final修饰的方法,在其子类中不能被重写
D.类中的变量如果使用static和final修饰,必须声明同时初始化,不可被改变
正确答案:ACD
本题考查final的用法 * final可以修饰类,方法,和变量 * final修饰方法,不可以被重写 * final修饰类,该类不能被继承 * final修饰的变量,为常量,不可改变 选项ACD正确。 选项B错误,final的类中,没有对方法是否final的限定。
如下变量的定义,double d = 1.5;int x=1,y=2,z=3;则正确的switch语句是( )
((int)d){ case 1:n(x);break; case 2:n(y);break; }
(d){ case 1.5:n(x);break; case 2.0:n(y);break; }
(x+y){ case 1:n(x);break; case 2:n(y);break; }
(x+y){ case 1:n(x);break; case z:n(y);break; }
正确答案:AC
本题考查switch结构的用法 switch语句中,表达式结果类型为byte,short,int,char,jdk1.7之后支持String类型 本题中选项B,变量d类型是double类型,错误。 case后必须使用常量,选项D中使用变量z,作为case选项,错误 选项A,将d强制转换成int类型符合语法要求 正确 选项C, x+y结果为int类型,case后都使用常量,满足语法要求,正确 所以正确答案AC
下列程序中不会出现编译错误的是( )
s1 = 3; short s2 = 5; s1 += s2;
s1 = 3; short s2 = 5; s1 = s1+s2;
s1 = 3; short s2 = 5; s1 = s1 * s2;
s1 = 3; short s2 = 5; s1 *= s2 ;
正确答案:AD
本题考查扩展赋值运算符。 Java的扩展赋值运算符,+=,-=,*=,/=, %= x+=y等价于x=x+y,其他同理。 除了以上语法现象外,使用扩展赋值运算符运算的时候,内部隐含强制转换。 如果出现需要类型转换,扩展赋值运算符直接进行转换。 选项B C都出现相同错误,计算结果都是int类型,都需要从int类型强制转换到short类型 选项AD都使用扩展赋值运算符运算,自动强制转换 AD正确
下列选项的数据类型中,能存储汉字“达”的是:()。
正确答案:AD
解析:本题考查字符类型。字符类型事实上是一个16位无符号整数,这个整数对应字符的Unicode字符集编码。本题中,int类型和char类型都可以存储汉字“达”。
关于下列代码说法正确的是:()。
public class Storm {
public void find() {
}
public String find() {
return "find";
}
public double find(int x) {
return 2.0;
}
}
A.无编译错误
B.代码 public String find() { 行,出现编译错误
C.代码 public double find(int x) {行,出现编译错误
D.代码 return "find";行处出现编译错误
正确答案:B
解析:本题考查方法重载。 在Java语言中,允许多个方法的名称相同,但参数列表不同,称之为方法的重载(overload)。编译器在编译时会根据其参数的不同,绑定到不同的方法。在这里需要强调的是和返回值无关。 本题中,方法 public void find() {}和 方法public
String find() {}参数列表相同,不符合方法重载的定义,会在两个方法声明处出现编译错误。
请看下列代码:
class ClassA {}
class ClassB extends ClassA {}
class ClassC extends ClassA {}
public class Test{
public static void main(String[] args) {
ClassA p0 = new ClassA();
ClassB p1 = new ClassB();
ClassC p2 = new ClassC();
ClassA p3 = new ClassB();
ClassA p4 = new ClassC();
<插入代码>
}
}
下列选项中放置在<插入代码>处,使程序编译正确的是:()。
A.p0 = p1;
B.p1 =p2;
C.p2 = p4;
D.p2 = (ClassC)p1;
正确答案:A
解析:本题考查向上造型。一个类的对象可以向上造型的类型有: a.父类的类型 b.其实现的接口类型 Java编译器根据类型检查调用方法是否匹配。 本题中, A选项,ClassB是ClassA的子类,p0是ClassA的对象,p1是ClassB的对象,p0=p1,符合一个子类的对象可以向上造型为父类的类型,故A选项正确。 B选项,p1是ClassB的对象,p2是ClassC的对象,ClassB和ClassC不存在继承关系,p1=p2;不成立,故选项B不正确。 C选项,p2是ClassC的对象,p4的类型是ClassA,p4指向的实例是ClassC的对象,ClassC继承自ClassA,故p4=p2成立,符合一个子类的对象可以向上造型为父类的类型,但是返回来p2=p4;则不成立。 D选项,p1是ClassB的对象,p2是ClassC的对象,ClassB和ClassC不存在继承关系,故p2 = (ClassC)p1;不成立,D选项不正确。
请看下列代码编译和运行的结果是:()。
public class Teacher {
private String name="sun";
public static void main(String[] args) {
Teacher[] teachers=new Teacher[2];
n(teachers[0].name);
n();
}
}
2
2
1
D.运行时抛出NullPointerException异常
正确答案:D
解析:本题考查引用类型数组。 所谓引用类型数组,是数组的元素不是基本类型,而是引用类型。引用类型数组的初始化和基本类型数组的初始化方式一样,只不过元素是引用而已。但需要注意: 基本类型数组元素的默认初始值为具体值(例如,int类型数组的元素默认初始值为0);而引用数组创建后,其元素的默认值为null, 不创建元素对象。 本题中,Teacher类型作为数组的元素的类型,数组teachers创建后,数组teachers中的每一个元素的值为null,即数组元素为{null,null},例如题目中的teachers[0]这个数组元素的默认
值为null,通过它去访问属性或方法会抛出NullPointerException异常。
下列代码编译和运行的结果是:()。
class A {
public void start() {
n("A Start");
}
}
public class B extends A {
public void start() {
n("B Start");
}
public static void main(String[] args) {
((A) new B()).start();
}
}
A.输出:A Start
B.输出:B Start
C.输出:A Start B Start
D.编译错误
正确答案:B
解析:本题考查方法的重写。 子类可以重写(覆盖)继承自父类的方法,即方法名和参数列表与父类的方法相同;子类利用重写修改父类的方法。当子类对象的重写方法被调用时(无论是通过子类的引用调用还是通过父类的引用调用),运行的是子类的重写修改后的版本。
关于下列代码说法正确的是:()。
public interface A {
public void doSomething(String thing);
}
interface B {
}
interface C extends A, B {}
interface D {
public void doIt(String thing);
}
class AImpl implements C ,D{
public void doSomething(String msg) {}
public void doIt(String thing) {}
}
A.所有类和接口都编译成功
B.接口A编译失败
C.类AImpl编译失败
D.接口C编译失败
正确答案:A
解析:本题考查接口的使用。 “实现接口”与“继承父类”不同,一个类可以实现多个接口,实现的接口直接用逗号分隔。并且,具体类需要实现这些接口中定义的所有抽象方法; 接口间可以存在继承关系,一个接口可以通过extends关键字继承另外多个接口。子接口继承了父接口中定义的所有方法。
在 Java 中,关于 final 关键字的说法正确的是:()。
A.如果修饰局部变量,必须定义时初始化
B.如果修饰类,则该类只能被一个子类继承
C.如果修饰方法,则该方法不能在子类中被覆盖
D.如果修饰方法,则该方法所在的类不能被继承
正确答案:C
解析:本题考查final关键字的用法。final关键字的用法如下: 关键字修饰的类不可以被继承。 关键字修饰的方法不可以在子类中被重写。 关键字修饰成员变量,意为初始化后不可改变。该成员变量必需在初始化时赋值,对象一旦创建即不可改变。可以在声明时初始化或在构造方法中进行初始化。
关于下列代码说法正确的是:()。
public class Cell {
private final int id;
public Cell(int id) {
= id;
}
public void updateId(int id) {
= id;
}
public static void main(String[] args) {
Cell cell = new Cell(1001);
Id(1002);
n();
}
}
A.编译错误
B.运行时异常抛出
C.运行后,cell对象属性id的值没有改变,仍然是1001
D.运行后,cell对象属性id的值改变成新的值1002
正确答案:A
解析:本题考查final关键字修饰成员变量。 final关键字修饰成员变量,意为初始化后不可改变。该成员变量必需在初始化。可以在声明时初始化或在构造方法中进行初始化。 本题中,首先,在构造方法中给final修饰的成员变量id初始化;然后又在updateId方法中改变id的值,这就违反了final修饰成员变量的语法,因此会在重新为id赋值处出现编译错误。
请看下列代码:
public class Tetromino {
protected int move(int x) {
return 0;
}
}
class T extends Tetromino {
<插入代码>
}
在<插入代码>处填入选项中的代码,使T类没有编译错误的是:()。
int move(int x) { return 0; }
e int move(int x) { return 0; }
e int move(long x) { return 0; }
ted long move(int x) { return 0; }
正确答案:AC
解析:本题考查方法的重写和重载语法。 子类可以重写(覆盖)父类的方法。方法的重写要遵循“两同两小一大”规则,“两同”即方法名相同,形参列表相同;“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应比父类方法的访问范围更大或相等。 在Java语言中,允许多个方法的名称相同,但参数列表不同,称之为方法的重载。 选项A,符合重写的定义,A选项正确。 选项B,不符合重写也不符合重载的语法,B选项错误。 选项C,符合重载的语法,子类T继承父类Tetromino的 protected int move(int x) 方法,与C选择属于重载,C选择正确。 选项D,不符合重写也不符合重载的语法,D选项错误。
请看下列代码:
public class Foo {
static void alpha() { /* more code here */}
void beta() { /* more code here */}
}
下列说法正确的是:()。
()是调用beta方法的正确方式
()是调用alpha方法的正确方式
方法可以直接调用alpha方法
方法可以直接调用beta方法
正确答案:BC
解析:本题考查static修饰方法的用法。 static修饰的方法不需要针对某些对象进行操作,其运行结果仅仅与输入的参数有关。调用时直接用类名引用。由于static在调用时没有当前的对象this,因此在static方法中不能对非static成员(当前对象的属性和方法)进行访问,但是非static方法可以访问static成员。
请看下列代码:
public class Line {
private Point p;
public Line() {
<插入代码>
}
public class Point { }
}
在<插入代码>处,需要创建Point类的对象,下列选项正确的是:()。
.p = new Point();
B.p = Point();
C.p =new Point();
D.p = Point();
正确答案:CD
解析:考查如何创建成员内部类的对象。 一般情况下,内部类对象会在其所在的外部类对象中创建(构造方法或其他方法);内部类对象中会有一个隐式的引用指向创建它的外部类对象。 成员内部类, 必须使用“外部类的实例.new” 来创建对象。 本题中,在外部类的内部来创建成员内部类的对象可以省略this,即将 “ Point()” 省略为 “new Point()”,因此CD选项都正确。
var x = new Boolean(false);
if (x) {
alert('hi');
}
的显示结果是?
当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并没有改变,依然是false。
下列属性中,不能用于
dding
n
n
正确答案:A
解析:本题考查表格元素
发表评论