Java参考答案(第5章)

合集下载

java各章习题答案

java各章习题答案

java各章习题答案Java各章习题答案在学习Java编程语言的过程中,习题是非常重要的一部分。

通过习题,我们可以巩固所学的知识,加深对语言特性和用法的理解。

在每一章的学习结束后,我们都会遇到一系列的习题,这些习题涵盖了本章的知识点,帮助我们检验自己的掌握程度。

下面我们来看一下Java各章习题的答案。

第一章:Java基础知识1.1 什么是Java编程语言?Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。

它具有跨平台性和安全性等特点。

1.2 Java程序的基本结构是什么?Java程序的基本结构包括包名、导入语句、类声明、主方法和其他方法。

1.3 Java中的数据类型有哪些?Java中的数据类型包括基本数据类型和引用数据类型。

基本数据类型包括整型、浮点型、字符型和布尔型。

1.4 Java中的控制语句有哪些?Java中的控制语句包括if语句、switch语句、while循环、for循环等。

第二章:面向对象编程2.1 什么是面向对象编程?面向对象编程是一种程序设计范式,它将数据和方法封装在对象中,通过对象之间的交互来实现程序的功能。

2.2 Java中的类和对象有什么区别?类是一种抽象的概念,它用来描述对象的属性和行为;对象是类的实例,它具体描述了类的属性和行为。

2.3 Java中的继承和多态是什么?继承是一种类与类之间的关系,它允许一个类继承另一个类的属性和方法;多态是一种对象的多种形态,它允许同一个方法在不同的对象上具有不同的行为。

2.4 Java中的封装和抽象是什么?封装是一种将数据和方法封装在对象中的机制,它可以保护数据的安全性;抽象是一种将对象的共性特征提取出来的机制,它可以提高代码的复用性。

第三章:异常处理3.1 什么是异常?异常是程序在运行过程中发生的错误或意外情况,它可能导致程序的中断或崩溃。

3.2 Java中的异常处理机制有哪些?Java中的异常处理机制包括try-catch语句、throw语句和throws关键字等。

Java基础入门课后习题及答案

Java基础入门课后习题及答案

《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。

2、Java程序的运行环境简称之为JRE_____。

3、编译Java程序需要使用_javac_____命令。

4、和两个可执行程序存放在JDK安装目录的bin______目录下。

5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。

二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?BA.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d: \jre;三、问答题1、简述Java的特点。

面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、简述JRE与JDK的区别。

JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。

JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。

JAVA程序设计(山东联盟-潍坊科技学院)知到章节答案智慧树2023年

JAVA程序设计(山东联盟-潍坊科技学院)知到章节答案智慧树2023年

JAVA程序设计(山东联盟-潍坊科技学院)知到章节测试答案智慧树2023年最新第一章测试1.以下对Java 语言不正确的描述是( )A. Java语言是一个完全面向对象的语言。

B. Java是结构中立与平台无关的语言。

C. Java是一种编译性语言。

D. Java是一种结构化语言。

参考答案:Java是一种结构化语言2.以下说法正确的是( )(多选)A.用javac命令运行编译过的java 程序。

B.字节码文件扩展名是.java。

C.Java源程序文件的扩展名必须是.java。

D.Java编译器将源文件编译为字节码文件。

参考答案:Java编译器将源文件编译为字节码文件;Java源程序文件的扩展名必须是.java3.在命令窗口下执行一个Java 程序“FirstApp” 的方法是()A.直接双击编译好的Java 目标码文件执行B.运行“javac FirstApp.java; java FirstAppC.运行“java FirstApp.java” ; java FirstAppD.运行“javac FirstApp.class”参考答案:运行“javac FirstApp.java; java FirstApp4.下列说法正确的是( )A.Java语言的标识符是区分大小写的B.源文件名与public类名可以不相同C.源文件扩展名为.jarD.源文件中public类的数目不限参考答案:Java语言的标识符是区分大小写的5.如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同()参考答案:对第二章测试1. Java中的char型数据占用()个字节参考答案:22.15/2的结果是()参考答案:73.能够终止循环和switch的语句是()参考答案:break4.若已定义 int[ ] a= {1,2,3,4} ; 则对a数组元素错误的引用是()参考答案:a[4]5.Java中没有无符号数()参考答案:对6. 3.14是float类型的()参考答案:错7.不同类型数据混合运算时,会自动转换成同一类型()参考答案:对8.^表示乘方运算()参考答案:错9.if后面的表达式可以为任何类型()参考答案:错10.do-while循环至少执行一次()参考答案:对11.数组是引用类型()参考答案:对12.Java声明数组时不能指定其长度()参考答案:对13.以下有关标识符说法不正确的是:()参考答案:Java的保留字也可作为标识符使用。

