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第三章课后习题答案

第一题:public class disanzhangxiti1{public static void main (String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}第二题:public class disanzhangxiti2{public static void main (String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1: c='b';System.out.print(c);case 2: c='e';System.out.print(c);break;case 3: c='p';System.out.print(c);default: System.out.print("!");}}}}第三题:public class disanzhangxiti3{public static void main (String args[]){int sum=0,a=1;int i=1;while(i<=10){sum=sum+a;i=i+1;a=a*i;}System.out.println("sum="+sum);}}第四题:public class disanzhangxiti4{public static void main(String agrs[]){int i,j,count=0;for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){if(j%i==0)break;}if(i>j/2){count++;System.out.println(""+j+"");}}System.out.println("count="+count);}}第五题:public class disanzhangxiti5{public static void main(String agrs[]){double sum=0,a=1,i=1;do{i++;sum=sum+a;a=a*(1.0/i);}while(i<=3);System.out.println("sum="+sum);}}public class disanzhangxiti5_for{public static void main(String agrs[]){double sum=0,a=1,i=1;for(i=1;i<=2;i++){sum=sum+a;a=a*(1.0/i);}System.out.println("sum="+sum);}}第六题:public class disanzhangxiti6{public static void main(String agrs[]){int a,i,sum;for(a=2;a<=1000;a++){for(sum=0,i=1;i<=a/2;i++)if(a%i==0)sum+=i;if(sum==a)System.out.println(a);}}}第七题:public class disanzhangxiti7{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}System.out.println(sum);}}public class disanzhangxiti7_while{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;while(i<=10){i++;sum=sum+item;item=item*10+a;}System.out.println(sum);}}第八题:public class disanzhangxiti8{public static void main(String agrs[]){int sum=0,i,n=1;for(i=1;i<=n;i++){sum=sum+i;if(sum<8888)n++;if(sum>=8888)break;}System.out.println("sum="+sum);System.out.println("i="+i);}}。

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第三章习题

第3章一、选择题1.下列()不属于Java语言流程控制结构?(A)分支语句(B)跳转语句(C)循环语句(D)赋值语句2.假设a是int类型的变量,并初始化为1,则下列()是合法的条件语句?(A)if(a){} (B)if(a<<=3){} (C)if(a=2){} (D)if(true){}3.下列说法中,不正确的一个是(C )。

(A)switch语句的功能可以由if…else if语句来实现(B)若用于比较的数据类型为double型,则不可以用switch语句来实现(C)if …else if语句的执行效率总是比switch语句高(D)case子句中可以有多个语句,并且不需要大括号{}括起来4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是()。

(A)switch(x+y) {} (B)switch(ch+1) {}(C)switch ch {} (D)switch(a+b); {}5.下列循环体执行的次数是()。

int y=2, x=4;while(--x != x/y){ }(A)1 (B)2 (C)3 (D)46.下列循环体执行的次数是()。

int x=10, y=30;do{ y -= x; x++; }while(x++<y--);(A)1 (B)2 (C)3 (D)47.已知如下代码:switch(m){case 0: System.out.println("Condition 0");case 1: System.out.println("Condition 1");case 2: System.out.println("Condition 2");case 3: System.out.println("Condition 3");break;default:System.out.println("Other Condition");}当m的值为()时,输出“Condition 3”(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3二、填空题1.跳转语句包括、、和2.switch语句先计算switch后面的的值,再和各语句后的值做比较。

java第三章作业答案

java第三章作业答案

习题三一、问答题1.面向对象语言有哪三个特性?答:封装性,继承性,多态性。

2.类体内容中声明成员变量是为了体现对象的属性还是行为?答:属性。

3.类体内容中定义的非构造方法是为了体现对象的属性还是行为?答:行为。

4.什么时候使用构造方法?构造方法有类型吗?答:用类创建对象时使用构造方法。

没有类型。

5.类中的实例变量在什么时候会被分配内存空间?答:用类创建对象时会被分配内存空间。

6.什么叫方法的重载?构造方法可以重载吗?答:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即是参数的个数不同,或者是参数的类型不同。

可以。

7.类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?答:可以。

不可以。

8.类中的实例方法可以用类名直接调用吗?答:不可以。

9.简述类变量和实例变量的区别。

答:一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。

所有对象的类变量都分配给相同的一处内存,对象共享类变量。

二、选择题1.下列哪个叙述是正确的?BA.Java应用程序由若干个类所构成,这些类必须在一个源文件中。

B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

C.Java源文件必须含有主类。

D.Java源文件如果含有主类,主类必须是public类。

2.下列哪个叙述是正确的?DA.成员变量的名字不可以和局部变量的相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

3.对于下列Hello类,哪个叙述是正确的?DA.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

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后面的表达式可以是整型,字符型,还可以是复合数据类型。

新编解析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)的。

