Java第四章习题
考试酷java第四章

考试酷java第四章第四章1. 关于内部类,下列说法不正确的是()。
内部类不能有⾃⼰的成员⽅法和成员变量2. 有⼀个类B,下⾯为其构造⽅法的声明,正确的是()。
B(int x) {}3. 为AB类定义⼀个⽆返回值的⽅法f,使得使⽤类名就可以访问该⽅法,该⽅法头的形式为()static void f()4. 在Java语⾔中,哪⼀个包中的类是⾃动导⼊的?()/doc/63169f32b5daa58da0116c175f0e7cd184251802.html ng5. 定义外部类时不能⽤到的关键字是()。
protected6. 下列哪种类成员修饰符修饰的变量只能在本类中被访问?()private7. 定义⼀个公有double型常量PI,哪⼀条语句最好?()public final static double PI=3.14;8. 下⾯关于⽅法的说法,不正确的是()。
如果⼀个类定义了构造⽅法,也可以⽤该类的默认构造⽅法9. 下⾯关于类的说法,不正确的是()。
类就是对象10. 给出下⾯的程序代码:public class X4_1_3 {private float a;public static void m ( ){ }}如何使成员变量a被⽅法m( )访问()将private float a改为static float a11. 给出下⾯程序代码:byte[] a1, a2[];byte a3[][];byte[][] a4;下列数组操作语句中哪⼀个是不正确的?()a2 = a112. 下⾯代码运⾏后的输出结果为()。
public class X6_1_5 {public static void main(String[] args) {AB aa = new AB();AB bb;bb = aa;System.out.println(bb.equals(aa));}}class AB{ int x = 100; }true13. 设有下列数组定义语句:int a[] = {1, 2, 3};则对此语句的叙述错误的是()。
04_JAVA练习题第四章-面向对象概念

04_JAVA练习题第四章-面向对象概念[单选题]1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?()A)protectedB)publicC)defaultD)private答案:D解析: 【解析】只有私有访问权限修饰符才能限制变量只能在本类中被访问2.在Java 语言中,哪一个包中的类是自动导入的?()A)ngB)java.awtC)java.ioD)java.applet答案:A解析: 【解析】只有ng 包中的类能够被自动导入。
3.给出下面的程序代码:public class X4_1_3{ private float a;public static void m ( ){ }}如何使成员变量a 被方法m( )访问()A)将private float a 改为protected float aB)将private float a 改为public float aC)将private float a 改为static float aD)将private float a 改为float a答案:C解析: 【解析】static 类型的方法只能访问static 类型的数据成员。
4.有一个类B,下面为其构造方法的声明,正确的是()。
A)void B(int x) {}B)B(int x) {}C)b(int x) {}D)void b(int x) {}答案:B解析: 【解析】构造方法没有类型,且方法名与类名相同。
5.下面关于类的说法,不正确的是()。
A)类是同种对象的集合和抽象B)类属于Java 语言中的复合数据类型C)类就是对象D)对象是Java 语言中的基本结构单位答案:C解析: 【解析】类是对象的抽象,对象是类的实例,因此类和对象是有区别的。
6.下面关于方法的说法,不正确的是()。
A)Java 中的构造方法名必须和类名相同B)方法体是对方法的实现,包括变量声明和合法语句C)如果一个类定义了构造方法,也可以用该类的默认构造方法D)类的私有方法不能被其他类直接访问答案:C解析: 【解析】类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法。
JAVA第四章练习题

第四章 习题课
1.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以 下几个语句后的输出结果是 。
int s = 0 ; for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 答案为
12、关于下面的程序Test.java说法正确的是
13、应用程序的main方法中有以下语句, 则输出的结果是 ( )。 int b[][]={{1, 1, 1}, {2,2}, {3}}; int sum=0; for(int i=0; i<b.length; i++) { for(int j=0; j<b[i].length; j++) { sum+=b[i][j]; 答案为 A } } System.out.println("sum="+sum); A) 10 B)6 C) 9 D) 13
答案为 A
9、应用程序的main方法中有以下语句,则
输出的结果是 ( )。 int b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { sum*=b[i][j]; } 答案为 A } System.out.println("sum="+sum); A) 32 B)11 C) 2 D) 3
java第四章试题

