JAVA第三章习题答案 (2)
- 格式:pdf
- 大小:115.04 KB
- 文档页数:5
明解JAVA第三章答案练习3-1package candle1220;import java.util.Scanner;public class Nightwatch {public static void main(String[] args){Scanner stdIn=new Scanner(System.in);System.out.print("整数值");int n=stdIn.nextInt();if(n>0)System.out.println("其绝对值是"+(n));elseSystem.out.println("其绝对值是"+(-n));}}练习3-2package candle1220;import java.util.Scanner;public class Nightwatch {public static void main(String[] args){Scanner stdIn=new Scanner(System.in);System.out.print("整数A:");int a=stdIn.nextInt();System.out.print("整数B:");int b=stdIn.nextInt();if(a%b==0)System.out.println(b+"是"+a+"的约数");elseSystem.out.println(b+"不是"+a+"的约数");}}练习3-3同样可以运⾏练习3-4import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("a:");int a=input.nextInt();System.out.print("b:");int b=input.nextInt();if(a>b)System.out.print("a更⼤");elseif(a==b)System.out.print("⼀样⼤");elseSystem.out.print("b更⼤");}}练习3-5import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%5==0)System.out.print("该值可以被5整除");elseSystem.out.print("该值不可以被5整除"); }}练习3-6import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%10==0)System.out.print("该值是10的倍数");elseSystem.out.print("该值不是10的倍数"); }}练习3-7import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%3==0)System.out.print("该值可以被3整除");else if(a%3==1)System.out.print("该值除以3余1");elseSystem.out.print("该值除以3余2");}}练习3-8import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊分数:");int a=input.nextInt();if(a>=0&&a<60){System.out.println("不及格");}else if(a>=60&&a<70){System.out.println("及格");}else if(a>=70&&a<80){System.out.println("良");}else if(a>=80&&a<=100){System.out.println("优");}else{System.out.println("请输⼊合理的分数");} }}练习3-9import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in); System.out.print("a=:");int a=input.nextInt();System.out.print("b=:");int b=input.nextInt();System.out.print(a>b?a:b);}}练习3-10import java.util.Scanner;public class New{public static void main(String[] args){Scanner input =new Scanner (System.in); System.out.print("a=");int a=input.nextInt();System.out.print("b=");int b=input.nextInt();if(a>=b)System.out.print(a-b);elseSystem.out.print(b-a);}}练习3-11import java.util.Scanner;public class New{public static void main(String[] args){Scanner input =new Scanner (System.in); System.out.print("a=");int a=input.nextInt();System.out.print("b=");int b=input.nextInt();int c=a-b;if(c>10||c<-10)System.out.print("它们的差值⼤于等于11");elseSystem.out.print("它们的差值⼩于等于10"); }}练习3-12import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner(System.in); System.out.print("a=");int a =input.nextInt();System.out.print("b=");int b =input.nextInt();System.out.print("c=");int c =input.nextInt();int min1=a<b?a:b;int min=min1<c?min1:c;System.out.print(min);}}练习3-13import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in); System.out.print("a=");int a =input.nextInt();System.out.print("b=");int b =input.nextInt();System.out.print("c=");int c =input.nextInt();int mid1=a<b?b:a;int mid=mid1<c?mid1:c;System.out.print(mid);}}练习3-14// 计算两个整数值中较⼩的值和较⼤的值import java.util.Scanner;class New {public static void main(String[] args) {Scanner stdIn = new Scanner(System.in); System.out.print("整数a:");int a = stdIn.nextInt();System.out.print("整数b:");int b = stdIn.nextInt();if(a==b){System.out.print("两个整数相等");}else{int min, max; // 较⼩的值/较⼤的值if (a < b) { // 如果a⼩于bmin = a;max = b;}else{ // 否则min = b;max = a;}System.out.println("较⼩的值是" + min + "。
第2章习题4角谷猜想:任何一个正整数n,如果它是偶数则除以2,如果是奇数则乘以3加上1,这样得到一个新的整数,如继续进行上述处理,则最后得到的数一定是1。
编写应用程序和小程序程序分别证明:所有的3至10000的数都符合上述规则。
******************************************************************************* *************/// 程序清单/*方法1:采用小程序*/import java.awt.*;import java.util.*;import java.applet.Applet;public class jiaogu extends Applet{public void paint(Graphics g){int x,n,i=10;for(x=3;x<=10;x++){n=x;while(n!=1)if(n%2==0) n=n/2;else n=n*3+1;g.drawString (x+" 符合角谷猜想!",25,25+i);i=i+15;}}}/** 方法2: 采用应用程序*/class jiaogu{public static void main(String args[]){int x,n,i;for(x=3;x<=1000;x++){n=x;while(n!=1)if(n%2==0) n=n/2;else n=n*3+1;System.out.println(x+" 符合角谷猜想!");}}}/****************************************************************************** **************第2章习题5编写一个applet,要求输入2个整数,在状态条显示较大的数,紧跟着显示“is larger”。
第3章测验-3.2类的基本架构介绍一、单选题 (共100.00分)1.下列哪个类声明是正确的A.abstract final class H1{…}B.abstract private move(){…}C.protected private number;D.public abstract class Car{…}正确答案:D2.符合对象和类的关系的是:A.人和老虎B.书和汽车C.父亲和儿子D.汽车和交通工具正确答案:D3.下面关于java中类的说法哪个是不正确的A.类体中只能有变量定义、常量定义和成员方法的定义,不能包含“x=3;”这样的语句。
B.构造函数是类中的特殊方法C.主类一定要声明为public。
D.一个java文件中可以有多个class定义。
正确答案:C4.下面哪个单词是Java语言的关键字A.FloatB.thisC.stringD.unsigned正确答案:B5.Java编程所必须的默认引用包为A.java.sys包ng包包D.以上都不是正确答案:B6.以下哪个是JAVA的关键字?A.NULLB.newC.instanceOfD.wend正确答案:B7.下面哪个是Java语言中正确的标识符A.3comB.importC.thatD.this正确答案:C8.数组中可以包含什么类型的元素?A.int型B.string型C.数组D.以上都可以正确答案:D9.在Java中函数main()的返回值是:()A.StringB.intC.charD.void正确答案:D10.java应用在消费电子市场上开发平台名称为:A.JDKB.J2MEC.J2SED.J2EE正确答案:B第3章测验-3.4使用对象一、单选题 (共100.00分)1.构造方法何时被调用A.类定义时B.创建对象时C.调用对象方法时D.使用对象的变量时正确答案:B2.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
第三章习题解答3.1什么是面向对象技术?它有什么优点?通过面向对象的方式,将现实世界的物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
面向对象技术的最大优点是有效支持重用,使得大的程序也变得相对容易维护。
3.2面积对象的程序设计和面向过程的程序设计有什么区别?面向过程语言编程模式是:程序=数据结构+算法编程时需要考虑和内容是的程序什么、怎么做、重点考虑每个实现的细节。
面向对象的语言的编程模式是:程序=对象+消息程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
3.3在程序中类和对象有什么区别?类是同一种对象的描述,类概括了同类对象的共有性质:数据和方法。
类的每个对象都有自己的标识,但它们具有相同的一级属性和提供相同的方法。
在程序中,对象的名称用于捐弃引用对象,对象的成员变量用于存储对象的状态值,对象和方法用于描述对象的行为。
3.4 类变量和实例变量,以及类方法和实例方法的区别。
加载类之前创建对象之后调用方法访问权限成员变量实例变量不分配内存各个对象之间各自分配独立的内存空间对象名.实例变量名被实例方法,构造方法访问类变量直接分配内存各个对象之间共享这段已经分配完的内存对象名.类变量名;类名.类变量名被实例方法,类方法,构造方法访问成员方法实例方法不分配入口地址共享一个入口地址对象名.实例方法名实例变量、类变量,实例方法、类方法类方法直接分配入口地址共享这个入口地址对象名.类方法名;类名.类方法名类变量、类方法3.5 子类能继承超类的哪些成员变量和方法?同包继承不同包继承(import进来的)私有(private)不继承不继承友好(缺省默认)继承不继承受保护(protected)继承继承共有(public)继承继承3.6 子类在什么情况下能隐藏超类的成员变量和方法?解:在子类重载父类的成员变量、方法的情况下。
第3章面向对象程序设计基础【1】什么是Java程序使用的类?什么是类库?[解答]:Java程序的基本单位是类。
对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。
类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。
Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。
【2】如何定义方法?在面向对象程序设计中方法有什么作用?[解答]:方法的定义由两部分组成:方法声明和方法体。
方法声明的基本格式如下:返回类型方法名(形式参数){… //方法体内容}方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。
在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。
【3】简述构造方法的功能和特点。
下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。
void Student(int no,String name){studentNo=no;studentName=name;return no;}[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。
构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。
以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。
编写Java程序创建student类的对象及测试其方法的功能。
第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:所有类11.定义一个表示学生的类Student,包括的成员变量有:学号、姓名、性别、年龄;成员方法有:获得学号、姓名、性别、年龄;修改年龄。
并书写Java程序创建Student类的对象及测试其方法的功能。
一、选择题1. D2.D3.C4.C5.D6.C7.C8.D9.A二、填空题1.<html>,</html>。
2.<head>,</head>3.<body>、</body>4. <title>,</title>5.在浏览器中显示时,按照编辑工具中文档预先排好的形式显示内容。
6.HTML元素的选取编制的,可以对元素执行某些操作。
7.模块化。
8.Flexbox,伸缩容器、伸缩项目9.可以给盒子设置圆角10.声明区、定义区、文档主体区11.DOM解析、SAX解析。
三、简答题1. 简要说明表格与框架在网页布局时的区别①表格是在同一个网页中将页面划分为不同区域,然后进行网页布局的,在它的单元格中可以放置具体的内容。
②框架是在同一个浏览器窗口中显示多个网页;③框架可以通过指定超链接的目标框架获得交互式的布局效果。
2. 表单是实现动态交互式的可视化界面,在表单开始标记中一般包含哪些属性,其含义分别是什么?Name表示表单的名称,id表示表单的id标识,action将表单指向一个接收表单信息的程序文件,mothod定义了向服务器处理程序发送表单信息的方法,style定义表单的样式,title定义表单的标题等。
3. Javascript的常用数据类型有哪些?并举例说明。
javascript中有5中数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number 和String,还有一种复杂数据类型object。
object本质是由一组键值对组成的。
typeof操作符:用于检测给定变量的数据类型,对一个值试用typeof操作符可能返回下列某个字符串:“undefined”表示值未定义;“boolean”表示值是布尔值;“string”表示值是字符;“number”表示值是数值;“object”表示值是对象或null;“function”表示值是函数;Undefined类型:Undefined类型只有一个值即undefined。
java3课后习题答案Java3课后习题答案在学习Java3课程后,我们经常会遇到一些习题,这些习题旨在帮助我们巩固所学的知识,并提高我们的编程能力。
在这篇文章中,我们将为大家总结一些Java3课后习题的答案,希望能够帮助大家更好地理解和掌握Java编程。
1. 编写一个Java程序,计算并输出1到100之间所有偶数的和。
```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum);}}```2. 编写一个Java程序,找出一个整数数组中的最大值和最小值。
```javapublic class MaxMinInArray {public static void main(String[] args) {int[] array = {5, 3, 9, 1, 7, 4};int max = array[0];int min = array[0];for (int i = 1; i < array.length; i++) {if (array[i] > max) {max = array[i];}if (array[i] < min) {min = array[i];}}System.out.println("数组中的最大值为:" + max);System.out.println("数组中的最小值为:" + min);}}```3. 编写一个Java程序,实现一个简单的计算器,能够进行加减乘除运算。
Java语⾔程序设计与数据结构(梁勇版)基础版课后习题第三章3.1import java.util.Scanner;/*** 解⼀元⼆次⽅程*/public class T3_1 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("Enter a,b,c:");double a = scanner.nextDouble();double b = scanner.nextDouble();double c = scanner.nextDouble();double d=b*b-4*a*c;if(d>0){double r1=(-b+Math.pow(d,0.5))/(2*a);double r2=(-b-Math.pow(d,0.5))/(2*a);System.out.println("The equation has two roots "+r1+" and "+r2);}else if(d==0){double r=(-b)/(2*a);System.out.println("The equation has one root "+r);}else{System.out.println("The equation has no real roots");}}}3.2/*** 将三个数相加*/public class T3_2 {public static void main(String[] args) {int number1 = (int) (System.currentTimeMillis() % 10);int number2 = (int) (System.currentTimeMillis() / 10 % 10);int number3 = (int) (System.currentTimeMillis() / 100 % 10);Scanner input = new Scanner(System.in);System.out.println("What is " + number1 + " + " + number2 + " + " + number3 + "? ");int answer = input.nextInt();System.out.println(number1 + " + " + number2 + " + " + number3 + " = " + answer + " is " +(number1 + number2 + number3 == answer));}}3.3import java.util.Scanner;/*** 求解2*2线性⽅程*/public class T3_3 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.print("Enter a,b,c,d,e,f:");double a=scanner.nextDouble();double b=scanner.nextDouble();double c=scanner.nextDouble();double d=scanner.nextDouble();double e=scanner.nextDouble();double f=scanner.nextDouble();if(a*d-b*c==0){System.out.println("The equation has no solution");}else{double x=(e*d-b*f)/(a*d-b*c);double y=(a*f-e*c)/(a*d-b*c);System.out.println("x is "+x+" and y is "+y);}}}3.4* 随机⽉份*/public class T3_4 {public static void main(String[] args) {int month = (int) (Math.random() * 12 + 1);System.out.println(month + "⽉");switch (month) {case 1:System.out.println("January");break;case 2:System.out.println("February");break;case 3:System.out.println("March");break;case 4:System.out.println("April");break;case 5:System.out.println("May");break;case 6:System.out.println("June");break;case 7:System.out.println("July");break;case 8:System.out.println("August");break;case 9:System.out.println("September");break;case 10:System.out.println("October");break;case 11:System.out.println("November");break;case 12:System.out.println("December");break;}}}3.5import java.util.Scanner;/*** 给出将来的⽇期*/public class T3_5 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("Enter today's day:");int day = scanner.nextInt();System.out.print("Enter the number of days elapsed since today:");int days = scanner.nextInt();System.out.println("Today is " + getDays(day) + " and the future day is " + getDays((days + day) % 7)); }public static String getDays(int day) {switch (day) {case 0:return "Sunday";case 1:return "Monday";case 2:return "Tuesday";case 3:return "Wednesday";case 4:return "Thursday";case 5:return "Friday";case 6:return "Saturday";default:return null;}}3.6import java.util.Scanner;public class T3_6 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("Enter weight in pounds:");double weight = scanner.nextDouble();System.out.print("Enter feet:");double feet = scanner.nextDouble();//1 feet= 12inchesSystem.out.print("Enter inches:");double inches = scanner.nextDouble();final double KILOGRAMS_PER_POUND = 0.45359237;final double METERS_PER_FEET = 0.3048;//Compute BMIdouble weightInKilograms = weight * KILOGRAMS_PER_POUND;double heightInMeters=((inches/12)+feet)*METERS_PER_FEET;double bmi=weightInKilograms/(heightInMeters*heightInMeters);//Display resultSystem.out.println("BMI is "+bmi);if(bmi<18.5)System.out.println("Underweight");else if(bmi<25)System.out.println("Normal");else if(bmi<30)System.out.println("Overweight");elseSystem.out.println("Obese");}}3.9import java.util.Scanner;/*** 检验ISBN-10*/public class T3_9 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int sum=0,num=1;System.out.print("Enter the first 9 digits of an ISBN as integer:");String isbn=scanner.next();for(int i=0;i<9;i++){int j=isbn.charAt(i)-'0';sum+=j*num++;}System.out.println("The ISBN-10 number is "+(((sum%11)==10)?(isbn+"X"):(isbn+(sum%11)))); }}3.15import java.util.Scanner;/*** 彩票*/public class T3_15 {public static void main(String[] args) {//Generate a lottery numberint lottery = (int) (Math.random() * 1000);//Prompt the user to enter a guessScanner input = new Scanner(System.in);System.out.print("Enter your lottery pick (three digits):");int guess = input.nextInt();//Get digits from lotteryint lotteryDigit1 = lottery / 100;int lotteryDigit2 = lottery % 100 / 10;int lotteryDigit3 = lottery % 10;//Get digits from guessint guessDigit1 = guess / 100;int guessDigit2 = guess % 100 / 10;int guessDigit3 = guess % 10;System.out.println("The lottery number is " + lottery);//Check the guessif (guess == lottery) {System.out.println("Exact match: you win $10000");} else if (((guessDigit1 == lotteryDigit1) && (guessDigit2 == lotteryDigit3)&& (guessDigit3 == lotteryDigit2)) || ((guessDigit1 == lotteryDigit2) && (guessDigit2 == lotteryDigit3) && (guessDigit3 == lotteryDigit1)) ||((guessDigit1 == lotteryDigit2) && (guessDigit2 == lotteryDigit1) && (guessDigit3 == lotteryDigit3)) || ((guessDigit1 == lotteryDigit3) && (guessDigit2 == lotteryDigit1) && (guessDigit3 == lotteryDigit2)) || ((guessDigit1 == lotteryDigit3) && (guessDigit2 == lotteryDigit2) && (guessDigit3 == lotteryDigit1))) { System.out.println("Match all digits: you win $3000");} else if ((guessDigit1 == lotteryDigit1) || (guessDigit1 == lotteryDigit2) || (guessDigit1 == lotteryDigit3) || (guessDigit2 == lotteryDigit2) || (guessDigit2 == lotteryDigit3) ||(guessDigit3 == lotteryDigit3)) {System.out.println("Match one digits: you win $1000");} else {System.out.println("Sorry, no match");}}}。
第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。
第三章面向对象程序设计一、选择题1.下列不属于面向对象编程的三个特征的是(B)A.封装B.指针操作C.多态性D.继承2.类所实现的接口以及修饰不可以是(D)A.publicB.abstractC.finalD.void3.下列类的定义,错误的是(D)A.public class test extends Object{……}B.final class operators{……}C.class Point{……}D.void class Point{……}4.关键字supper的作用是(D)A.用来访问父类被隐藏的成员变量B.用来调用父类中被重载的方法C.用来调用父类的构造函数D.以上都是5.关于对象的删除,下列说法正确的是(C)A.必须由程序员完成对象的清除B.java把没有引用的对象作为垃圾收集起来并释放C.只有当程序中调用System.gc()方法时才能进行垃圾收集D.java中的对象都很小,一般不进行删除操作。
二、填空题1.把对象实例化可以生成多个对象,使用____new_____运算符为对象分配内存空间。
2.java程序引入接口的概念,是为了弥补只允许类的____单继承____的缺憾。
3.java语言以___类____为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
4.抽象方法只能存在于抽象类中。
抽象方法用关键字___abstract_____来修饰。
5.java语言中____Object___是所有类的根.6.在java中有一种叫做_____构造函数__的特殊方法,在程序中用它来对类成员进行初始化.7.new是___创建___对象的操作符.8.我们在java程序中,把关键字____super____加到方法名称的前面,来实现子类调用父类的方法9.在java程序里,同一类中重载的多个方法具有相同的方法名和_不同的____的参数列表.重载的方法可以有不同的返回值类型10.java语言通过接口支持__多重____继承,使类继承具有更灵活的扩展性11.java语言中,调用方法时,参数传递是___值___调用,而不是地址调用12.接口是一种只含有抽象方法或___常量___的一种特殊抽象类一、填空题1.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。
一、选择题参考答案: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.编写一个类,描述学生的学号、姓名、成绩。
第3章作业参考答案
1.填空题(1)类
(2)属性new
(3)thisstatic
2.选择题
简答题
(1)回答要点
面向对象的方法主要是把事物给对象化,包括其属性和行为。
面向对象编程更贴近实际生活的思想。
总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象(万物皆对象)。
(2)回答要点
•格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
•作用区别
构造方法用于创立对象,并进行初始化值。
普通成员方法是用于完成特定功能的。
•调用区别
构造方法是在创立对象时被调用的,一个对象建立,只调用一次相应构造函数。
普通成员方法是由创立好的对象调用,可以调用屡次。
(3)回答要点
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间,回收之前会自动调用finalize方法,用于清理资源。
(4)回答要点
对象是类的实例,类是对象的模板
4.编程题
(1)源代码:参考本章资料文件夹下“作业1”。
(2)源代码:参考本章资料文件夹下“作业2”。
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实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
第三章判断题在选择结构中是必需地.()语句在选择结构地中是必需地.().如果>为真或.在包含运算符地表达式中,如果它地一个或两个操作数为真,则该表达式为真.()结构和结构所做地动作是相同.().想确保当两个条件都为时才执行某一动作,可以使用逻辑与运算符.().若要确定两个条件中是否有一个为或都为时,可使用逻辑异或^.().布尔逻辑与和布尔逻辑或运算符地工作方式完全相同.().结构化方法地优点在于,只允许使用种单入口单出口地组件.().结构化程序设计提高了程序地清晰简单性,并且它只需使用三种形式地控制结构就足够了.()第三章选择题.所有地程序均可以用几种类型控制结构编写:.顺序结构、选择结构、循环结构.顺序结构、循环结构.顺序结构、选择结构.选择结构、循环结构.当条件为真和条件为假时,▁▁控制结构可以执行不同地动作......当事先不知道语句重复执行地次数时,可以用一个▁▁值来终止循环..布尔.正.标记.负.使整值变量加,下面写出地形式不对地是:.....下面程序地输出结果是:{( ){ { (“ ”);}( >);}( []){;();();}}.....下面程序地那一行可能引发错误::(){:;:;:( >){:*;:(“ ”);:;:;:}:}.....下面程序地那一行可能引发错误::;:(( )( () > ){:(“ ”);:}:(( )(() < ){:(“ ”);:}:{ (“”); }.....如果是布尔变量,下面哪个选项是正确地:.;.(){ …}.(){ …}.;.请看下面地程序代码:(>) { (“”);}(<) { (“”);}{ (“”) }当程序输出“”时,地范围为:.<.>.>.请看下面地程序代码:() {: (“”);:: (“”); ;: (“”);}当为何值时,程序段将输出字符串:....第三章程序设计题.编写一个应用程序,计算和打印从加到地累加和.用结构循环执行计算及加语句.循环必须在加到时终止. .求出三个整数地最小值..编写一个程序接收用户输入地一个—之间地整数(如果输入地数据不满足这个条件,则要求用户重新输入),利用语句输入对应地月份地天数.第三章判断题答案.难度:容易答案:错误知识点:可缺省,若不需要缺省地操作,就可以不写项..难度:容易答案:错误知识点:语句用于退出结构,当作为结构地最后一种情况时,可以不写语句..难度:容易答案:错误知识点:使用运算符地表达式,只有两个操作数都为真时该表达式才为真..难度:容易答案:正确知识点:或()运算符地使用..难度:容易答案:错误知识点:结构仅选择或忽略某一个动作,要在不同地动作之间做选择..难度:容易答案:正确知识点:逻辑与地使用..难度:容易答案:错误知识点:应该使用逻辑或运算符..难度:适中知识点:布尔逻辑与和布尔逻辑或运算符地工作方式与逻辑与和逻辑或运算符除了短路计值一点外完全相同..难度:容易答案:错误知识点:还有两种组合方式..难度:适中答案:正确知识点:结构化程序设计地优点.第三章选择题答案.难度:容易答案:知识点:所有地程序均可以用顺序结构、选择结构、循环结构三种类型控制结构编写..难度:容易答案:知识点:当条件为真和条件为假时,控制结构可以执行不同地动作..难度:容易答案:知识点:标记值地使用..难度:容易答案:知识点:赋值运算符应该是 ..难度:适中答案:知识点:循环地使用..难度:适中答案:知识点:变量应该在使用前要被初始化..难度:适中答案:知识点:是布尔运算与,而是逻辑运算与..难度:容易答案:知识点:布尔变量不能被赋予数值..难度:容易答案:知识点:如果小于,则必须小于..难度:容易答案:知识点:没有在和语句地后面.第三章程序设计题答案.难度:容易答案:源程序{( []){;;;( < ){;;}(“ :” );}}知识点:对循环结构地调用..难度:适中答案:源程序.*;.*;.*;{;;;;(){("请先输入三个待比较地整数");();();();("比较");();();();();();();}( ){(());(());(<)(<);;(<);;("三数中地最小值是:" );}}知识点:综合训练前三章所学内容. .难度:适中答案:源程序.*;{( []){;{{("请输入~之间地一个整数:");( ());();();}( ){("输入格式错误.");;}( ){(());();}( < > );(){:("月份有天.");;:("月份有或天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;}}}知识点:利用结构进行编程.。