考试酷java 第四章

合集下载

JAVA第四章课后习题解答

JAVA第四章课后习题解答
public Test4_8(){ super("简单的四则运算器"); setSize(300,400); setVisible(true); setLayout(new GridLayout(3,1));
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(5); btn1=new Button("+"); btn2=new Button("-"); btn3=new Button("*"); btn4=new Button("÷");
public class Test4_9 extends Frame implements ActionListener{ Button btn; public Test4_9(){ super("弹出窗口练习"); setSize(300,200);
5
setVisible(true); setLayout(new BorderLayout());
TextField txtFl1,txtFl2,txtFl3;
2
Button btn; public Test4_6(){
super("简单加法运算器"); setSize(300,200); setVisible(true); setLayout(new FlowLayout());
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(10); btn=new Button("=");

java练习题一到四章

java练习题一到四章

第一章:Java基础1.1 Java语言概述1.1.1 Java语言的起源1.1.2 Java语言的特点1.1.3 Java语言的运行环境1.1.4 Java语言的开发工具1.2 Java语法基础1.2.1 数据类型1.2.2 变量和常量1.2.3 运算符1.2.4 控制语句1.3 面向对象编程1.3.1 类和对象1.3.2 构造方法1.3.3 继承1.3.4 多态1.3.5 封装1.4 异常处理1.4.1 异常的概念1.4.2 异常的捕获与处理1.4.3 自定义异常1.5 Java集合框架1.5.1 List接口1.5.2 Set接口1.5.3 Map接口1.5.4 Collection类1.5.5 Iterator接口1.5.6 Collection框架的常用类第二章:Java进阶2.1 Java多线程2.1.1 线程的概念2.1.2 线程的创建与运行2.1.3 线程同步2.1.4 线程通信2.2 Java网络编程2.2.1 URL类2.2.2 Socket编程2.2.3 HTTP协议2.3 Java数据库编程2.3.1 JDBC概述2.3.2 JDBC连接数据库2.3.3 JDBC查询与更新2.3.4 JDBC事务管理2.4 Java设计模式2.4.1 单例模式2.4.2 工厂模式2.4.3 代理模式2.4.4 装饰者模式2.4.5 策略模式第三章:Java框架3.1 Spring框架3.1.1 Spring框架概述3.1.2 依赖注入3.1.3 AOP3.1.4 Spring MVC3.2 MyBatis框架3.2.1 MyBatis概述3.2.2 MyBatis配置3.2.3 MyBatis映射文件3.2.4 MyBatis动态SQL3.3 Spring Boot框架3.3.1 Spring Boot概述3.3.2 Spring Boot配置3.3.3 Spring Boot自动配置3.3.4 Spring Boot集成3.4 Spring Cloud框架3.4.1 Spring Cloud概述3.4.2 Spring Cloud配置3.4.3 Spring Cloud服务治理3.4.4 Spring Cloud分布式事务第四章:Java项目实战4.1 Java项目开发流程4.1.1 需求分析4.1.2 系统设计4.1.3 编码实现4.1.4 测试与部署4.2 Java项目案例4.2.1 基于Spring Boot的博客系统4.2.2 基于Spring Cloud的电商平台4.2.3 基于Java的在线教育平台4.2.4 基于Java的社交网络平台第五章:Java高级特性5.1 Lambda表达式5.1.1 Lambda表达式的基本语法5.1.2 Lambda表达式的应用场景5.1.3 Stream API5.2 Java NIO5.2.1 NIO概述5.2.2 文件IO操作5.2.3 缓冲区5.2.4 非阻塞IO5.3 Java内存模型5.3.1 内存区域5.3.2 垃圾回收5.3.3 内存泄漏5.4 Java并发编程5.4.1 线程池5.4.2 锁5.4.3 同步与并发工具类5.4.4 并发编程的艺术第六章:Java Web开发6.1 HTML与CSS6.1.1 HTML基本语法6.1.2 CSS样式表6.1.3 HTML5与CSS3新特性6.2 JavaScript基础6.2.1 JavaScript语法6.2.2 常用内置对象6.2.3 事件处理6.3 Java Web技术6.3.1 Servlet6.3.2 JSP6.3.3 EL表达式6.3.4 JSTL6.3.5 Filter和Listener 6.4 前端框架6.4.1 React6.4.2 Angular6.4.3 Vue.js第七章:Java安全与性能优化7.1 Java安全机制7.1.1 权限控制7.1.2 加密技术7.1.3 安全框架7.2 Java性能优化7.2.1 常见性能问题7.2.2 JVM调优7.2.3 代码优化7.2.4 数据库优化7.3 Java监控与日志7.3.1 监控工具7.3.2 日志框架7.3.3 日志管理第八章:Java项目实战案例8.1 企业级项目架构设计8.1.1 架构模式8.1.2 微服务架构8.1.3 分布式架构8.2 实战案例一:在线购物平台8.2.1 需求分析8.2.2 系统设计8.2.3 技术选型8.2.4 项目实施8.3 实战案例二:企业资源规划(ERP)系统8.3.1 需求分析8.3.2 系统设计8.3.3 技术选型8.3.4 项目实施8.4 实战案例三:银行系统8.4.1 需求分析8.4.2 系统设计8.4.3 技术选型8.4.4 项目实施第九章:Java EE技术9.1 Java EE概述9.2 Java EE核心技术9.2.1 EJB9.2.2 JPA9.2.3 JSF9.2.4 JMS9.2.5 Java EE安全性9.3 Java EE项目案例9.3.1 企业信息管理系统9.3.2 电子商务平台9.3.3 人力资源管理系统第十章:Java开发工具与环境10.1 Java开发工具10.1.1 IntelliJ IDEA 10.1.2 Eclipse10.1.3 NetBeans10.2 构建工具10.2.1 Maven10.2.2 Gradle10.3 版本控制10.3.1 Git10.3.2 SVN10.4 调试工具10.4.1 JDBCTrace10.4.2 JProfiler10.4.3 VisualVM第十一章:Java面试题11.1 Java基础面试题11.1.1 Java内存模型11.1.2 Java集合框架11.1.3 Java多线程11.1.4 Java异常处理11.2 Java Web面试题11.2.1 Servlet生命周期11.2.2 JSP原理11.2.3 JavaScript面试题11.3 数据库面试题11.3.1 JDBC11.3.2 MySQL11.3.3 Oracle11.4 Java框架面试题11.4.1 Spring框架11.4.2 MyBatis框架11.4.3 Spring Boot框架第十二章:Java技术前沿12.1 Java 9新特性12.1.1 模块化系统12.1.2 流式API12.1.3 JShell12.2 Java 10新特性12.2.1 LocalVariable Type Inference12.2.2 ZGC12.2.3 HTTP/212.3 Java 11新特性12.3.1 JEP 321: Dynamic ClassFile Constants 12.3.2 JEP 322: ForeignMemory Access API 12.3.3 JEP 323: HTTP/2 Client12.4 Java未来发展趋势12.4.1 云计算12.4.2 微服务12.4.3 容器化技术第十三章:Java性能调优13.1 JVM性能调优13.1.1 JVM参数优化13.1.2 垃圾收集器选择13.1.3 内存泄漏检测13.2 代码性能调优13.2.1 数据结构选择13.2.2 算法优化13.2.3 循环优化13.3 网络性能调优13.3.1 网络延迟优化13.3.2 网络吞吐量优化13.3.3 网络安全优化第十四章:Java安全编程14.1 Java安全机制14.1.1 访问控制14.1.2 权限管理14.1.3 安全认证14.2 加密技术14.2.1 对称加密14.2.2 非对称加密14.2.3 哈希算法14.3 安全框架14.3.1 Spring Security14.3.2 Apache Shiro14.3.3 Java Cryptography Architecture (JCA)第十五章:Java并发编程高级15.1 并发工具类15.1.1 CountDownLatch15.1.2 CyclicBarrier15.1.3 Semaphore15.1.4 Exchanger15.2 并发编程模型15.2.1 生产者消费者模型15.2.2 管道模型15.2.3 线程池模型15.3 并发编程的艺术15.3.1 锁的优化15.3.2 死锁的避免15.3.3 线程安全的集合第十六章:Java分布式系统16.1 分布式系统概述16.1.1 分布式计算16.1.2 分布式存储16.1.3 分布式事务16.2 分布式技术16.2.1 ZooKeeper16.2.2 Kafka16.2.3 Redis16.2.4 Dubbo16.3 分布式系统设计16.3.1 负载均衡16.3.2 服务发现16.3.3 数据同步第十七章:Java大数据技术17.1 Hadoop生态圈17.1.1 Hadoop概述17.1.2 HDFS17.1.3 MapReduce17.1.4 YARN17.2 Spark17.2.1 Spark概述17.2.2 Spark Core17.2.3 Spark SQL17.2.4 Spark Streaming 17.3 Flink17.3.1 Flink概述17.3.2 Flink流处理17.3.3 Flink批处理18.1 机器学习基础18.1.1 线性回归18.1.2 逻辑回归18.1.3 决策树18.1.4 支持向量机18.2 深度学习18.2.1 神经网络18.2.2 卷积神经网络18.2.3 循环神经网络18.3 Java深度学习框架18.3.1 Deeplearning4j 18.3.2 TensorFlow 18.3.3 PyTorch答案第一章:Java基础1.1 Java语言概述Java语言的起源Java语言的特点Java语言的运行环境 Java语言的开发工具1.2 Java语法基础数据类型变量和常量运算符控制语句1.3 面向对象编程类和对象构造方法继承多态封装1.4 异常处理异常的概念异常的捕获与处理自定义异常1.5 Java集合框架List接口Set接口Map接口Collection类Iterator接口Collection框架的常用类第二章:Java进阶2.1 Java多线程线程的概念线程的创建与运行线程同步线程通信2.2 Java网络编程URL类Socket编程HTTP协议2.3 Java数据库编程 JDBC概述JDBC连接数据库JDBC查询与更新JDBC事务管理2.4 Java设计模式单例模式工厂模式代理模式装饰者模式策略模式第三章:Java框架3.1 Spring框架Spring框架概述依赖注入AOPSpring MVC3.2 MyBatis框架MyBatis概述MyBatis配置MyBatis映射文件MyBatis动态SQL3.3 Spring Boot框架Spring Boot概述Spring Boot配置Spring Boot自动配置Spring Boot集成3.4 Spring Cloud框架Spring Cloud概述Spring Cloud配置Spring Cloud服务治理Spring Cloud分布式事务第四章:Java项目实战4.1 Java项目开发流程需求分析系统设计编码实现测试与部署4.2 Java项目案例基于Spring Boot的博客系统基于Spring Cloud的电商平台基于Java的在线教育平台基于Java的社交网络平台第五章:Java高级特性5.1 Lambda表达式Lambda表达式的基本语法Lambda表达式的应用场景Stream API5.2 Java NIONIO概述文件IO操作缓冲区非阻塞IO5.3 Java内存模型内存区域垃圾回收内存泄漏5.4 Java并发编程线程池锁同步与并发工具类并发编程的艺术第六章:Java Web开发6.1 HTML与CSSHTML基本语法CSS样式表HTML5与CSS3新特性6.2 JavaScript基础 JavaScript语法常用内置对象事件处理6.3 Java Web技术ServletJSPEL表达式JSTLFilter和Listener6.4 前端框架ReactAngularVue.js第七章:Java安全与性能优化7.1 Java安全机制权限控制加密技术安全框架7.2 Java性能优化常见性能问题JVM调优代码优化数据库优化7.3 Java监控与日志监控工具日志框架日志管理第八章:Java项目实战案例8.1 企业级项目架构设计架构模式微服务架构分布式架构8.2 实战案例一:在线购物平台需求分析系统设计技术选型项目实施8.3 实战案例二:企业资源规划(ERP)系统需求分析系统设计技术选型项目实施8.4 实战案例三:银行系统需求分析系统设计技术选型项目实施第九章:Java EE技术9.1 Java EE概述Java EE核心技术EJBJPAJSFJMSJava EE安全性9.2 Java EE项目案例企业信息管理系统电子商务平台人力资源管理系统第十章:Java开发工具与环境10.1 Java开发工具。

047Java入门经典第4章课后习题答案

047Java入门经典第4章课后习题答案

3
Java 入门经典第 4 章课后习题答案
4.7 习题
选择题
1.当编译和运行下列代码时会发生什么?( BE ) public class Test { public static void main(String[] args) { char myChar='c'; switch (myChar){ default: case'a': System.out.println("a"); break; case'b': System.out.println("b"); break; } } } A.switch 块非法,因为只能使用 int 类型作为参数 B.switch 块合法 C.switch 块非法,因为 default 必须放在块的结尾处 D.运行程序后,控制台无输出 E.运行程序后,控制台输出 a 2.当编译和运行下列代码时会发生什么?( BD ) public class Test { public static void main(String[] args) { int i=5; do { System.out.println(i); }while (--i>5); System.out.println("Finished"); } }
1Байду номын сангаас
A.6
B.5
C.4
D.Finished
3.当编译和运行下列代码后输出的结果是 Second,则 x 的取值范围是?( D ) public class Test { public static void main(String[] args) { int x=( if (x>0) System.out.println("First"); else if (x>-3) System.out.println("Second"); else System.out.println("Third"); } } A.x>0 B.x<=0 C.x<-3 D.x<=0 且 x>-3 4.当编译和运行下列代码时会发生什么?( C ) public class Test { public static void main(String[] args) { boolean flag=false; if(flag=true) { System.out.println("true"); }else{ System.out.println("false"); } } } A.编译错误 B.运行错误 C.输出 true D.输出 false 解析:注意 if(flag=true),若为 if(flag==true),则结果为 D 5. .当编译和运行下列代码时会发生什么?( C ) public class Test { public static void main(String[] args) { int total=0; for(int i=0;i>total;i++) { System.out.println(i); } System.out.println(total); } }

java程序设计基础 第3版 课后习题解答 第四章

java程序设计基础  第3版 课后习题解答 第四章

Java第四章课后习题解答:1.//filename: App4_1.javaimport java.io.*;public class App4_1{public static void main(String[] args)throws IOException{ float score;String str;BufferedReader buf=new BufferedReader(new InputStreamReader (System.in));System.out.println("请你输入一个成绩: ");str=buf.readLine();score=Float.parseFloat(str);int grade=(int)score/10;switch(grade){case 10:case 9: System.out.println(" 优");break;case 8: System.out.println(" 良");break;case 7: System.out.println(" 中");break;case 6: System.out.println(" 及格");break;default: System.out.println(" 不及格");}}}2.//filename: App4_2.javaimport java.io.*;public class App4_2{public static void main(String[] args){int score;int grade;char result;Scanner b = new Scanner(System.in);score = b.nextInt();grade = score / 10;switch(grade)case 10:case 9:case 8: result = 'A';break;case 7: result = 'B';break;case 6: result = 'C';break;default: result = 'D';break;}System.out.println(result);}}3.//filename: App4_3.javapublic class App4_3{public static void main(String[] args) {int i;for( i=1;i<=100;i++){if(i%3==0 && i%7==0)System.out.println("i="+i);}}}4.//filename: App4_4.javapublic class App4_4{public static void main(String[] args) {int i,n;int s=0;for(i=1,i<=n,i++)n=i*n;s=s+n;System.out.println("s="+s);}}//filename: App4_5.javaimport java.util.*;public class App4_5{public static void main(String arg[]){Scanner insert=new Scanner(System.in);int n;System.out.print("请输入一个数字n:");n = insert.nextInt();double b=1;double e=1;double f=1;double g= (-1);double sum=0;for (int i=1; i <= n ; i++ ){e=e*i;b=( 1 / e );g = g*(-1);f=b*g;sum=sum+f;}System.out.println("sum=1!-(1/2!)+(1/3!)-(1/4!)+......-((-1)^(n-1))*(1/n!)="+sum); }}6.//filename: App4_6.javapublic class App4_6{public static void main(String[] args){for(int i=100; i<1000; i++){int gw = i%10;int sw = i/10%10;int bw = i/100;int gl=g*g*g;int sl=s*s*s;int bl=b*b*b;int s = gl+sl+bl;boolean eq = s==i;if(eq)System.out.println(i+"="+bw+"^3+"+sw+"^3+"+gw+"^3"); }}}}7.//filename: App4_7.javaimport java.util.*;public class App4_7{public static void main(String[] args){int x,s=0;System.out.print("请输入你需要的整数:");Scanner scan=new Scanner(System.in);x=scan.nextInt();for(int i=1;i<x;i++){if(x%i==0){s=s+i;}els{continue;}}if(s==x){System.out.println(x+"是完全数");}else{System.out.println(x+"不是完全数");}}}8.//filename: App4_8.javaimport java.util.*;public class App4_8{public static void main(String[] args){String n;int d,x;int m,end=0,sum=0;System.out.print("请输入一个数:");Scanner scan=new Scanner(System.in);n=scan.nextLine();d=n.length();x=Integer.parseInt(n);for (int i=1; i<=d;i++ ){m=x%10;x=x/10;end=end+m;}System.out.println(end);}}9.//filename: App4_9.javaimport java.util.*; public class App4_9 {public static void main(String arg[]){Scanner insert=new Scanner(System.in);float i;int j;float k;System.out.print("输入一个浮点型数字:");i = insert.nextFloat();j = (int)i;k = i-j;System.out.println("输入的数字的整数部分:"+j);System.out.println("输入的数字的小数部分:"+k);}}10.//filename: App4_10.javapublic class App4_10{public static void main(String arg[]){double x=3000;int y=0;while (x >= 5 ){x *= 0.5;y += 1;}System.out.println("需要"+y+"天,绳子的长度会短于米"); }}11.//filename: App4_11.javapublic class App4_11{public static void main(String arg[]){int q;int h = 1;for (int i= -1 ; i <= 4 ; i++ ){h = h + i;q = h;System.out.println();for (int j=i+2 ; j <= 5 ; j++ ){System.out.print((q=q+j)+"\t");}}}}。

java试卷(第四章)

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的⽅法中有输出语句。

Java基础第4章编程题答案

Java基础第4章编程题答案

第四章编程题1. 按要求完成以下题目(1)Circle( ) // 将半径设为0Circle(double r ) // 创建 Circle 对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) // 获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder ,它继承于上面的Circle 类。

还拥有:①一个成员变量double hight(私有,浮点型);// 圆柱体的高;②构造方法Cylinder (double r, double h )//创建Circle对象时将半径初始化为r③成员方法double getVolume( ) // 获取圆柱体的体积void showVolume( ) // 将圆柱体的体积输出到屏幕编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

【参考答案】import java.math.*;class Circle{private double radius;public Circle() {radius=0;}public Circle(double r) {radius=r;}void setRadius(double r) {this.radius=r;}double getRadius(){return this.radius;}double getArea() {return Math.PI*radius*radius;}double getPerimeter() {return Math.PI*2*radius;}void show() {System.out.println("圆的半径为"+radius+"\n圆的周长为"+this.getPerimeter()+"\n圆的面积为"+this.getArea());}}class Cylinder extends Circle{double hight;public Cylinder(double r,double h) {super.setRadius(r);this.hight=h;}double getVolume(){double volume=super.getArea()*hight;return volume;}void showVolume() {System.out.println("圆柱的面积为"+this.getVolume());}}public class Example01 {public static void main(String[] args) {Circle circle=new Circle(5);circle.show();Cylinder cylinder=new Cylinder(2,5);cylinder.showVolume();}}2.按要求编写一个Java应用程序:(l)定义一个接口CanCry,描述会吼叫的方法public void cry()(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。

Java第四章题

Java第四章题

1、已知类的定义如下public class test_3{int x ;int y ;test_3(int a,int b){x=a;y=b;}test_3(){x=-1;y=-1;}int get_x(){return x++;}int get_y(){return y--;}如果用下面三种不同的方法加载类,写出要求的结果:(1)用test_3 a1=new test_3()后;a1.x的内容为_____ ,a1.y的内容为______。

(2)用test_3 a1=new test_3(-2,5)后;a1.x的内容为_____ ,a1.y的内容为______。

(3)用test_3 a1=new test_3(10)后;其结果是__________。

2、设int x=1,float y=2,则表达式x / y的值是( )A、0B、1C、2D、以上都不是3、以下语句有语法错的是( )A、int x=1;y=2;z=3B、for (int x=10,y=0;x>0;x++);C、while (x>5);D、for(;;);4、void 的含义( )A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参加算术运算5、以下有关类定义的说法正确的是( )A、一个类可以有成员,也可以没有成员B、类的成员至少有一个属性和一个方法C、类的静态属性同全局变量的概念完全一样,只是表达形式不同D、类的方法在实例化时不占用内存6、以下有关构造函数的说法,正确的是( )A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用。

D、构造函数可以和类同名,也可以和类名不同7、以下有关类的继承的说明中,正确的是( )A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性8、以下有关类的构造函数继承的说明,正确的是( )A、子类继承父类的构造函数,但不能自己定义B、子类可定义自己的构造函数,但受父类定义的构造函数的限制C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义9、this 和super的使用中,正确的是( )A、都是指一个内存地址B、可以在同一个方法定义中出现C、意义相同D、以上都不10、分析以下程序,下面(AC)方法是对setVar方法的重载。

Java程序设计基础与实战 第4章作业参考答案

Java程序设计基础与实战 第4章作业参考答案

第4章作业参考答案
1.填空题
(1)super
(2)extends
(3)Object 类
(4)puclic protected private
(5)final
2.选择题
3 .简答题
(1)回答要点
继承是面向对象最显著的一个特性。

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

(2)回答要点
多态表达为父类引用变量可以指向子类对象。

前提条件:存在子父类关系。

在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

(3)回答要点方法重载和重写都是实现多态的方式,区别在于重载是编译时多态,重写是运行时多态。

•重载是在同一个类中,两个方法的方法名相同,参数列表不同(参数类型、顺序、个数),与方法返回值无关,所以不能根据返回值类型区分是否是重载,因为重载是编译时多态,调用时不能指定类型信息,所以编译器不知道要调用的是哪个方法。

•重写发生在父类和子类之间,子类继承父类方法(非构造、final、static修饰的方法)并重写父类方法。

4 .编程题
(1)源代码:参考本章资料文件夹下“作业1”。

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

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

java_开发实战经典_第四章课后习题答案_完整版.doc

java_开发实战经典_第四章课后习题答案_完整版.doc
floatmax = score[0];
for(inti=0; i<score.length; i++){
if(max<score[i]){
max = score[i];
}
}
System.out.printin (”最分为:n+max);
}
}
第八题
public classFour08 {
public static voidmain(String[] args){
switch(Array[i] ) {
case1:{
nl++;
break;
}
case2:{
n2 + +;
break;
}
case3:{
n3 + + ;
break;
}
case4:{
n4++;
break;
}
case5:{
n5++;
break;
}
case6:{
n6++;
break;
}
case7:{
n7 + + ;
}
}
第二题
public static voidmain(String[]args){
inta[]={1,2,3,4,5.6,7,8,9,10,11};
int0=0,e=0;
for(inti=0 ;•丄ength; i++){
if(a[i]%2==0){
e++;
}else{
o++;
}
}
System,out.printIn("奇数个数为:”+o+”\t” + ”偶数个数为:”+e);

JAVA_开发实战经典_第四章课后习题答案_完整版

JAVA_开发实战经典_第四章课后习题答案_完整版

int value[] = new int[a.length+val.length]; System.arraycopy(a,0,value,0,a.length); System.arraycopy(val,0 , value, a.length, val.length); return value; } }
if(c == temp[i]){
flag = true; } } if(flag){ System.out.println("YES,此数组中存在元素"+c); }else{ System.out.println("NO,此数组中不存在元素"+c); } } }
第六题 public class Four06 { public static void main(String[]args){
max=a[i]; maxFoot=i; } } int val = a[0]; a[0] = a[maxFoot]; a[maxFoot] = val; System.out.println(a[0]); } }
第十题 public class Four10 {
public static void main(String[] args){ int temp[]= {1,2,3,4,5,6,7,8,9,10}; java.util.Arrays.sort(temp); print(temp); temp = inc(temp,13,12,34,5,6,7); java.util.Arrays.sort(temp); print(temp);
n8++; break; } case 9:{ n9++; break; } case 0:{ n0++; break; } } } System.out.println("0---->9的个数分别为:"+n0+"、"+n1+"、"+ n2+"、"+n3+"、"+n4+"、"+n5+"、"+n6+"、"+n7+ "、"+n8+"、"+n9); } }

