Java第三章习题

合集下载

Java第三章--习题

Java第三章--习题
InputStreamReader(System.in)); String s=br.readLine(); i=Integer.parseInt(s); do……while语句实现循环和判断
3-10
编写一个字符界面的Java Application
程序,接受用户输入的10个整数,比较并 输出其中的最大值和最小值。
for循环实现
3-11
编写一个字符界面的Java Application 程序,接受用户输入的字符,以“#”结束 输入,比较并输出按字典序最小的字符
char c=(char)System.in.read(); System.in.skip(2);
do……while循环接收输入并比较,记录最小值
3-16
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
10个整数如何存放?
value = Integer.parseInt(s);
if……else……语句进行比较
第三章习题讲解
3-14
编写一个Java程序,接受用户输入的一 个1-12之间的整数,利用switch语句输出 对应月份的天数。
如果输入的数据不满足这个条件,则要 求用户重新输入。
3-14
switch语句控制用户输入后进入不同分支实现不同输出
BufferedReader br= new BufferedReader(new
编写一个字符界面的Java程序,接受用户 输入的2个整数为上下限,然后输出其间 的所有素数。
BufferedReader对 象 for

JAVA第3章例题

JAVA第3章例题
/* 方法重载示例 */
import javax.swing.*;
public class Example3_5
{
static double distance(double x , double y)
{
double d=Math.sqrt(x*x+y*y);
{
public static void main(String args[])
{
Box box = new Box();
double v;
v = box.volume();
System.out.println("长方体体积为: " + v);
b1.prnt(3, 5); // prnt()是实例对象b1父类A的方法,b1继承了该方法
}
}
【例3-11】子类重写了父类的方法,则在运行时,系统调用子类的方法。
/* 子类重写了父类的方法 */
import java.io.*;
class A
int max(int x, int y)
{
if(x > y) return x;
else return y;
}
【例3-3】方法调用示例,计算1 + 2 + 3 + …… + 100的和。
import javax.swing.*;
public class Example3_3
System.exit(0);
}
static float area(int x, int h)
{
float s;
s = (x * h) / 2;

java第三章

java第三章

a. x != 5
b. x == 5
c. !(x == 4)
d. x != 4
#
9. Which of the Boolean expressions below is incorrect?
a. (x > 0) || (x < 0)
b. (-10 < x < 0)
1. Which of the following code displays the area of a circle if the radius is positive.
a. if (radius != 0) System.out.println(radius * radius * 3.14159);
a. x >= 1
b. !(x = 1)
c. !(x < 1)
d. !(x <= 1)
#
13. Which of the following is not a valid boolean expression.
a. (1 < x < 100)
b. x == 1
case 'B':
System.out.print(ch); break;
case 'c':
case 'C':
System.out.print(ch); break;
}
a. The switch control variable cannot be double.
b. The required break keyword is missing in the switch statement.

JAVA练习题(第3章)..

JAVA练习题(第3章)..

11、应用程序的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
10、程序Test.java编译运行后输出的结果是( )。 public class Test { String s1="java"; public static void main(String args[]) { int z=2; Test t=new Test(); System.out.println(t.s1+z); } 【答案】:A } A、 java2 B 、2 C、没有输出结果 D、java
【答案】:B 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、应用程序的main方法中有以下语句,则输出的 结果是 ( )。 String s1=new String("abc"); 【答案】:A String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+" "+b2);
3、以下关于继承的叙述正确的是( )。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一 个接口 【答案】:A D、在Java中接口只允许单一继承

JAVA期末复习题及答案——第三章

JAVA期末复习题及答案——第三章

JAVA期末复习题及答案——第三章一、填空题1.阅读下列程序段int i=3,j;outer:while(i>0){j=3;inner:while(j>0){if(j<2) break outer;System.out.println(j+”and”+i);j--;}i--;}被输出到屏幕第一行的结果是 3 and 3 。

2.阅读下列代码段int x=3;while(x<9)x+=2;x++;while语句成功执行的次数是 3次。

3.已知a=3,b=9,则表达式a>b?a,b的值为 9 。

4.关系运算符的运算结果一定是布尔数据类型。

5. do-while 表示的循环体会至少执行一次。

6.已知x=12,y=6,z=false,则下列表达式的值分别为(表达式之间没有执行的先后顺序):100= =x+y falsex=y+10 16z||y>x false!(y*3<=x*4) false7.跳转语句continue用于循环体时表示退出本次循环,跳转语句break用于循环体时表示退出整个循环。

二、选择题1.阅读下列程序if(x= =0) {System.out.println(“冠军”);else if(x>-3) {System.out.println(“亚军”);else {System.out.println(“季军”);若要求打印字符串“季军“,则变量x的取值范围是:DA、x=0&x<=-3B、x=0C、x>-3D、x<=-32.阅读下面程序import javax.swing.JOptionPane;public class BreakLabelTest{public static void main(String args[]){String output=””;stop:{for(int row=1;row<=10;row++){for(int column=1;column<=5;column++){if(row= =5)break stop;output+=”* “;}output+=”\n”;}output+=”\nLoops terminated normally”;}JOptionPane.showMessageDialog{null,output,”用一个标志测试break语句”,RMATION_MESSAGE);System.exit(0);}}程序运行结果是:CA、窗口中有5行* * * * *B、窗口中有5行* * * *C、窗口中有4行* * * * *D、窗口中有6行* * * * *3.下列语句中,属于多分支语句的是:BA、if语句B、switch语句C、do while语句D、for语句4.阅读下列代码public class Test2005{public static void main(String args[]){String s=”Test”;switch(s){case “Java”: System.out.print(“Java”); break;case “Language”: System.out.print(“Language”); break;case “Test”: System.out.print(“Test”); break;}}}其运行结果是:DA、JavaB、LanguageC、TestD、编译出错5.下列代码中if(x>0) {System.out.println(“first”);}else if(x>-3){System.out.println(“second”);}else {System.out.println(“third”);}要求打印字符串为“second”时,x的取值范围是:AA、x<=0并且x>-3B、x>0C、x >-3D、x<=36.下列哪个说法是正确的?BA. if语句和else语句必须成对出现B. if语句可以没有else语句对应C. switch后的表达式可以是long型D. 每个switch结构中必须有default结构7.以下语句中有语法错误的是:BA. for(; ;);B. for(int i=0, i<10, i++){}C. if(a<0) ++a;D.do{a=false;} while(a=true);8.while循环和do_while循环的区别是:DA、没有区别,这两种结构在任何情况下效果都是一样的B、while循环的执行效率比do_while循环的执行效率高C、while先循环后判断,所以循环体至少执行一次D、do_while先循环后判断,所以循环体至少执行一次9.关于for循环和while循环,下面哪个说法是正确的?BA、while循环能实现的操作,for循环都能实现B、while循环的判断条件一般是程序的结果,for循环的判断条件一般是非程序的结果C、两种循环在任何时候都可以互换,所以会使用一种就可以D、两种循环结构中都必须有循环体,循环体不能为空10.下面说法正确的是:CA、程序执行到break语句时一定会结束所有的循环B、程序执行到continue语句时会结束当前循环C、break语句和continue语句都可以和标签协同使用D、break语句和continue语句的作用相同三、判断题1.switch语句中switch后面的表达式可以是整型,字符型,还可以是复合数据类型。

第三章面向对象程序设计(答案)

第三章面向对象程序设计(答案)

学号:姓名:第三章面向对象程序设计作业一、判断题1、一个Java源程序可有多个类,但只仅有一个public 类,而且程序名与public 类名相同。

对2、如果类 A 和类B 在同一个包中,则除了私有成员外,类 A 可以访问类 B 中所有的成员。

对3、接口中的成员变量全部为常量,方法为抽象方法。

对4、抽象类可以有构造方法,可以直接实例化。

错5、对static 方法的调用可以不需要类实例。

对6、包含抽象方法的类一定是抽象类。

对7、方法中的形参可以和方法所属类的属性同名。

对8、接口无构造器,不能有实例,也不能定义常量。

错9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。

对10、Java应用程序的入口main 方法只有一种定义法。

对二、选择题1、下列答案正确的是( A )A) 在同一个Java 源文件中可以包含多个类,只能有一个被声明为publicB) 在同一个Java 源文件中只能包含一个类,并被声明为publicC) 在同一个Java 源文件中可以包含多个类,都可以被声明为publicD) 在同一个Java 源文件中可以包含多个类,只能有一个被声明为default2、Java实现动态多态性是通过( B )实现的。