java习题及答案第3章 习题参考答案

java习题及答案第3章 习题参考答案

第3章习题解答1. Java语言的注释有哪几种?分别给出一个例子。

答:Java语言的注释有3种,分别是单行注释、多行注释和文档注释。

单行注释的例子如下:public static Point origin = new Point(0, 0); //类初始化时,创建一个原点实例多行注释的例子如下:/* 类初始化时,创建一个原点实例 */public static Point origin = new Point(0, 0);文档注释的例子如下:/**** @类名:Point* @类简介:坐标点类,可以初始化其坐标x和y。

* @编程人:林福平* @编程日期:2012-8-9* @修改日期:2012-8-10**/2. Java语言中分隔符有哪几种?空白符有哪些?答:Java语言中的分隔符有空白符、注释和普通分隔符三种。

Java语言中的空白符(White Space)包括空格(SP,space)、制表符(‘\t’,Tab键)、走纸换页(‘\f’)、回车(‘\r’)和换行(‘\n’)。

3. 简述标识符的用途。

下列字符串中,哪些是标识符?PIx2 -length a+b _bytes $long MIN_VALUE答:Java语言中的标识符用于对类、方法、变量、类型、数组和文件等进行命名。

上述字符串中,以下这些是Java语言的标识符:PIx2 _bytes $long MIN_VALUE4. 下列字符串中,哪些是关键字?true for int null $float _double答:上述字符串中,以下这些是Java语言的关键字:true for int null5. Java语言的基本数据类型分为那几大类?答:Java语言的基本数据类型分为数值类型(包括整数类型和浮点类型)、字符类型(char)和布尔类型(Boolean)。

整数类型有byte、 short、 int和long。

浮点类型有float和double。

[教学]java程序设计项目教程第3章答案

[教学]java程序设计项目教程第3章答案

一、选择题参考答案:1.B2.A3.D4.C5.A6.A7.B8.B9.A 10.A 11.A 12.D二、填空题参考答案:1.覆盖2.参数3.方法体4.public static final5.抽象6.extends7.Student String 8.class static三、简答题1.子类能够继承父类的哪些成员变量和方法?①子类可以继承父类的属性,包括实例成员变量和类成员变量。

②子类可以继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。

2.this和super关键字的作用是什么?0使用this关键字可实现调用本类的构造方法及调用被方法隐藏的成员变量。

0super关键字可调用父类的构造方法及调用父类的同名成员。

03.什么是方法的重载?什么是方法的覆盖?0方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同,参数不同是,指或者是参数的个数不同,或者是参数类型不同,或者是不同类型参数的排列顺序不同。

0类继承的过程中,子类方法跟父类方法名字相同,并且传递的参数完全一样,称子类覆盖了父类的方法。

04.什么是多态?使用多态有什么优点?0多态的表现形式主要有方法的重载和方法的覆盖。

0使用多态可根据同名方法的参数不同实现不能的功能或同一类对象根据赋予的引用对象的不同来实现不同的行为。

05.什么是包?定义包的作用是什么?0包是java提供的一种命名空间机制,实现了对类的存放和引用位置的管理,包对应一个文件夹。

0java的类库就是用包来实现了类的分类和存放,每个包中都有多组相关的类和接口。

6.什么是接口?接口中的变量和方法各有什么要求?接口是特殊的抽象类,可以想象为一个“纯”抽象类,就是一组具有特定意义的静态常量和抽象方法的集合。

属性定义时必须赋初值,是常量。

属性性前修饰符时默认该属性由final、static修饰。

接口中的方法必须是抽象方法。

7.类BB是AA类的子类。

类AA和类BB中都定义了变量x和method()方法,这种情况称为子类隐藏了父类的同名变量x并覆盖了父类的method()方法.8.输出结果为:AABB若将main()方法中的语句改为:BB b=new BB(10); 程序输出的结果是什么?AAAAAABBBB四、编程1.编写一个类,描述学生的学号、姓名、成绩。

Java程序设计基础与实战-习题答案(人邮) 第3章作业参考答案

Java程序设计基础与实战-习题答案(人邮) 第3章作业参考答案

