资源描述
1. 有以下程序片段,以下哪个选项不能插入到行1。〔 D 〕
1.
2.public class Interesting{
3.//do sth
4. } 〔只能有一个public修饰的class〕
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
2. 以下哪项是接口的正确定义?〔 B D 〕
A、 interface B
{ void print(){};} (接口里的方法都是抽象的,不能有方法体)
B、 abstract interface B
{ void print() ;}
C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口
{ abstract void print(){ };} (同上)
D、 interface B
{ void print();}
1.接口可以声明为public(公共)或默认的访问权限。接口隐含说明是抽象的(abstract)的。
2.接口的方法默认即为public(公共)且是abstract(抽象)的.
3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。
接口声明
编译器如何解释呢
public interface Searchable {}
public abstract interface Searchable {}
abstract interface Searchable {}
abstract interface Searchable {}
interface Searchable {}
abstract interface Searchable {}
void search(String searchString);
public abstract void search(String searchString);
abstract void search(String searchString);
public abstract void search(String searchString);
public void search(String searchString);
public abstract void search(String searchString);
char MATCH_ONLY_ONE = ‘’;
public static final char MATCH_ONLY_ONE = ‘’;
public char MATCH_ONLY_ONE = ‘’;
public static final char MATCH_ONLY_ONE = ‘’;
static MATCH_ONLY_ONE = ‘’;
public static final char MATCH_ONLY_ONE = ‘’;
final char MATCH_ONLY_ONE = ‘’;
public static final char MATCH_ONLY_ONE = ‘’;
final public char MATCH_ONLY_ONE = ‘’;
public static final char MATCH_ONLY_ONE = ‘’;
3. 下面哪个函数是public void aMethod(){...}的重载函数?〔 D 〕
A、void aMethod( ){...}
B、public int aMethod(){...}
C、public void aMethod ( ){...}
D、public int aMethod ( int m){...}
〔重载:定义同名的方法,方法的形式参数个数、类型或顺序各不一样,传回的值也可以不一样〕
4. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:
1. A a0=new A();
2. A a1 =new B();
3. A a2=new C();
问以下哪个说法是正确的? 〔 D 〕
A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、第1行、第2行与第3行的声明都是正确的
〔A是B的父类,也算是C的父类〕
5. 假设A类有如下定义,设a是A类的一个实例,以下语句调用哪个是错误的?〔 C 〕 A a = new A();
class A
{ int i;
static String s;
void method1() { }
static void method2() { }
A、System.out.println(a.i);B、a.method1(); C、A.method1();
D、A.method2() ;〔A是类名,应该调用对象a〕
6. 有如下代码段:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?〔 D 〕
A、 public IOException methodName()
B、 public void methodName()
C、public void methodName() throw IOException
D、public void methodName() throws IOException
7. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用〔 C 〕个比特位。 byte
A、8 B、16 C、32 D、64
8. 以下关于继承的表达正确的选项是〔 A 〕。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口 (可以实现多个接口)
C、在Java中一个类不能同时继承一个类与实现一个接口 〔可以的〕
D、在Java中接口只允许单一继承 〔可以继承多个接口〕
9. 给出下面代码,关于该程序以下哪个说法是正确的?〔 C 〕
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
System.out.println(arr[0]);}
A、编译时将产生错误 B、编译时正确,运行时将产生错误
C、输出零 D、输出空 〔输出数组的首地址arr[0],int类型的初始值为0〕
10. 在使用interface声明一个接口时,只可以使用〔 D 〕修饰符修饰该接口。
A、private B、protected C、private protected D、public 〔接口只能与public 与abstract关键字连用 〕
11. 编译并运行以下程序,以下描述哪个选项是正确的〔 D 〕
1. class A{
2. protected boolean equals(){
3. return super.equals();
4. }
5. } (只有调用父类非私有属性与方法时才使用到super)
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错
12. 有语句String s=〞hello world〞; ,以下操作哪个是不合法的?〔 B 〕
A、int i=s.length(); B、s>>>=3;〔>>>为无符号右移运算符,去掉“=〞号〕
C、String ts=s.trim(); D、String t=s+〞!〞;
13. 以下关于Java语言的特点,描述错误的选项是〔 C 〕
A.Java是跨平台的编程语言 B.Java支持分布式计算
C.Java是面向过程的编程语言〔面向对象〕 D.Java支持多线程
14. 下述概念中不属于面向对象方法的是〔 D 〕。
A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 〔过程调用是属于过程方法〕
15. 构造化程序设计所规定的三种根本控制构造是 〔 C 〕
A.输入、处理、输出 B.树形、网形、环形
C.顺序、选择、循环 D.主程序、子程序、函数
16. 以下关于构造方法的表达中,错误的选项是〔 C 〕
A.Java语言规定构造方法名与类名必须一样
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
17. 以下哪个类的声明是正确的?〔 D 〕
A.abstract final class HI{} 〔final代表常量,但是抽象类不能实例化〕
B.abstract private move(){} 〔这是定义方法的〕
C.protected private number; 〔不是定义类,且修饰符重复〕
D.public abstract class Car{}
18. 关于被私有访问控制符private修饰的成员变量,以下说法正确的选项是〔 C 〕
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问与引用:该类本身、该类的所有子类
C.只能被该类自身所访问与修改
D.只能被同一个包中的类访问
19. 以下关于for循环与while循环的说法中哪个是正确的?〔 B 〕
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环构造中都必须有循环体,循环体不能为空
20. 阅读以下代码:
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
输出结果应该是:〔 C 〕
A.代码得到编译,并输出“s=〞 〔 代码不能编译通过〕
B.代码得到编译,并输出“s=null〞
C.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获到 NullPointException异常
21. 编译运行以下程序后,关于输出结果的说明正确的选项是 〔 C 〕
public class Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) 99.9:9));
A.输出结果为:value is 99.9 B.输出结果为:value is 9
〔判断为false时取“:〞后面的值9,又因为有99.9double类型,最后值类型也为double〕
D.编译错误
22. 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的〔 A 〕
A.x[9]为0
B.x[9]未定义 〔new出数组后未赋值,那么系统默认int类型数据为0〕
C.x[10]为0 〔下标越界,数组下标是从0开场的〕
D.x[0]为空 〔同B〕
** 23. 关于以下程序段,正确的说法是〔 C 〕
1. String s1=“a〞+“b〞;
2. String s2=new String〔s1〕;
3. if〔s1= =s2〕
4. System.out.println(“= = is succeeded〞);
5. if (s1.equals(s2))
6. System.out.println(“.equals() is succeeded〞);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 C.行4、行6都不执行
24. 以下程序的运行结果是:〔 C 〕
public class Increment{
public static void main(String args[]){
int c;
c = 2;
System.out.println(c); //2
System.out.println(c++); //2
System.out.println(c); //3
} c++ -->是先取值再运算
A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4
25. 以下哪一个关键字用于实现接口来定义类? 〔 B 〕
A、extends 〔继承〕 B、implements〔实现〕 C、abstract(抽象) D、interface 〔接口〕
判断题
1 子类不能继承父类的私有成员变量,因此也没有任何方法可以修改父类的私有成员变量。F
2.Java语言包括两类变量:简单变量与引用变量T
3.函数重载时,同名函数的参数类型列表必须不同T
4.一个类可以选择地实现接口的局部函数.F
5. JAVA中的引用变量需要初始化,简单变量可以不进展初始化F
6.Java只支持单继承,也就是说子类只能有一个直接父类T。
7.子类可以继承父类的除私有成员以外的其它所有成员。F
8.两个浮点数相除,即使除数为0,也不会出现异常退出。T
9.抽象类不能实例化,也就是说,不能有自己的对象T
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4.抽象类中的抽象方法的访问类型可以是public,protected与〔默认类型,虽然eclipse下不报错,但应该也不行〕,但接口抽象方法只能是public类型的,并且默认即为public abstract类型。
5.抽象类中可以包含静态方法,接口中不能包含静态方法
6.抽象类与接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
7.一个类可以实现多个接口,但只能继承一个抽象类。
1、覆盖的方法的标志必须要与被覆盖的方法的标志完全匹配,才能到达覆盖的效果;
2、覆盖的方法的返回值必须与被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须与被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否那么在其子类中只是新定义了一个方法,并没有对其进展覆盖。
1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序〔当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int)〕;好似可以这样写啊
2、不能通过访问权限、返回类型、抛出的异常进展重载;
3、方法的异常类型与数目不会对重载造成影响;
4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进展重载,如果定义的话,也只是定义了一个新方法,而不会到达重载的效果。
list set 是 map不是
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数
2.3 水仙花数
2.3.1题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方与等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
2.3.2 源程序
public class shuixian {
static int b, bb, bbb;
public static void main(String[] args) {
for (int num = 101; num < 1000; num++) {
shuixian tnn = new shuixian();
tnn.f(num);
public void f(int m) {
bbb = m / 100;
bb = (m % 100) / 10;
b = (m % 100) % 10;
if ((bbb * bbb * bbb + bb * bb * bb + b * b * b) == m) {
System.out.println(m);
2.3.3 运行结果:
153
370
371
407
第 13 页
展开阅读全文