A) 重载B) 覆盖C) 接口D) 抽象类3、下列哪一个是正确的方法重载描述( A )A) 重载方法的参数类型必须不同B) 重载方法的参数名称必须不同C) 返回值类型必须不同D) 修饰词必须不同4、final 关键字不可以用来修饰( D )A) 类B) 成员方法C) 域D) 接口5、接口的所有成员方法都具有( B )属性A) private, final B) public, abstractC) static, protected D) static6、Java的封装性是通过( A )实现的A) 访问控制B) 设计内部类C) 静态域和静态方法D) 包7、下列接口或类不属于java.util.* 包的是( D )A) Collection B)Vector C) Map D) Integer8、下述哪一组方法,是一个类中方法重载的正确写法?( A )A) int addValue( int a, int b ){return a+b;}float addValue ( float a, float b) {return a+b;}B) int addValue (int a, int b ){value=a+b; }float addValue ( int a, int b) {return (float)(a+b);}C) int addValue( int a, int b ){return a+1;}int addValue ( int a, int b) {return a+b;}D) int addValue( int a, int b ) {return a+b;}int addValue ( int x, int y ) {return x+y;}9、下列说法哪个是正确的?( C )A) 子类不能定义和父类同名同参数的方法B) 子类只能继承父类的方法,而不能重载C) 重载就是一个类中有多个同名但有不同形参和方法体的方法D) 子类只能覆盖父类的方法,而不能重载10、对于下列代码:public class Parent {public int addValue( int a, int b) {int s;s = a+b;return s;}}class Child extends Parent {}下述哪个方法不可以加入类Child? ( B )A) public int addValue( int a, int b,int c ){// do something...}B) public void addV alue (int a, int b ){// do something...}C) public int addValue( int a ){// do something...}D) public int addValue( int a, int b ) {//do something...}11、以下程序段输出结果的是( B )public class A implements B {public static void main(String args[]) {int i;A c1 = new A();i= c1.k;System.out.println("i="+i);}}interface B {int k = 10;}A) i=0 B) i=10 C) 程序有编译错误D) i=true12、阅读下面的程序,输出结果是( B )public class TestDemo {int m=5;public void some(int x) {m=x;}public static void main(String args []) {new Demo().some(7);}}class Demo extends TestDemo {int m=8;public void some(int x) {super.some(x);System.out.println(m);}}A) 5 B) 8 C) 7 D) 编译错误13、下述哪个说法是不正确的?( A )A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值B) 类成员变量由系统自动进行初始化,也无需初始化C) 参数的作用域就是所在的方法D) for 语句中定义的变量,当for 语句执行完时,该变量就消亡了14、下述那一个保留字不是类及类成员的访问控制符。

新编解析JAVA程序设计第三章课后答案

新编解析JAVA程序设计第三章课后答案

第3章习题解答1.如何定义方法?在面向对象程序设计中方法有什么作用?答:方法的定义包括方法名、方法形参、方法的返回值类型和方法体四部分,方法只能在类中定义。

方法是对象的动态特征的描述,对象通过方法操作属性,进而改变对象的状态,完成程序所预期的功能。

2.定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。

编写应用程序使用Dog。

答:public class Dog{private String name;private String color;private String age;Dog(String n,String c,String a){name = n; color = c; age = a;}public String toString() {return name + "," + color + "," + age;}public static void main(String args[]) {Dog dog = new Dog("小白", "白色", "2岁");System.out.println(dog.toString());}}3.什么是访问控制修饰符?修饰符有哪些种类?它们各有何作用?答:访问控制修饰符是对类、属性和方法的访问权限的一种限制,不同的修饰符决定了不同的访问权限。

访问控制修饰符有3个:private、protected、public,另外还有一种默认访问权限。

各个修饰符的作用如下表所示:B:包中的类C:所有子类D:本类A:所有类4.阅读程序,写出程序的输出结果class A{private int privateVar;A(int _privateVar){privateVar=_privateVar;}boolean isEqualTo(A anotherA){if(this.privateVar == anotherA.privateVar)return true;elsereturn false;}}public class B{public static void main(String args[]){ A a = new A(1);A b = new A(2);System.out.println(a.isEqualTo(b));}}程序的输出结果为:false5.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {int x;int a[] = { 0, 0, 0, 0, 0, 0 };calculate(a, a[5]);System.out.println("the value of a[0] is " + a[0]);System.out.println("the value is a[5] is " + a[5]);}static int calculate(int x[], int y) {for (int i = 1; i < x.length; i++)if (y < x.length)x[i] = x[i - 1] + 1;return x[0];}}程序的输出结果为:the value of a[0] is 0the value is a[5] is 56.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {String str1 = new String("Java");String str2 = new String("Java");System.out.println(str1 == str2);}}程序的输出结果为:false7.阅读下列程序,程序中已经指明错误位置,请说出错误原因。