第3章作业参考答案
1.填空题(1)类
(2)属性new
(3)thisstatic
2.选择题
简答题
(1)回答要点
面向对象的方法主要是把事物给对象化,包括其属性和行为。

面向对象编程更贴近实际生活的思想。

总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象(万物皆对象)。

(2)回答要点
•格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。

普通成员方法可以任意起名,必须有返回类型,可以没有返回值。

•作用区别
构造方法用于创立对象,并进行初始化值。

普通成员方法是用于完成特定功能的。

•调用区别
构造方法是在创立对象时被调用的,一个对象建立,只调用一次相应构造函数。

普通成员方法是由创立好的对象调用,可以调用屡次。

(3)回答要点
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间,回收之前会自动调用finalize方法,用于清理资源。

(4)回答要点
对象是类的实例,类是对象的模板
4.编程题
(1)源代码:参考本章资料文件夹下“作业1”。

(2)源代码:参考本章资料文件夹下“作业2”。

Java语言程序设计(郑莉)第三章课后习题答案

Java语言程序设计(郑莉)第三章课后习题答案

Java语言程序设计(郑莉)第三章课后习题答案1.设N为自然数:n!=1*2*3*….*n称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。

答:public class Mul{public static void main(String args[]){int i,n;float s;for(n=0;n<=10;n=n+2){if(n==0)System.out.println("0!=1\n");else{s=1;for(i=1;i<=n;i++)s=s*i;System.out.println(n+"!="+s+"\n");}}}}2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。

答:public class Math{public static void main(String args[]){int[] IntArg = new int[args.length];for(int i=0;i<args.length;i++){IntArg[i] = Integer.parseInt(args[i]);}int max,min;max=IntArg[0]>IntArg[1]?IntArg[0]:IntArg[1];max=max>IntArg[2]?max:IntArg[2];min=IntArg[0]<IntArg[1]?IntArg[0]:IntArg[1];min=min<IntArg[2]?min:IntArg[2];System.out.println("max="+max);System.out.println("min="+min);}}3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。

JAVA第三章课后习题解答