JAVA程序设计教程第四章参考答案

JAVA程序设计教程第四章参考答案

import java.util.*;public class Person{private String name;private char sex;private int year,month;public Person( ){}public Person(String nm,char sx,int y,int m) {name=nm;sex=sx;year=y;month=m;}public void printPerson( ) {Calendar now=Calendar.getInstance();int age=now.get(Calendar.YEAR)-year;System.out.println("Name: "+name+",Sex: "+sex+", Age: "+age);}public static void main(String args[]){Person pe1=new Person("Tom",'m',1980,10);pe1.printPerson();}}2.public class Rectangle{double width,length,girth,area;public Rectangle(){};public Rectangle(double wd,double le) {width=wd;length=le;}public void setWidth(double wd) {width=wd;}public void setLength(double le) {length=le;}public double getWidth( ) {return width;}public double getLength( ) {return length;}public double girth(){return 2*(width+length);public double area(){return width*length;}public void printRectangle(){System.out.println("Width="+width+" ,Length="+length);}public static void main(String args[]){Rectangle re1=new Rectangle(10,20);Rectangle re2=new Rectangle();re2.setWidth(3);re2.setLength(4);re1.printRectangle();System.out.println("Girth="+re1.girth()+",Area="+re1.area());re2.printRectangle();System.out.println("Girth="+re2.girth()+",Area="+re2.area());}}3.public class Matrix{private int mx[][],m,n;public Matrix(int r,int c) {m=r;n=c;mx=new int[m][n];iniMatrix();}public Matrix(){m=3;n=3;mx=new int[3][3];iniMatrix();}public void iniMatrix(){int i,j;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=(int)(Math.random()*100);}public void tranMatrix(){int i,j,t;int mt[][]=new int[m][n];for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mt[i][j]=mx[i][j];t=m;m=n;n=t;mx=new int[m][n];for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=mt[j][i];}public void printMatrix(){int i,j;for(i=0;i<=m-1;i++){for(j=0;j<=n-1;j++)System.out.print(" "+mx[i][j]);System.out.println();}}public void addMatrix(Matrix b) {int i,j;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=mx[i][j]+b.mx[i][j];}public static void main(String args[]){Matrix ma=new Matrix(4,3);Matrix mb=new Matrix(4,3);System.out.println("The matrix_A:");ma.printMatrix();System.out.println("The matrix_B:");mb.printMatrix();System.out.println("Matrix_A + Matrix_B:");ma.addMatrix(mb);ma.printMatrix();System.out.println("Transpose Matrix_B:");mb.tranMatrix();mb.printMatrix();}}4.public class Substring{public static void main(String args[]){String str1=new String("addActionListener");String str2=new String("Action");int n;n=str1.indexOf(str2);if(n>=0){System.out.println("String_2 is in String_1");System.out.println("The substring before String_2 is "+str1.substring(0,n));System.out.println("The substring behind String_2 is "+str1.substring(n+str2.length( )));}}}五、写出程序运行后的结果1.2.。

JAVA练习题(第4章)

JAVA练习题(第4章)

12、在Java中,所有类的根类是( )。 A.ng.Object B.ng.Class 【答案】: Ajava.awt.Frame C.java.applet.Applet D. 13、int型public成员变量MAX_LENGTH,该 值保持为常数100,则定义这个变量的语句 是( )。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100
10、覆盖与重载的关系是 ( ) A、覆盖只有发生在父类与子类之间,而重载 可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同 名 C.final修饰的方法可以被覆盖,但不能被重 载 D.覆盖与重载是同一回事
【答案】:A
11、给定java程序,如下:编译运行Test.java,结 果是( )。 public class Test{ private static final int counter=10; public static void main(String[] args) { System.out.println(++counter) ; } } A、10 B、11 C、编译错误 D、运行时出现异常 【答案】:C
18、下列说法正确的是( )。 A、final 可修饰类、属性、方法 B、abstract可修饰类、属性、方法 【答案】:A C、定义抽象方法需有方法的返回类型、名称、参 数列表和方法体 D、用final修饰的变量,在程序中可对这个变量的 值进行更改 19、在Java中,所有类的根类是( )。 A、ng.Object B、ng.Class C、java.applet.Apple D、java.awt.Frame 【答案】:A

java语言程序设计第4章-习题参考答案

java语言程序设计第4章-习题参考答案

第4章习题解答1.声明一个数组,保存一个学生的数学、语文、英语、物理、化学等课程的成绩,编写一个程序,计算5门课程的平均成绩,精确到0.1分,成绩值从键盘录入。

import java.util.Scanner;public class XT_1_score {public static void main(String[] args) {// TODO Auto-generated method stubdouble score[] = new double[5];System.out.println("请分别输入数学、语文、英语、物理、化学的成绩(数字之间用空格格开):");double sum = 0, average = 0;Scanner in = new Scanner(System.in);int i;for (i = 0; i < 5; i++)score[i] = in.nextDouble();for (i = 0; i < 5; i++)sum += score[i];average = sum / 5;System.out.println("平均成绩为:" + String.format("%.1f", average));}2.编程实现统计50名学生的百分制成绩中各分数段的学生人数,即:分别统计出100分、90-99分、80-89分、70-79分、60-69分、不及格的学生人数。

import java.util.Scanner;public class XT_2_score_sore {public static void main(String[] args) {// TODO Auto-generated method stubdouble score[] = new double[50];int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, i;System.out.println("请依次输入50名学生的成绩(用空格隔开):");Scanner br = new Scanner(System.in);for (i = 0; i < 50; i++)score[i] = br.nextDouble();for (i = 0; i < 50; i++) {if (score[i] == 100)a++;if (score[i] >= 90 && score[i] <= 99)b++;if (score[i] >= 80 && score[i] <= 89)c++;if (score[i] >= 70 && score[i] <= 79)d++;if (score[i] >= 60 && score[i] <= 69)e++;if (score[i] < 60)f++;}System.out.println("成绩为100分的个数:" + a);System.out.println("成绩为90-99分的个数:" + b);System.out.println("成绩为80-89分的个数:" + c);System.out.println("成绩为70-79分的个数:" + d);System.out.println("成绩为60-69分的个数:" + e);System.out.println("成绩为不及格的个数:" + f);}}3.编写一个程序,实现打印输出字符串数组中最大值和最小值。

解析java程序设计第四章课后答案

解析java程序设计第四章课后答案

解析java程序设计第四章课后答案第4章习题解答1.类的继承的主要好处是什么?Java中支持类的多继承形式吗?继承是一种由已有的类创建新类的机制。

利用继承,我们可以先创建一个拥有共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类自动拥有一般类的属性和行为,并根据需要可以增加新的属性和行为,或者改变父类的行为。

类的继承的主要好处是代码复用。

Java不支持类的多继承形式。

2.解释一下方法重载和方法覆盖的概念,并对两者加以对比。

如果子类中定义方法所用的名称、返回类型和参数表和父类中方法所使用的完全一样,但具体实现不同,则称子类方法覆盖了父类中的方法。

在同一类中,如果方法名称相同,但参数表不同,则称为方法重载。

3.编写一个学生和教师的数据输入和显示程序。

学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。

要求将编号、姓名输入和显示设计成一个类Person,并作为学生类Student和教师类Teacher的父类。

import java.util.*;class Person {private String name;private int id;public void input(){Scanner sc=new Scanner(System.in); name=sc.nextLine();id=sc.nextInt();}public void display(){System.out.println(\} }class Student extends Person { private int classNo;private int score;public void input(){super.input();Scanner sc=new Scanner(System.in); classNo=sc.nextInt();score=sc.nextInt();}public void display(){super.display();System.out.println(\}public static void main(String[] args){Student s=new Student();s.input();s.display();} } 4.创建Animal(动物):Mouse,Dog等的一个继承分级结构。

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

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

JAVA期末复习题及答案——第四章一.填空题1.类是属性和方法的集合。

2.在面向对象方法中,类描述的是具有相似属性与操作的一组对象。

3.在面向对象的方法中,类的实例被称为_对象____。

4.面向对象的程序设计方法中涉及的对象是程序中用来描述客观事物的一个实体,它由__属性__和可执行的一组操作共同组成。

5.protected关键字修饰的属性或方法表示可被_类自身,同一个包中的其他类,不同包中的子类_访问。

6.抽象的类不能__生成对象__。

7.构造方法是一种特殊的方法,用它来定义对象的_初始化状态__。

8.___最终___类是不能被继承的类。

9.面向对象的3个最主要的特点是继承性、多态性和封装性。

10.在创建类的对象时都会调用类的构造函数来初始化类中的属性。

11.消息传递的三要素是接收消息的对象、接收消息的方法和方法所需要的参数。

12.访问控制符用来控制类和类的成员的访问权限。

二.选择题1.下列关于Java对import语句规定的叙述中,错误的是:(C )A、在Java程序中import语句可以有多个B、在Java中import语句可以没有C、在Java中import语句必须有一个D、在Java程序中import语句必须引入在所有类定义之前2.下列关于构造函数的叙述中,错误的是:(C)A、Java语言规定构造函数名与类名必须相同B、Java语言规定构造函数没有返回值,但不用void声明C、Java语言规定构造函数不可以重载D、Java语言规定构造函数只能通过new自动调用3.若数组a定义为int[][]a=new int[3][4],则a是:BA、一维数组B、二维数组C、三维数组D、四维数组4.已知:int []a=new int[100]; 在下列给出的数组元素中,非法的是:D A、a[0] B、a[1] C、a[99] D、a[100]5.在Java中,用package语句说明一个包时,该包的层次结构必须是( B)。

java第4章习题答案

java第4章习题答案

2. 数 3. 4.
一个整型数组可以容纳的元素类型有哪些。 答:整型和字符型,byte 型 若有一个声明为“int[] a=new int[10]”的整型数组,可以引用的最小下标和 最大下标是多少? 答:最大下标为 0,最小下标为 9 若有一个声明为“int[] a=new int[10]”的整型数组,其每个元素的初始值是 多少? 答:初始值为 0 以下能对二维数组进行正确初始化的语句是( BC ) 。 A.int[][] a=new int[2][]{{1,2},{3,4}}; B. int[][] a=new int[][]{{1,2},{3,4}}; C. int[][ ] a={{1,2},{3,4}}; D. int[2][2] a={{1,2}下面程序的运行结果 class Happy { public static void main(String args[]) { int index=1; int a[] =new int[3]; int bas =a[index]; int baz =bas + index System.out.println( a[baz] ); } } 答:0
第四章 答案
1. 一个字符型数组,其有 5 个元素,初始值分别为'a','b','c','d','e',写出 可能的声明及初始化语句。 答 :(1)char[] ch={'a','b','c','d','e'}; (2) char[] ch=new char[5]; ch[0]='a'; ch[1]='b'; ch[2]='c'; ch[3]='d'; ch[4]='e'; (3) char[] ch=new char[]{'a','b','c','d','e'}; 获得一个数组可以容纳的元素个数的方法是什么? 答:利用数组型变量的一个整型属性 length,其表示数组可以容纳的元素个

考试酷java第四章

考试酷java第四章

第四章1. 关于内部类,下列说法不正确的是()。

内部类不能有自己的成员方法和成员变量2. 有一个类B,下面为其构造方法的声明,正确的是()。

B(int x) {}3. 为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为()static void f()4. 在Java语言中,哪一个包中的类是自动导入的?()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};则对此语句的叙述错误的是()。

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

第四章1、关于内部类,下列说法不正确的就是( )。

内部类不能有自己的成员方法与成员变量2、有一个类B,下面为其构造方法的声明,正确的就是( )。

B(int x) {}3、为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( )static void f()4、在Java语言中,哪一个包中的类就是自动导入的?( )java、lang5、定义外部类时不能用到的关键字就是( )。

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};则对此语句的叙述错误的就是( )。

a数组元素的下标为1~314、已知有定义:String s="I love",下面哪个表达式正确?( )s += "you";15、关于数组,下列说法中不正确的就是( )。

定义数组时必须分配内存16、执行语句:int[] x = new int[20];后,下面哪个说法就是正确的?( )x[19]为01、 Applet分别对应了Applet从初始化、启动、暂停到消亡的生命周期的各个阶段。

Init start stop destroy2、数组就是一种,在Java中,数组就是作为理的。

数组就是有限元素的有序集合,数组中的元素具有相同的并复合对象数据类型数组名下标3、在数组定义语句中,如果[]在数据类型与变量名之间时,[]之后定义的所有变量都就是类型,当[]在变量名之后时,只有[]之前的变量就是类型,之后没有[]的则不就是数组类型。

数组数组4、利用;利用的排序、查找等操作。

System arraycopy() Arrays sort() binarySearch()5、 Java语言提供了两种具有不同操作方式的字符串类与String StringBuffer java、lang、Object6、System类就是一个功能强大、非常有用的特殊的类,它提供了、系统信息等重要工具。

这个类不能,即不能创建System类的对象,所以它所有的属性与方法都就是,引用时以类名System为前缀即可。

标准输入/输出运行时实例化static7、方法体内定义变量时,变量前不能加局部变量在使用前必须否则编译时会出错;而类变量在使用前可以不用赋值,它们都有一个修饰符明确赋值默认8、。

package9、,继承类时需要,实现接class extends implements10、引用static类型的方法时,可以使前缀,也可以使用类名对象名11、,问它。

对象名类名12、从用户的角度瞧,Java源程序中的类分为两种与系统定义的类用户自己定义的类13、 static方法中只能引用成员方法;而非static类型的方法中既可以引用员方法,static static 非static14、如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个也没有任何</FILL、TAG>具体语句</FILL、TAG>,不能完成任何操作。

形式参数15、就是所有类的直接或间接父类,它在包中。

Object类java、lang16、数组初始化包括静态动态17、,而不就是保存在某个对象的内存区中。

因此,一个类的任何对象访问它时,存取到的都就是相同/不同)的数值。

公共存储相同18、,该方法的方法名与类名相同。

[构造19、当程序中需要引用java、awt、event包中的类时,导入该包中类的语句为import java、awt、event、*20、一个类主要包含两个要素</FILL、TAG>成员方法<FILL、TAG>数据成员24、 public class X6_3_1 {public static void main(String[] args) {int a[]={12,39,26,41,55,63,72,40,83,95};int i1=0,i2=0;for(int i=0;i<a、length;i++)if(a[i] %2 == 1) i1++;else i2++;System、out、println(i1+"\t"+i2);}6 425、public class X6_3_2 {public static void main(String[] args) { int a[]={36,25,48,14,55,40,32,66};int b1,b2;b1=b2=a[0];for(int i=1;i<a、length;i++)if ( a[i] >b1 ){if ( b1 >b2 ) b2=b1;b1=a[i];}System、out、println(b1+"\t"+b2);}}66 5526、 public class X6_3_3 {public static void main(String[] args) { int a[]={36,25,48,14,55,40,32,66 };int b1,b2;b1=b2=a[0];for (int i=1;i<a、length;i++)if ( a[i]<b1 ) {if ( b1<b2 ) b2=b1;b1=a[i];}System、out、println(b1+"\t"+b2);}}14 2527、 public class X6_3_4 {public static void main(String[] args) { String str = "abcdabcabfgacd";char[] a =str、toCharArray();int i1 =0, i2=0, i;for(i=0;i<a、length;i++) {if(a[i] == 'a' ) i1++;if(a[i] == 'b' ) i2++;}System、out、println(i1+"\t"+i2);}}4 328、 public class X6_3_5 {public static void main(String[] args) { String str ="abcdabcabdaeff";char[] a = str、toCharArray();int b[] = new int[5],i;for(i=0;i<a、length;i++) {switch (a[i]) {case 'a': b[0] ++; break;case 'b': b[1] ++; break;case 'c': b[2] ++; break;case 'd': b[3] ++; break;default : b[4] ++;}}for(i =0; i<5; i++)System、out、print(b[i]+"\t");System、out、println();}}4 3 2 2 3 29、 public class X6_3_6 {public static void main(String[] args) { int a[] = {76,83,54,62,40,75,90,92,77,84}; int b[] = {60,70,90,101};int c[]=new int[4],i;for (i=0; i<a、length; i++) {int j =0;while (a[i] >= b[j] ) j ++;c[j] ++;}for (i=0; i<4; i++)System、out、print(c[i]+"\t");System、out、println();}}2 1 5 230、 public class X6_3_7 {public static void main(String[] args) {int a[][] = {{1,2,7,8},{5,6,11,12},{9,10,3,4}};int m = a[0][0];int ii = 0, jj = 0;for (int i=0;i<a、length;i++)for(int j=0;j<a[i]、length;j++)if ( a[i][j]>m ){m =a[i][j];ii =i;jj =j;}System、out、println(ii+"\t"+jj+"\t"+a[ii][jj]);}}1 3 1231、public class X6_3_8 {public static void main(String[] args) {String[] a = {"student" ,"worker" ,"cadre" ,"soldier" ,"peasant" }; String s1,s2;s1 = s2 = a[0];for( int i = 1; i<a、length;i ++) {if (a[i]、compareTo(s1)>0) s1=a[i];if (a[i]、compareTo(s2)<0) s2=a[i];}System、out、println(s1+"\t"+s2);}}worker cadre1、已知一个数值矩阵A为,另一个矩阵B为,求出A与B的乘积矩阵C[3][4]并输出出来,其中C中的每个元素C[i][j]等于。

相关文档
最新文档