一.单选题1.下列哪个是反斜杠字符的正确表示?A、\\B、*\\C、\D、\’\’2.下列属于合法的Java标识符是____。
A、_catB、5booksC、+staticD、-3.141593.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd4.下列赋值语句中错误的是A、float f=11.1fB、double d=5.3E12;C、char c='\r';D、byte bb=433;5.下列哪个数代表八进制整数?A、0XA6B、-1E3C、1840D、01446.int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。
A、public int MAX_LENGTH=100B、final int MAX_LENGTH=100C、public const int MAX_LENGTH=100D、public final int MAX_LENGTH=1007.十进制数16的16进制表示格式是____。
A、0x10B、0x16C、0xAD、0168.char 类型的取值范围是___。
A、2-7~27-1B、0~216-1C、-215~215-1D、0~28-19.下列叙述中,正确的是____。
A、Java语言的标识符是区分大小写的B、源文件名与public类名可以不相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd11.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;12.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
Java程序设计 第4章习题参考答案[2页]
![Java程序设计 第4章习题参考答案[2页]](https://img.taocdn.com/s3/m/337805007dd184254b35eefdc8d376eeaeaa172c.png)
第4章习题参考答案一、简答题1.Java提供了哪些数据类型,全部写出来。
整型:byte,short,int,long数值型浮点型:float,double基本数据类型字符型:char数据类型布尔型:boolean类:class复合数据类型字符串:String接口:interface2.如何进行数据类型的转换?有2种方式:自动类型转换:运算时,不同类型的数据先转换成同一类型后再参与运算,转换的原则是位数少的类型转换成位数多的类型,由系统自动处理。
强制类型转换:当位数多的类型向位数少的类型进行转换时,需要用户明确说明要转换的类型,需要用户在程序中指明。
3.类的修饰符有哪些?有什么区别?类的修饰符包括访问控制修饰符、静态修饰符static、最终说明符final。
访问控制修饰符包括4种类型:privat、default、protected、public。
用static声明的成员变量被视为类的成员变量,而不能当成实例对象的成员变量,也就是说,静态变量是类固有的,可以被直接引用,而其它成员变量声明后,只有生成对象时才能被引用。
4.public的类和abstract的类有什么不一样?public的类是公共类,可以被继续,可以实例化,可以被其他包访问。
abstract的类是抽象类,其中一定含有抽象方法,abstract class的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。
5.什么是最终类?如何声明?最终类不能被继承,也没有子类。
final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
声明方法:final class ClassName。
二、操作题1.创建一个学生类Student,包括学号no、姓名name、年龄age、性别sex四个属性以及学习study、实践practice两个方法。
java面向对象程序设计第四章习题

第四章 类和对象1第四章 类和对象 [习题]1.类及类成员的访问控制符有哪些?2.为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?3.关键字static 可以修饰哪些类的组成部分?4.静态属性有什么特点?类对象可以访问或修改静态属性吗?5.同名的不同方法共存的情况称为什么?如何区分这些同名方法?6.什么是包?如何创建包?为什么要使用包?包物理地对应什么?7.试写出一个语句创建一个名为MyPackage 的包,这个语句应该放在程序的什么位置?8.如何引用整个包?如何引用包中的一个类?试写出引用MyPackage 中所有类的语句和引用MyPackage 包中的一个类MyClass1。
9.阅读下面的程序,说明它们的输出。
public class UseRef{public static void main(String args[]){MyClass1 myobj,myref;myobj=new MyClass1(-1);myref=myobj;System.out.println("the original data is:"+myobj.getData());myref.setData(10);System.out.println("now the data is:"+myobj.getData());}}class MyClass1{int data;MyClass1(int d){data=d;}int getData(){return data;2 }void setData(int d){data=d;}}10.编写一个类实现秒表的功能。
要求至少实现开始计时、停止计时、分针秒针归零、获得分针示数、获得秒针示数、获得总时间的毫秒数等功能。
11.编写一个类实现复数的运算。
要求至少实现复数相加、复数相减、复数相乘等功能。
12.编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,定义一个构造方法对这三个变量进行初始化,然后定义一个方法求立方体的体积。
第四章 Java章节习题

1.分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。
数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。
例如:5.3的向右取整是6而向左取整是5.答:public class One{static int right(double x){if(x!=5)x=x+1;return (int)x;}static int left(double x){return (int)x;}public static void main(String args[]){System.out.println("5.3向左取整为:"+left(5.3));System.out.println("5.3向右取整为:"+right(5.3));}}程序运行结果为:2.写一个方法计算一个整数各位数字的和。
使用下述的方法说明:public static int sumDigits(long n)例如:sumDigits(276)返回2+7+6=15 。
提示:用求余运算符%分解数字,用除号/分离位数。
例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。
答:public class Two{public static int sumDigits(long n){long sum=0,t;while(n!=0)47{t=n%10;n=n/10;sum+=t;}return (int)sum;}public static void main(String args[]){System.out.println("334各个位数字之和为:"+sumDigits(334));}}程序运行结果为:3. 编写程序,用Math类中的sqrt方法打印下表:Number SquareRoot ....................................0 0.00002 1.41424 2.00006 2.44958 2.828410 3.162312 3.464114 3.741716 4.000018 4.242620 4.4721答:public class Three{public static void main(String args[]){System.out.println("Number SquareRoot");System.out.println("..................");for(int i=0;i<=20;)4748{System.out.printf("%d\t%.4f\n",i,Math.sqrt(i));i=i+2;}}}程序运行结果为:4. 请定义一个名为Rectangle的矩形类。
java试卷(第四章)

java试卷(第四章)(⼀)选择题1.假设⽅法没有任何返回值,下⾯哪个关键字可以⽤作此函数的返回类型?()A.v oidB.i ntC.d oubleD.p ublic2.⽅法包含哪些特征?()A.⽅法名B.⽅法名和参数列表C.返回类型、⽅法名和参数列表D.参数列表3.所⽤的java应⽤程序都要有⼀个()⽅法?A.p ublic static Main(String[] args)B.p ublic static Main(String args[])C.p ublic static void main(String[] args)D.p ublic void main(String[] args)4.⽅法的参数总是出现在()A.⼤括号B.圆括号C.花括号D.引号5.每当调⽤⼀个⽅法时,系统将参数、局部变量和系统寄存器存储在⼀个内存区域中,这个内存区域称为()A.堆B.存储器C.栈D.数组6.在调⽤参数⽅法时,实参的值赋给形参,这被称为()A.⽅法调⽤B.值传递C.参数传递D.参数名传递7.下⾯⽅法打印message:System.out.print(message);n--;}}那么nPrint(”a”,4)会输出什么()A.a aaaaB.a aaaC.a aD.调⽤⽆效8.下⾯⽅法打印messagestatic void nPrint(String message, int n) { while (n > 0) {System.out.print(message);n--;}}如果int k = 2;nPrint(“A message”,k);程序运⾏后k的结果是()A.0B.1C.2D.39.分析下⾯代码public class Test {public static void main(String[] args) { System.out.println(xMethod(5, 500L));}public static int xMethod(int n, long l) { System.out.println("int, long");return n;}public static long xMethod(long n, long l) { System.out.println("long, long");}运⾏结果是()A.程序显⽰的是int,long下⼀⾏5B.程序显⽰的是long,long下⼀⾏5C.程序正常运⾏,但是运⾏结果不是A和B中的结果D.程序不能正常运⾏,因为没有匹配的参数列表10.分析下⾯代码:class Test {public static void main(String[] args) {System.out.println(xmethod(5));}public static int xmethod(int n, long t) {System.out.println("int");return n;}public static long xmethod(long n) {System.out.println("long");return n;}}运⾏结果是()A.i nt 下⼀⾏5B.l ong下⼀⾏5C.程序正常运⾏,但是运⾏结果不是A和B中的结果D.程序不能正常运⾏,因为没有匹配的参数列表11.分析下⾯代码:public class Test {public static void main(String[] args) {System.out.println(max(1, 2));}public static double max(int num1, double num2) {System.out.println("max(int, double) is invoked");if (num1 > num2)return num1;elsepublic static double max(double num1, int num2) {System.out.println("max(double, int) is invoked");if (num1 > num2)return num1;elsereturn num2;}}运⾏结果是:()A.程序不能编译,因为不能在返回类型为⾮void的⽅法中有输出语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、分析下列程序:
interface Foo{
int k = 0; //第二行
}
public class Test implements Foo{
public static void main(String args[ ]){
int i;
Test test = new Test( );
i = test.k; //第八行
i = Test.k; //第九行
i = Foo.k; //第十行
}
}
该程序的结果是()。
A.编译成功B.编译时在第二行出现错误
C.编译时在第八行出现错误D.编译时在第九行出现错误
E.编译时在第十行出现错误
2、下面哪些方法能够防止被覆盖?()
A.final void methoda( ){} B.void final methoda( ){}
C.static void methoda( ){} D.static final void methoda( ){} E.final abstract void methoda( ){}
3、假设AnInterface是一个接口;
AnAdapter0是一个非抽象(non-abstract)、非最终(non-final)并且有无参数构造方法的类;
AnAdapter1是一个非抽象(non-abstract)、非最终(non-final)并具有一个int型参数构造方法的类;
下面哪两项可以创建一个匿名内部类?()
A.method1(new AnAdapter0( ){}) B.method2(new AnAdapter1(5){}) C.AnAdapter0 aa = new AnAdapter0( ){} D.AnAdapter1 aa = new AnAdapter1( 5){} E.AnInterface ai = new AnInterface(5){}
4、假定有程序段:
public interface Foo{
int k = 4;//第二行
}
下面哪几项与以上接口的第二行等价?()
A.final int k = 4; B.public int k = 4;
C.static int k = 4; D.private int k = 4;
E.abstract int k = 4; F.volatile int k = 4;
G.transient int k = 4; H.protected int k = 4;
5、下面哪些陈述对默认的构造方法是成立的?()
A.默认的构造方法为方法变量进行初始化。
B.编译程序会为每一个类创建默认的构造方法。
C.默认的构造方法调用其超类的无参构造方法。
D.默认的构造方法初始化在类中声明的实例变量。
E.当一个类仅有带参数的构造方法时,编译程序不会给这个类创建默认的构造方法。
F.当一个类没有其他构造方法时,编译程序才为其创建默认的构造方法。