JAVA第三章课后习题解答
抽象类不具备实际功能抽象类不具备实际功能抽象类不具备实际功能是专门设计用是专门设计用是专门设计用来让子类继承的类来让子类继承的类来让子类继承的类把这些具有共同特征的方法抽象出来把这些具有共同特征的方法抽象出来把这些具有共同特征的方法抽象出来由子类负责这些抽象方法的实现由子类负责这些抽象方法的实现由子类负责这些抽象方法的实现细节而父类仅提供此方法的名称和声明没有方法的主体细节而父类仅提供此方法的名称和声明没有方法的主体细节而父类仅提供此方法的名称和声明没有方法的主体该类
System.out.println(s); return s; } }
public class TestStudent { public static void main(String args[]) { student stu = new student("0401398", "杨小明", "男",20); stu.printInfo();
【13】什么是接口?为什么要定义接口?接口和类有什么异同? [解答]:接口是用来调节各类之间的相互关系的一种结构,接口是抽象类的一种,只包含常 量和方法的定义,而没有变量和具体方法的实现,且其方法都是抽象方法。 接口定义的格式如下:
[public] interface 接口名 [extends 父接口名列表]{ … //接口体 } extends 子句有类声明的 extends 子句基本相同,不同的是一个接口可有多个父接口,用 逗号隔开,而一个类只能有一个父类。Java 中的类只能实现单重继承,这虽然可以简化编程, 但毕竟没有完全实现面向对象的功能。定义接口的主要作用,就是帮助 Java 实现类间多重 继承的结构。而且接口还有以下好处:
4
● 接口可以被多个类所实现,这些类可以不相关,从而具有相同的行为。 ● 通过接口可以了解对象的行为,而无需了解对象所对应的类的结构。

JAVA第三章习题

JAVA第三章习题

第三章Java语言面向对象的特征一、选择题1、下列对封装性的描述中,错误的是 B 。

A.封装体包含了属性和行为B.封装体中的属性和行为的访问权限是相同的C.被封装的某些信息在封装体外是不可见的D.封装使得抽象的数据类型提高了可重用性2、在类的修饰符中,规定只能被同一包类所使用的修饰符是 B 。

A.public B.默认C.final D.abstract3、在成员变量的修饰符中,规定只允许该类自身访问的修饰符是 A 。

A.private B.public C.默认D.protected4、下列关于构造方法的特点的描述中,错误的是 A 。

A.不可重载B.方法名同类名C.无返回类型D.系统自动调用5、下列关于关于静态方法的描述中,错误的是 D 。

A.在类体内说明静态方法使用关键字B.静态方法只能处理静态变量或调用静态方法C.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间D.静态方法只能用类名调用6、下列关于抽象类的描述中,错误的是 C 。

A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类7、下列关于接口的描述中,错误的是 B 。

A.接口实际上是由常量和抽象方法构成的特殊类B.一个类只允许继承一个接口C.定义接口使用的关键字是interfaceD.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现8、下列关于包的描述中,错误的是 A 。

A.包是一种特殊的类B.包是若干个类的集合C.包是使用package语句创建的D.包有有名包和无名包两种9、下列常用包中,存放用户图形界面类库的包是 A 。

A.java.awtB.ngC.java.utilD.java.io10、下列是系统提供的常用的类,所有类的父类的类是 B 。

A.MathB.ObjectC.SystemD.String二、判断题1、类是一种类型,也是对象的模板。

JAVA第三章习题答案 (2)

JAVA第三章习题答案 (2)

o=cno; ame=cname; this.credit=credit; this.period=period; } public void setCno(String cno){ o=cno; } public String getCno(){ return cno; } public void setCname(String cname){ ame=cname; } public String getCname(){ return cname; } public void setCredit(double credit){ this.credit=credit; } public double getCredit(){ return credit; } public void setPeriod(int period){ this.period=period; } public int getPeriod(){ return period; } public String toString(){ return cno+"\t"+cname+"\t"+credit+"\t"+period; } } 9.设计并实现一个 Box 类。要求:定义 3 个实例变量分别表示 Box 的长、宽和高,并定义 必要的方法。创建一个对象,求给定尺寸的立方体的表面积和体积。 //Box.java public class Box { private double length; private double width; private double height;
10.学生类的创建和使用。 (1)创建一个 Student 类,包括的私有数据成员有学号、姓名、性别、年龄等。 (2)声明一个构造方法,以初始化对象的所有数据成员。 (3)声明分别获得各数据成员(学号、姓名、性别、年龄等)的各个 public 方法。 (4)声明分别修改各数据成员(学号、姓名、性别、年龄等)的各个 public 方法。 (5 ) 声明一个 public 型的 toString( )方法, 把该类中的所有数据成员信息组合成一个字符串。 (6 ) 在类中声明统计班级总人数的私有数据成员 count, 以及获得班级总人数的 public 方法。 (7)将 Student 类放在子包 student 中。 (8 ) 在子包 student 外, 创建测试类 StudentTest。 在测试类中, 使用 Student 类创建多个对象, 测试 Student 类的每个 public 方法。 //Student.java package student; public class Student { private String sno; private String sname; private char ssex; private int sage; private static int count=0; public Student(String no,String name,char sex,int age){ sno=no; sname=name; ssex=sex; sage=age; count++; } public void setSno(String no){ sno=no; } public String getSno(){ return sno; } public void setSname(String name){ sname=name; } public String getSname(){ return sname; } public void setSsex(char sex){ ssex=sex; } public char getSsex(){ return ssex;

java第三章上机练习题

java第三章上机练习题

习题1. 数据类型转换应用【案例简介】下例说明了整型、浮点型、字符串型之间的相互转换。

【案例目的】掌握Java中两个不兼容类型能够的数据格式之间的转换。

【技术要点】高精度到低精度的数据转换时候需要进行强制转换,低精度向高精度进行转换的时候的会自动进行,字符串到其他类型的转换需要用到特定的方法。

【代码分析】public class Conversation{public static void main(String [] args){String str = "123";int j;byte b;int i=257;double d = 323.142;System.out.println("\nConversion of int to byte.");//i强制转换成byte型System.out.println("i and b "+ i + " "+b);System.out.println("\nConversion of double to int.");//d强制转换成int型System.out.println("d and i "+ d + " "+i);//d强制转换成byte型System.out.println("d and b "+ d + " "+b);j=Integer.parseInt(str); //str转换成int型System.out.println("j="+j);}}【相关知识】数据类型转换(1)简单数据类型中各类型数据间的优先关系和相互转换不同类型数据间的优先关系如下低----------------------------------------------->高byte->short->char-> int -> long -> float -> double自动类型转换规则整型,实型,字符型数据可以混合运算。

JAVA基础 第3章类与对象_练习题

JAVA基础 第3章类与对象_练习题

第3章类与对象一.选择题1.下列不属于面向对象编程的特性是(D)。

A.封装性 B. 继承性 C. 多态性 D. 编译执行2.下列类的声明中不合法的是(C)。

A. class People{…}B. class 植物{…}C. Class A{…}D. public class 共有类{…3.下列方法的声明中不合法的是(C)。

A. float area(){…}B. void area(){…}C. double area(d){…}D. int area(int r){…}4. 下列构造方法(构造器)的调用中正确的是(C)。

A. 按照一般的方法调用B. 由用户直接调用C. 只能通过new自动调用D. 被系统调用5.下列程序运行的结果是(A)。

class Book{int width;int length;}public class A{static void f(Book p){p.width=20;p.length=40;}public static void main(String args[]){Book b=new Book();b.width=10;b.length=20;f(b);System.out.print(" "+b.width);System.out.print(" "+b.length);}}A. 20 40B. 10 40C. 10 20D. 以上都不对6.下列程序运行的结果是(D)。

public class A{static void f(int y){y=y+10;}public static void main(String args[]){double x=10;f(x);System.out.println(x);}}精选文库A. 10B. 20C. 10.0D. 程序编译错误7.下列程序运行的结果是(C)。

public class A{int z=20;static void f(int y){y=z;System.out.println(y);}public static void main(String args[]){f(10);}}A. 10B. 20C. 程序编译错误D. 以上都不对8. 以下代码的输出结果为(C)。

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

第3章
一、选择题
1.下列()不属于Java语言流程控制结构?
(A)分支语句(B)跳转语句(C)循环语句(D)赋值语句2.假设a是int类型的变量,并初始化为1,则下列()是合法的条件语句?
(A)if(a){} (B)if(a<<=3){} (C)if(a=2){} (D)if(true){} 3.下列说法中,不正确的一个是(C )。

(A)switch语句的功能可以由if…else if语句来实现
(B)若用于比较的数据类型为double型,则不可以用switch语句来实现
(C)if …else if语句的执行效率总是比switch语句高
(D)case子句中可以有多个语句,并且不需要大括号{}括起来
4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是()。

(A)switch(x+y) {} (B)switch(ch+1) {}
(C)switch ch {} (D)switch(a+b); {}
5.下列循环体执行的次数是()。

int y=2, x=4;
while(--x != x/y){ }
(A)1 (B)2 (C)3 (D)4
6.下列循环体执行的次数是()。

int x=10, y=30;
do{ y-=x;x++; }while(x++<y--);
(A)1 (B)2 (C)3 (D)4
7.已知如下代码:
switch(m){
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default:System.out.println("Other Condition");
}
当m的值为()时,输出“Condition 3”
(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3
二、填空题
1.跳转语句包括、、和
2.switch语句先计算switch后面的的值,再和各语句后的值做比较。

3.if语句合法的条件值是类型。

4.continue语句必须使用于语句中。

5.break语句有两种用途:一种从语句的分支中跳出,一种是从内部跳出。

6.do -while循环首先执行一遍,而while循环首先判断。

7.与C++语言不同,Java语言不通过语句实现跳转。

8.每一个else 子句都必须和它前面的一个距离它最近的子句相对应。

9.在switch 语句中,完成一个case 语句块后,若没有通过break 语句跳出switch 语句,则会继续执行后面的语句块。

10.在for 循环语句中可以声明变量,其作用域是。

四、编写程序
1.利用if 语句,根据下列函数编写一个程序,当键盘输入x 值时,求出并输出y 的值。

2.利用switch 语句将学生成绩分级,当从键盘中输入学生成绩在100~90范围时,输出“优秀”,在89~80范围时输出“良好”,在79~70范围时输出“中等”,在69~60范围时输出“及格”,在59~0范围时输出“不及格”,在其他范围时输出“成绩输入有误!”。

3.利用for 循环,计算1+3+7+……+(220-1)的和。

4.已知n
n S 1114131211--++-+-= ,利用while 循环编程求解n=100时的S 值。

5.利用do …while 循环,计算1!+2!+3!+……+100!的和。

6.编程序,求∑=1013k k
7.编写打印“九九乘法口诀表”的程序。

9.水仙花数是指其个位、十位和百位三个数的立方和等于这个三位数本身,求出所有的水仙花数。

10.编写一个程序,接受用户输入的两个数据为上、下限,然后输出上、下限之间的所有素数。

相关文档
最新文档