Java程序设计知到章节答案智慧树2023年信阳农林学院

Java程序设计知到章节答案智慧树2023年信阳农林学院

Java程序设计知到章节测试答案智慧树2023年最新信阳农林学院第一章测试1.Java程序中的注释有哪几种?参考答案:/* 多行注释 */;//单行注释;/** 文档注释 */2.以下选项中,哪些属于JDK工具?参考答案:Java运行工具;Java编译器;Java打包工具;Java文档生成工具3.以下关于支持Java运行平台的叙述,哪项错误?参考答案:Java语言与平台无关。

Java程序的运行结果依赖于操作系统4.下面哪种类型的文件可以在Java虚拟机中运行?参考答案:.class5.JDK、JRE和JVM之间的关系是()参考答案:JDK包括JRE,JRE包括JVM第二章测试1.下列代码执行后,输出到控制台的内容是?public class Test{public static void main(String args[]){int m=6789;int[] a=new int[4];for(int i=0;i<a.length;i++){a[i]=m%10;m=m/10;}System.out.printf("%d%d%d%d",a[0],a[1],a[2],a[3]);}}参考答案:98762.下列代码执行后,输出到控制台的内容是?public class Test{public static void main(String args[]){int m=100,n=10;if (m>n){n=100;m=10;}elsen=-100;m=-99;System.out.printf("%d:%d",m,n);}}参考答案:-99:1003.下列ABCD注释标注的哪行代码有错误?public class Test{public static void main(String args[]){int a[] ={1,2,3,4}; //Afor(int n=0;n<a.length;n++){ //BSystem.out.println(a[n]);}for(int i:a){ //CSystem.out.println(i);}int m=0;for(m:a){ //DSystem.out.println(m);}}}参考答案:D4.下列ABCD注释标注的哪行代码有错误?public class Test{public static void main(String args[]){int m=12;int n=12;int number=100+'w'; //Aswitch(number){case 12:n++; //Bcase 100:n--; //Cbreak;case n: m++; //D}}}参考答案:D5.下列语句序列执行后,k 的值是()。

Java Web 程序设计教程 第5章习题答案(范立锋、林果园 编著)

Java Web 程序设计教程 第5章习题答案(范立锋、林果园 编著)

Java Web 程序设计教程(范立锋、林果园编著)第5章 Struts 2框架入门习题答案1.简单介绍MVC设计模式。

MVC英文为Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成3个层:模型层、视图层和控制层,从而可以使同一个应用程序使用不同的表现形式。

2.简单介绍Struts 2的工作流程。

Struts 2框架的基本工作流程如下图所示:Struts 2工作流程图对Struts 2工作流程的详细说明如下:①客户端初始化一个指向Web容器(例如Tomcat)的请求。

②请求经过一系列的过滤器(Filter)的过滤并传递给FilterDispatcher。

③FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定Action的映射信息。

④如果找到符合的映射信息,ActionProxy通过Configuration Manager在配置文件“struts.xml”中搜索被请求的Action类。

⑤ActionProxy创建一个被请求Action的实例,该实例将用来处理请求信息。

⑥如果在“struts.xml”文件中存在与被请求Action相关的拦截器配置,那么该Action的实例被调用的前后,这些拦截器也会先被执行。

⑦Action对请求处理完毕以后返回一个逻辑视图,由此逻辑视图寻找对应的物理视图(可以是JSP、Velocity模板、FreeMarker模板等),并返回给客户端。

3.在创建Action类时,需要注意哪些方面?在Struts 2中,Action可以以多种形式存在:普通的Java类、实现Action接口和继承ActionSupport 类。

在Action类中通常包含以下内容:无参数的execute()方法:用于处理用户请求。

私有属性及其属性的set、get方法:Action类中封装HTTP请求参数,因此私有属性的名称应和HTTP 请求参数的名称保持一致;程序通过属性的set、get方法来处理请求参数,所以必须提供属性的set、get方法。

第5章JavaAPI练习题2

第5章JavaAPI练习题2

第5章JavaAPI练习题2⼀、填空题1. 通过循环完成查找,直到找不到⼦串为⽌,此时indexOf()⽅法返回值为【】。

2. 可以使⽤【】类的contains()⽅法,判断整串中是否包含⼦串。

3. JAVA中 int类型对应的包装类是【】。

4. 针对字符串的操作,Java提供了两个字符串类,分别是String和【】。

5. System类的【】静态⽅法可以启动垃圾回收器。

⼆、判断题1. 在JDK5.0中,switch语句可以⽀持字符串类型。

()2. StringBuffer类的append()⽅法可以将数组元素和空格连接成字符串。

()3. ceil()、floor()和round()⽅法返回的都是double类型的数。

()4. java.util.Random的nextInt( )⽅法会⽣成⼀个正整数类型的伪随机数。

()5. JAVA中拆箱是指将引⽤数据类型的对象转为基本数据类型。

()三、选择题1. 下⾯哪个选项可以获取Runtime类的实例()A: Runtime r = new Runtime();B: Runtime r = Runtime.getRuntime();C: Runtime r = Runtime.getInstance();D: 以上选项都不能获取Runtime实例2. 下列选项中,可以正确实现String初始化的是()A: String str = "abc";B: String str = 'abc';C: String str = abc;D: String str = 0;3. 若double val = Math.ceil(-11.9);,则val的值是()A: 11.9B: -11.0C: -11.5D: -12.04. 下列关于System类的描述中,错误的是()A: System类是final关键字修饰的类,它不能被其他类所继承B: System类不能被实例化C: System类中定义了许多⽅法,但是没有定义字段D: System类中提供了获取当前系统属性的⽅法5. 下列选项中,对Math.random()⽅法描述正确的是( )A: 返回⼀个不确定的整数B: 返回0或是1C: 返回⼀个随机的double类型数,该数⼤于等于0.0⼩于1.0D: 返回⼀个随机的int类型数,该数⼤于等于0.0⼩于1.0四、简答题1. 在Java中可以通过哪些⽅式对String进⾏初始化?。

《Java程序设计》教材第五章练习题答案

《Java程序设计》教材第五章练习题答案

习题一、选择题1. 面向对象程序设计的基本特征是(BCD)。

(多选)A.抽象B.封装C.继承D.多态2.下面关于类的说法正确的是(ACD)。

(多选)A.类是Java 语言中的一种复合数据类型。

B.类中包含数据变量和方法。

C.类是对所有具有一定共性的对象的抽象。

D.Java 语言的类只支持单继承。

上机指导1.设计银行项目中的注册银行用户基本信息的类,包括账户卡号、姓名、身份证号、联系电话、家庭住址。

要求是一个标准Java类(数据私有,提供seter/getter),然后提供一个toString方法打印该银行用户的信息。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\BankUser.java”2.设计银行项目中的帐户信息,包括帐户卡号、密码、存款,要求如“练习题1”。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Account.java”3.设计银行项目中的管理员类,包括用户名和密码。

要求如“练习题1”。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Manager.java”4.创建一个Rectangle类。

添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。

测试输出一个矩形的周长和面积。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Rectangle.java”5.猜数字游戏:一个类A有一个成员变量v,有一个初值100。

定义一个类,对A类的成员变量v进行猜。

如果大了则提示大了,小了则提示小了。

等于则提示猜测成功。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Guess.java”6.编写一个Java程序,模拟一个简单的计算器。

定义名为Computer的类,其中两个整型数据成员num1和num1,编写构造方法,赋予num1和num2初始值,再为该类定义加、减、乘、除等公有方法,分别对两个成员变量执行加减乘除的运算。

java复习题库第五、六章

java复习题库第五、六章

第五章多线程选择题1. 线程调用了sleep()方法后,该线程将进入( C )状态。

A.可运行状态B.运行状态C.阻塞状态D.终止状态2. 关于java线程,下面说法错误的是(D)A.线程是以CPU为主体的行为B. java利用线程使整个系统成为异步C.创建线程的方法有两种:实现Runnable接口和继承Thread类D. 新线程一旦被创建,它将自动开始运行3.在java语言中,临界区可以是一个语句块,或者是一个方法,并用(A )关键字标识。

A.synchronizedB.includeC.importD.Thread4. 线程控制方法中,yield()的作用是(D)A.返回当前线程的引用B.使比其低的优先级线程执行C.强行终止线程D.只让给同优先级线程运行5. java用(A)机制实现了进程之间的异步执行A.监视器B.虚拟机C.多个CPUD.异步调用6. 下面代码运行的结果是什么?(D)public class MyThread implements Runnable {String myString = "Yes ";public void run() {this.myString = "No ";}public static void main(String[] args) {MyThread t = new MyThread();new Thread(t).start();for (int i=0; i < 10; i++)System.out.print(t.myString);}}A. 打印yes yes yes yes yes yes B. 打印no no no no no no no noC. 打印yes no yes no ye no ye no D. 不确定二、填空题1.____多线程____是java程序的并发机制,它能同步共享数据、处理不同的事件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
矩形类定义如下:
public class Rectangle implementsEqualDiagonal//长方形类
{
protected double length; //长度
protected double width; //宽度
publicRectangle(double length,double width)
9.什么是接口,接口与抽象类有什么区别?
接口主要用于描述某一行为功能所包含的行为方法的基本概况,即方法的名称、返回值类型以及形式参数列表等,Java语言中的接口是一组常量和抽象方法的集合。接口提供了方法声明与方法实现相分离的机制,使多个类之间表现出共同的行为功能。
虽然抽象类中可以定义抽象方法,并且不能实例化对象,但是它还是属于类,具有类的一般性质,可以定义成员变量,也可以包含非抽象方法,而这些是不能在接口定义中出现的。
{
publicRectangle(double length)
{
this.length=length;
this.width=length;
}
public doublegetDiagonal()
{ return(System.math.sqrt(2)*length); }
}
5.接口定义如下:
public interfaceShape2D//平面图形接口
2.什么是类?什么是对象?它们之间的关系是怎样的?
类是对具有共性的实物的归类及其共性的概念抽象和属性与行为能力的描述,在面向对象的程序设计中,类是数据及数据操作的封装体。它是一种复杂的数据类型,不但包含数据,而且还包含了对数据进行操作的方法(Method)。通常人们将类中的数据称为成员变量,而操作数据的方法称为成员方法,二者统称为类的成员。
三、编程题
1.提示:定义draw(绘图)接口,其中包含setColor、draw等设置颜色、绘制图形等抽象方法;定义一shape(形状)的抽象类,并自shape类继承得到各种图形子类,同时要求这些子类实现draw接口。
2.复数类的定义如下:
publicclassComplexNumber
{privatedoubleRez;//实部
public doublearea()
{returnPI*radius*radius;}
}
矩形类定义如下:
public class Rectangle implementsShape2D
{
protected double length; //长度
protected double width; //宽度
5.什么是继承?什么是多态?方法的重载和覆盖有何区别?
继承性是面向对象程序设计的核心特征之一。它是一种由已有的类创建新类的机制,也是一种自动实现类中方法和数据共享的机制。由一个已有的类定义一个新类,称为新类继承已有的类,被继承的类称为父类或超类,通过继承产生的新类称为子类或派生类。
多态性是面向对象程序设计的核心特征之一。它是指同一名字的方法可以有多种实现,即具有完全不同的执行效果或呈现出不同的执行结果状态。类的多态性提供了类中方法设计的灵活性与执行的多样性。
{
if(Imz>0)
System.out.print(Rez+"+"+Imz+"i");
elseif(Imz<0)
System.out.print(""+Rez+Imz+"i");
else
System.out.print(Rez);
}
publicComplexNumber add(ComplexNumber x)
return(newComplexNumber(sb,xb));
}
}
测试用主类(略)。
3.类的定义如下:
publicclassClassTest
{privateStringcontent;//类的成员
publicClassTest()
{
content="";
System.out.print(content);
publicMyDate(int y,int m,int d){
year=y;
month=m;
day=d;
}
}
8.什么是变量的隐藏?什么是方法的覆盖?二者有何区别?
子类重定义了与父类中同名的成员变量,则称子类隐藏了父类的成员变量。如果子类重定义了与父类中同名的成员方法,当子类方法的参数列表和返回值类型与父类的参数列表及返回值类型完全相同时,则称子类成员方法覆盖了父类的成员方法。前者针对的是成员变量,后者则为成员方法。
一、简答题
1.谈谈你对面向对象程序设计的理解。
面向对象程序设计是一种基于对象概念的软件开发方法,就是用类与对象进行程序设计,使之在计算机世界中模拟现实世界中的实体与实体之间的活动规律。在面向对程序设计中,类是数据和对数据操作的封装体,其具有封装性、继承性和多态性的基本特征。封装性是面向对象方法的基础,继承性是面向对象方法的技术关键,多态性则提供了面向对象方法设计的灵活性,这些为应用面向对象方法构建可重用软件系统奠定了基础。
10.什么是编译时多态性,什么是运行时多态性?
对于多个同名方法,如果在编译时能够确定执行同名方法中的哪一个,则称为编译时多态性,方法的重载都属于编译时多态性。如果在编译时不能确定、只有在运行时才能确定执行多个同名方法中的哪一个,则称为运行时多态性。
二、选择题
1) A 2)C 3)B 4)B 5)D 6)D 7)D 8)A 9)B
7.构造方法是否可以被继承?是否可以被重载?试举例。
子类不能继承父类中的构造方法。在一个类中可以重载多个同名不同参数的构造方法。例如:
classMyDate{
private int year;
private int month=1;
private int day=1;
publicMyDate(){year=1900;}
{
doublesb,xb;
sb=this.Rez+x.Rez;
xb=this.Imz+x.Imz;
return(newComplexNumber(sb,xb));
}
publicComplexNumber sub(ComplexNumber x)
{
doublesb,xb;
sb=this.Rez-x.Rez;
}
publicClassTest(String info)
{
content=info;
System.out.print(info);
}
}
4.接口定义如下:
public interfaceEqualDiagonal
{
public abstract doublegetDiagonal();//求对角线的长度
方法重载是指在同一个类中,定义具有相同名字且具有不同形式参数的两个(或多个)方法。方法覆盖则是指在子类中重新定义与父类中的方法完全同名且具有相同形式参数的方法。
6.什么叫构造方法?构造方法的作用是什么?
构造方法又称构造器或构造函数,它是一种与类名同名的、没有返回值类型且只能通过new运算符调用的方法。构造方法用于创建类的实例(即对象),并对实例的成员变量进行初始化。构造方法的修饰符一般采用public,以便于在其他位置根据需要定义并实例化该类的对象。
xb=this.Imz-x.Imz;
return(newComplexNumber(sb,xb));
}
publicComplexNumbermult(ComplexNumber x)
{
doublesb,xb;
sb=this.Rez*x.Rez-this.Imz*x.ImZ;;
xb=this.Imz*x.Rez+this.Rez*x.Imz;
{
public abstract double area(); //计算面积
double PI=3.14159;//常量
}
圆类定义如下:
public classCircleimplementsShape2D{Biblioteka double radius;
public Circle(double r)
{ radius=r;}
{
this.length=length;
this.width=width;
}
public doublegetDiagonal()
{ return(System.math.sqrt(length*length+width*width)); }
}
正方形类定义如下:
public class RectextendedRectangleimplementsEqualDiagonal
privatedoubleImz;//虚部
publicComplexNumber(doublea,doubleb)
{
Rez=a;
Imz=b;
}
publicdoublegetRez()
{returnRez; }
publicdoublegetImz()
{returnImz; }
publicvoidprint()
(2)保护的(protected):说明该类成员能被同一类中的其他成员、或其子类成员、或同一包中的其他类访问,不能被其他包的非子类访问。
(3)默认的(缺省):如果在声明一个成员时,成员前面缺省了修饰符,则该类成员能被同一类中的其他成员、或同一包中的其他类访问,但不能被其他包的类访问。
(4)私有的(private):说明该类成员只能被同一类中的其他成员访问,不能被其他类的成员访问,也不能被子类成员访问。
相关文档
最新文档