JAVA Chapter3习题

JAVA  Chapter3习题

1. 一个类可以生成多个对象,并且这些对象都具有相同的属性。

A. 错误B. 正确2. 对于构造函数,下列叙述正确的是()。

A. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B. 构造函数的返回类型只能是void型。

C. 构造函数的主要作用是完成对类的对象的初始化工作。

D. 一般在创建新对象时,系统会自动调用构造函数3. 有的类定义时可以不定义构造函数,所以构造函数不是必需的。

A. 错误B. 正确4. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。

A. 错误B. 正确5. 同一个类中定义多个参数列表不同的同名方法,叫做方法的重载。

A. 错误B. 正确6. 为了区分重载多态中同名的不同方法,要求( )。

A. 形式参数个数或者类型不同B. 返回值类型不同C. 调用时用类名或对象名做前缀D. 形式参数名称不同7.Which two overload the ConstOver constructor? (Choose Two)A.ConstOver ( ) { }B.protected int ConstOver ( ) { }C.private ConstOver (int z, int y, byte x) { }D.public Object ConstOver (int x, int y, int z) { }E.public void ConstOver (byte x, byte y, byte z) { }8.Given:1.public class MethodOver {2. public void setVar (int a, int b, float c) {3. }4.}Which two overload the setVar method? (Choose Two)A.private void setVar (int a, float c, int b) { }B.protected void setVar (int a, int b, float c) { }C.public int setVar (int a, float c, int b) {return a;}D.public int setVar (int a, int b, float c) {return a;}E.protected float setVar (int a, int b, float c) {return c;}9. 编译并运行下面的程序,运行结果为( ). public class T1 {public static void main (String[] args){T1 a=new T1();a.method(8);a.method(1.2f);}void method(float i) {System.out.println("float: "+i);}void method(long i) {System.out.println("long: "+i);}}A. 程序有编译错误,因为两个method()方法必须定义为静态(static)的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、分析以下程序段:
abstract class AbstractIt {
abstract float getFloat(); //第2行
}
public class AbstractTest extends AbstractIt{
private float f1 = 1.0f;
private float getFloat () {return f1;} //第6行
}
下面哪一种结果正确?(C)
A.可编译成功B.在第六行运行失败
C.在第六行编译失败D.在第二行编译失败
2、分析一下程序段:
Integer i = new Integer (42);
Long l = new Long (42);
Double d = new Double(42.0);
下面哪个表达式的值为真?(F)
A.(i == l)B.(i == d)C.(d == l)D.(i.equals(d))E.(d.equals(i))F.(i.equals(42))
3、下面的哪几种陈述是成立的?()
A.一个内部类可声明为静态的(static)B.一个匿名内部类可声明为公共的(public)C.一个匿名内部类可声明为私有类(private)D.一个匿名内部类可继承一个抽象类E.一个匿名内部类可声明为保护型(protected)
4、分析以下程序:
class Outer1{
private int a;
void foo(double d, final float f){
String s;
final boolean b;
class Inner{
void methodInner(){
System.out.println(“in the Inner”);
}
}
}
public static void main(String args[ ]){
Outer1 me = new Outer1();
me.foo(123, 123);
System.out.println(“outer”);
}
}
运行以上程序,产生的结果为()。

A.输出:“in the Inner outer”B.输出:“outer”C.输出:“in the Inner”D.编译不通过
5、分析以下程序:
public class X{
public Object m(){
Object o = new Float(3.14F);
Object [ ] oa = new Object [1];
oa [0] == o;
o == null;
oa [0] = = null;
return o;
}
}
当第3行的Float对象产生后,在哪一行会作为垃圾被回收?()A.在第5行之后B.在第6行之后
C.在第7行之后D.不会在该方法中进行。

相关文档
最新文档