1、 JAVA练习 1. 以下方法 fun 的功能是求两参数之积。 int fun ( int a, int b ) return a*b; 2. 以下方法 fun 的功能是求两参数之积。 float fun ( int a, double b ) return (float)a*b; 4. 以下方法 m 的功能是求两参数之积的整数部分。 int m ( float x, float y ) return (int)x*y; 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 public _boolean_ isEven(int a) if(a%2=0) return _true_;
2、else return false; 7.同一个类中多个方法具有相同的方法名,不同的 _参数列表 _称为方法的重载。 二选择题及答案 1.下列方法定义中,正确的是 ()。 D A) int x( int a,b ) return (a-b); B) double x( int a,int b) int w; w=a-b; C) double x( a,b ) return b; D) int x( int a,int b) return a-b; 2.下列方法定义中,正确的是 ()。 D A) void x( int a,int b ); return (a-b); B) x( int a,i
3、nt b) return a-b; C) double x return b; D) int x( int a,int b) return a+b; 3. 下列方法定义中,不正确的是 (D)。 A) float x( int a,int b ) return (a-b); B) int x( int a,int b) return a-b; C) int x( int a,int b ); return a*b; D) int x(int a,int b) return 1.2*(a+b); 4. 下列方法定义中,正确的是 (A)。 A) int x( ) char ch=a; return
4、(int)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; 5. 列方法定义中,方法头不正确的是 ()。 D A)public int x( ) . B)public static int x( double y ) . C)void x( double d ) . D)public static x( double a ) . 6.在某个类中存在一个方法: void getSort(int x),以下能作为这个方法的重载的声明的是 ()。 C A)public ge
5、tSort(float x) B)int getSort(int y) C)double getSort(int x,int y) D)void get(int x,int y) 7.在某个类中存在一个方法: void sort(int x),以下不能作为这个方法的重载的声明的是 ()。 B A)public float sort(float x) B)int sort(int y) C)double sort(int x,int y) D)void sort(double y) 8. 为了区分类中重载的同名的不同方法 ,要求 ()。 A A) 采用不同的形式参数列表 B) 返回值类型不同 C
6、) 调用时用类名或对象名做前缀 D) 参数名不同 三问答题及答案 1. 方法可以没有返回值吗? 答: 可以 可以有多个返回值吗 ? 答: 不可以 2. 一个方法如果没有返回值,方法头定义中的返回值类型为何? 答: void 4. 一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用?这种变量称为什么变量? 答: 不能 局部变量 6. 重载的方法可以通过它们的返回值 类型的不同来区分吗? 答: 不能 7. 编译程序如何区分重载方法的调用? 答:根据参数列表的个数和类型 一、选择题 1 定义类头时,不可能用到的关键字是 C。 A) class B)private C)extends
7、D)public 2.下列类定义中,不正确的是 C。 A) class x . B) class x extends y . C) static class x implements y1,y2 . D) public class x extends Applet . 3.下列类头定义中,错误的是。 C A)public x extends y . B) public class x extends y . C)class x extends y implements y1 . D)class x . 4.设 A为已定义的类名,下列声明 A类的对象 a 的语句 中正确的是 ()。 D A) f
8、loat A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( ); 5.设 A为已定义的类名,下列声明 A类的对象 a 的语句中正确的是 ()。 A A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 6.设 X 、 Y 均为已定义的类名,下列声明类 X 的对象 x1 的语句中正确的是。 C A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int
9、X x1; 7. 设 X 、 Y为已定义的类名,下列声明 X 类的对象 x1 的语句中正确的是。 A A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( ); 8.通过类 MyClass 中的不含参数的构造方法,生成该类的一个对象 obj,可通过以下语句实现: 答: MyClass obj = new MyClass(); 9. 设 i , j为类 X 中定义的 int 型变量名,下列 X 类的构造方法中不正确的是。 A A) void X(int k ) i=k; B) X(int k ) i=k; C) X
10、(int m, int n ) i=m; j=n; D) X( )i=0;j=0; 10. 有一个类 A,以下为其构造方法的声明,其中正确的是。 A A)public A(int x). B)static A(int x). C)public a(int x). D)void A(int x). 11. 有一个类 A,以下为其构造方法的声明,其中正确的是。 B A)void A(int x). B)A(int x). C)a(int x). D)void a(int x). 12. 设 i、 j、 k 为类 X 中定义的 int 型变量名,下列类 X 的构造方法中不正确的是。 B A) X(
11、int m) . B) void X( int m) . C) X( int m, int n) . D) X( int h,int m,int n) . 13. 设 i , j为类 X 中定义的 double 型变量名,下列 X 类的构造方法中不正确的是。 A A) double X(double k ) i=k; return i; C) X( )i=6;j=8; B) X(double m, double n ) i=m; j=n; D) X(double k ) i=k; 14. 设 a , b为类 MyClass中定义的 int型变量名,下列 MyClass类的构造方法中不正确的是。
12、A A) double MyClass(double k ) a=k; return a; B) MyClass( )a=6;b=8; C) MyClass (double m, double n ) a=m; b=n; MyClass (double k ) a=k; 15 定义类头时,不可能用到的关键字是 A 。 A)protected B) class C)extends D)public 17.设 B为已定义的类名,下列声明 B类的对象 b 的语句 中正确的是 ()。 D A) float B b; B) public B b=B( ); C) B b=new int( ); D) s
13、tatic B b=new B( ); 18.设 ClassA为已定义的类名,下列声明 ClassA类的对象 ca的语句中正确的是。 A A)public ClassA ca=new ClassA( ); B) public ClassA ca=ClassA( ); C) ClassA ca=new class( ); D) ca ClassA; 19.设 A 、 B 均为已定义的类名,下列声明类 A的对象 a1 的语句中正确的是。 C A) public A a1= new B( ); B) A a1= A ( ); C) A a1=new A( ); D) int A a1; ?20. 设
14、 A 、 B为已定义的类名,下列声明 A类的对象 a1 的语句中正确的是 A。 A) static A a1; B) public A a1=new A(int 123); C) B a1; D) A a1= A( ); 21.通过类 A中的不含参数的构造方法,生成该类的一个对象 a,可通过以下语句实现: 答: A a = new A(); 22. 设 m , n 为类 A中定义的 int 型变量名,下列 A类的构造方法中不正确的是。 A A) void A(int k ) m=k; B) A(int k ) m=k; C) A(int m, int n )m=i; n=j; D) A( )m
15、=0;n=0; 23. 有一个类 Person,以下为其构造方法的声明,其中正确的是。 A A)public Person (int x). B)static Person (int x). C)public a(int x). D)void Person (int x). 24. 有一个类 Student,以下为其构造方法的声明,其中正确 的是。 B A)void Student (int x). B) Student (int x). C)s(int x). D)void s(int x). 25. 设 i、 j、 k 为类 School中定义的 int 型变量名,下列类 School的构
16、造方法中不正确的是。B A) School ( int m) . B) void School ( int m) . C) School ( int m, int n) . D) School ( int h,int m,int n) . 二、填空题 2. 下面是一个类的定义,请将其补充完整。 class _Student_ String name; int age; Student( _String s, int i) name=s; age=i; 3.下面是一个类的定义,请将其补充完整。 class _myclass_ / 定义名为 myclass 的类 _static_ int var=
17、666; static int getvar() return var; 5.下面是一个类的定义,请将其补充完整 . _class_ A String s; _static_ int a=666; A(String s1) s=s1; static int geta( ) return a; 2. 在一个类定义中,用什么描述对象的状态 ? 答: 属性(变量) 用什么描述对象的行为 ? 答 : 方法 3. 什么方法是一个特殊的方法,用于对对象进行初始化? 答: 构造方法 5. 构造方法的方法名可由编程人员任意命名吗 ? 答: 不能 必须与类同名 6. 类的构造方法名必须和类名相同吗? 答: 是的
18、 7. 构造函数有返回值吗 ? 答: 没有 8. 构造函数可以重载吗? 可以 11. 类的访问控制权有 几 种? Public default 12. 用什么修饰符修饰的方法称为静态方法 ? 用什么修饰符修饰的属性称为静态属性 ? 答: static 17. 非 static 方法中可以有 this 引用吗? 答: 可以 20. 类的私有属性和私有方法能不能被其子类直接访问 ? 答: 不能 12. 下列选项中,哪个是 java 语言所有类的父类 C A) String B) Vector C) Object D) KeyEvent 14. 下列选项中,表示数据或方法可以被同一包 中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是 B A) public B) protected C) private D) final 15. 下列选项中,表示数据或方法只能被本类访问的修饰符是 C A) public B) protected C) private D) final 二、 填空题 3. 如果子类中的某个方法的名字、返回值类型 和 _参数列表 _与它的父类中 的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。 编程题; (提示:用 IF+for 循环 ,可以用别的方法。方法不限 ) 1 打印 * * * * *