JAVA基础练习题.doc
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_;else return false;7.同一个类中多个方法具有相同的方法名,不同的_参数列表_称为方法的重载。二选择题及答案1.下列方法定义中,正确的是()。DA) 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.下列方法定义中,正确的是()。DA) void x( int a,int b ); return (a-b); B) x( int a,int 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 (int)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; 5. 列方法定义中,方法头不正确的是()。DA)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 getSort(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) 调用时用类名或对象名做前缀 D) 参数名不同三问答题及答案1. 方法可以没有返回值吗?答: 可以可以有多个返回值吗? 答: 不可以2. 一个方法如果没有返回值,方法头定义中的返回值类型为何? 答: void4. 一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用?这种变量称为什么变量? 答: 不能 局部变量6. 重载的方法可以通过它们的返回值类型的不同来区分吗?答: 不能7. 编译程序如何区分重载方法的调用?答:根据参数列表的个数和类型 一、选择题1 定义类头时,不可能用到的关键字是C。 A) class B)private C)extends D)public2.下列类定义中,不正确的是 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) float 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 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(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( 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类的构造方法中不正确的是。AA) 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)public17.设 B为已定义的类名,下列声明B类的对象b的语句中正确的是()。D A) float B b; B) public B b=B( ); C) B b=new int( ); D) static 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. 设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=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的构造方法中不正确的是。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=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. 类的构造方法名必须和类名相同吗?答: 是的 7. 构造函数有返回值吗? 答: 没有8. 构造函数可以重载吗? 可以11. 类的访问控制权有几种?Public default12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?答: static17. 非static方法中可以有this引用吗?答: 可以20. 类的私有属性和私有方法能不能被其子类直接访问? 答: 不能12. 下列选项中,哪个是java语言所有类的父类 CA)String B) Vector C) Object D) KeyEvent14. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是 BA)public B) protected C) private D) final15. 下列选项中,表示数据或方法只能被本类访问的修饰符是 CA)public B) protected C) private D) final二、 填空题3. 如果子类中的某个方法的名字、返回值类型和_参数列表_与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。 编程题;(提示:用IF+for循环,可以用别的方法。方法不限)1打印 * * * * *