




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章Java 语言概述 2.“java 编译器将源文件编译为的字节码文件是机器码”这句话正确 吗? 答:不正确 3.java 应用程序的主类必须含有怎样的方法? 答:含有 main 方法 4。“java 应用程序必须有一个类是 public 类”这句话正确吗? 答;不正确,只能有一个 public 类 5。“javaApplet 程序的主类必须是 public 类”这句话正确吗? 答:正确,因为 javaApplet 主类必须是 Applet 类的子类并且是 public 的类 6。请叙述 java 源程序的命名规则。 答:与 public 的类同名。 7。源文件生成的字节码文件在运行时都加载到内存中吗? 答:非也,动态随需要运行才加载。 8.面向对象的程序设计语言有那些基本特征? 答:封装;继承;多态性。 9.在 Java 程序中有多个类文件时,用 Java 命令应该运行那个类? 答:具有 main 方法的类 第二章基本数据类型和数组 4。下列哪些语句是错的? Int x=120; Byte b=120; b=x; 答:B=x;错应为 b=(byte)x 5。下列哪些语句是错的? 答:y=d;错,应 y=(float)d 6。下列两个语句是等价的吗? Charx=97; Charx=a; 答:是等价的。 7。下列 system.out.printf 语句输出结果是什么? Inta=97; Byte b1=(byte)128; Byte b2=(byte)(-129); System.out.printf(“%c,%d,%d”,a,b1,b2); 如果输出语句改为: System.out.printf(“%d,%d,%d”,a,b1,b2); 输出什么? 答:输出 a , -128, 127 修改后输出 97,-128,127 8.数组是基本数据类型吗?怎样获取数组的长度? 答:不是基本数据类型,是复合数据类型。可以通过:数组名.length 的方法获得数组长度 9。假设有两个 int 类型数组: Int a=new int10; Int b=new int8; b=a; A0=100; B0的值一定是 100 吗? 答;一定,因为 a 数组与 b 数组引用相同。 10。下列两个语句的作用等价吗? Inta=1,2,3,4,5,6,7,8; Inta=new int8; 答:不等价,前者有初值,后者指分配空间。初值数组元素为 0 11.有语句: int a=1,2,3,b=4,5; a=b; 求 a0=?b1=? 为什么? 答: a0=4 ; b1=5因为有相同的引用,同指向 b. 12. Java 语言使用_编码,每个字符占_字节 _byte 位 Unicode216 第三章 运算符、表达式与语句 1。下列语句输出的结果是什么? Int a=100, x,y; X=+a; Y=a- System.out.printf(“%d, %d,%d”,x,y,a); 答:101,101,100 2。下列语句那些有错误? Int x=0; X=5.0/2; Float y=12.5F; y=5.0/2; 答:x=5.0/2; 错。 3。下列语句那些有错? Byte x=32; Char c=a; Int n=c-x; c=c-x; 答:c=c-x;错 应为 int 类型。 4 下列语句正确的是 A.表达式“12+5634”的值是 true B.表达式“12+56|34”是非法表达式 C.表达式“x+y=12”是非法表达式 D.表达式“12+5634”的值是 13 答: (A,C) 5。对于整数 m, m9) y=100; z=200; Else y=-100; z=-200; System.out.printf(“%d,%d,%d”,x,y,z); 输出: 10,100,-200 8.下列 for 语句输出结果是什么? For(int i=1; i=0) root1=(-b+Math.sqrt(disk)/(2*a); root2=(-b-Math.sqrt(disk)/(2*a); System.out.printf(“方程的根:%f,%fn“,root1,root2); else System.out.printf(“方程没有实根n“); else System.out.println(“不是一元 2 次方程“); public void setCoefficient(double a,double b,double c) this.a=a; this.b=b; SquareEquation.c=c; if(a!=0) boo=true; else boo=false; public class ZuoYe4_3 public static void main(String args ) SquareEquation equation1=new SquareEquation(4,5,1); SquareEquation equation2=new SquareEquation(3,5,-7); equation1.getRoots(); equation2.getRoots(); 4.程序源文件 Example.java 如果使用了包语句,例如: package tom.jiafei; 并且有 c:1000tomjiafei 的目录结构,并且将源文件编译后得到 的全部字节码文件拷贝到目录 c:1000tomjiafei 中。问在哪个目录中 运行此文件,运行命令是什么? 答:运行程序时必须到 tomjiafei 的上一层目录 1000 中来运行, 如: c:1000java tom.jiafei. Example 第五章 继承、接口与泛型 1。子类在什么情况下可以继承父类的友好成员? 答:父子类在同一包中时子类可以继承父类的友好成员。 2。子类通过什么办法,可以隐藏继承的成员变量。 答:子类成员变量与父类成员变量同名。 3。子类重写继承方法的规则是什么? 答: 重写隐藏父类的方法需: 返回的数据类型相同, 参数的个数相同, 并且类型相同。 如果重写父类的方法后参数的个数或类型不同会出现子类方法的重 载。 4.子类的构造方法的第一条语句是什么? 答:如果需要调用父类构造方法,则应是用 super 关键词调用父类的 构造方法。 5。子类一旦重写了继承的方法,就会隐藏继承的方法。是这样吗? 答:不一定。在参数的个数或类型不同时会产生重载。如果只有返回 值的类型不同,将会产生编译错误。 (5)子类隐藏父类的方法,参数必须_相同并且_相同. 答: 个数 ,类型 6。子类重写继承方法时,可以降低方法的权限吗? 答:重写继承方法时不能降低访问权限。 7。简述关键字 super 的用法。 答:1)子类调用父类的构造方法。 2)子类对象引用被隐藏了的父类方法,或成员变量。 8.假设父类有一个方法: Public double f(double x, double y) return x+y; 是否允许子类再声明如下的方法: Public float f(double x, double y) return23; 答:不允许。 9。父类的 final 方法可以被子类重写吗? 答:不可以 10。什么类中可以有 abstract 方法? 答:被 abstract 修饰的类。接口中也可以有 abstract 方法 11。什么叫做对象的上转型对象? 答:用子类的构造方法构造出来的对象,赋值给父类对象。 12。什么叫接口回调? 答:用实现接口的类创建的对象,赋值给该接口声明的接口变量。 13。 与类有关的匿名类一定是该类的子类吗?与接口有关的匿名类一 定是实现该接口的一个类吗? 答:一定,因为类创建对象时,除了构造方法还有类体,此类体被认 为是该类的一个子类去掉类声明后的类体。即匿名类,匿名类就是一 个子类。与接口的匿名类相同。一定是子类。 14。怎样声明一个泛型类? 答:我们可以这样声明一个泛型类: classA其中 A 时泛型的名称,E 是其中的泛型,即我们 没有指定 E 是何种类型的数据, 它可以是任何对象或接口, 但不能是 基本数据类型。 15 阅读下列程序,并说明输出结果。 class NegativeIntegerException extends Exception Stringmessage; public NegativeIntegerException() message=“方法的参数值不是正整数“; public String toString() returnmessage; class MaxCommonDivisor publicintgetMaxCommonDivisor(inta,intb)throws NegativeIntegerException if(ab) int t=a;a=b;b=t; r=a%b; while(r!=0) a=b; b=r; r=a%b; return b; class MinCommonMultiple extends MaxCommonDivisor publicintgetMinCommonMultiple(inta,intb)throws NegativeIntegerException if(a泛型类是一种什么数据结构? 答:是一种链表类数据结构。 7.对于需要经常查找的数据,应选用 LinkedList还是选用 HashMap? 答:选用 HashMap 第八章 线程 1.线程和进程是什么关系? 答:线程是比进程更小的执行单位。一个进程在其执行过程中,可以 产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自 身的产生、存在和消亡的过程,也是一个动态的概念。 2.线程有几种状态? 答:新建状态, 运行状态,中断状态,死亡状态 3.引起线程中断的常见原因是什么? 答:有 4 种:有 4 种原因的中断: (a) JVM 将 CPU 资源从当前线程切换给其他线程,使本线程让出 CPU 的使用权处于中断状态。 (b)线程使用 CPU 资源期间,执行了 sleep(int millsecond)方法。 (c)线程使用 CPU 资源期间,执行了 wait()方法。 (d) 线程使用 CPU 资源期间,执行某个操作进入阻塞状态,比如执 行读/写操作引起阻塞。 4.一个线程执行完 run()方法后,进入什么状态?该线程还能再调 用 start()方法吗? 答: 一个线程执行完 run () 方法进入死亡状态, 之后还能再调用 start ()方法运行 5.线程在什么状态时,调用 isAlive()方法后返回值是 false? 答:当线程进入死亡状态后(实体内存被释放) ,线程仍可以调用方法 isAlive() ,这时返回的值是 false。 (线程未调用 start 方法之前,调 用 isAlive()方法返回 false). 6.线程调用 interrupt()的作用是什么? 答: intertupt 方法经常用来“吵醒”休眠的线程。当一些线程调用 sleep 方法处于休眠状态时, 一个使用 CPU 资源的其它线程在执行过 程中,可以让休眠的线程调用 interrupt 方法“吵醒”自己,即导致 休眠的线程发生 InterruptedException 异常,从而结束休眠,重新排队 等待 CPU 资源。 8.wait(), notify(), notifyAll()的作用分别是什么? 答:wait() 、notify()和 notifyAll()都是 Object 类中的 final 方法, 被所有的类继承,且不允许重写的方法。 当一个线程使用的同步方法中用到某个变量,而此变量又需要其 它线程修改后才能符合本线程的需要,那么可以在同步方法中使用 wait()方法。使用 wait()方法可以中断方法的执行,使本线程等 待,暂时让出 CPU 的使用权,并允许其它线程使用这个同步方法。 其它线程如果在使用这个同步方法时不需要等待, 那么它使用完这个 同步方法的同时,应当用 notifyAll()方法通知所有的由于使用这个 同步方法而处于等待的线程结束等待。(如果使用 notify()方法则只通 知处于等待中的某一个线程结束等待) 9.将例子 10 中的 TicketSeller 类中的循环条件: While(fiveNumber1) 改写成: If(fiveNumber1)是否合理,理由是什么? 答:是合理的,因为此循环只有一种可能作循环体内的语句。 10.将例子 10 中的 TicketSeller 类中出现的: Wait( ) 改写成: Thread.sleep(2000)从新编译,运行,观察结果。 答:sleep(2000)线程到时醒来排队,这期间中断的原因不一定解决, wait()则直到中断原因消失才结束等待。 11.什么叫守护线程? 答:一个线程调用 void setDaemon(boolean on) 方法可以将自己设置成一个守护(Daemon)线程,例如: thread.setDaemon(true); 线程默认是非守护线程,非守护线程也称作用户(user)线程。 当程序中的所有用户线程都已结束运行时,即使守护线程的 run 方法中还有需要执行的语句,守护线程也立刻结束运行。一般地,用 守护线程做一些不是很严格的工作, 线程的随时结束不会产生什么不 良的后果。一个线程必须在运行之前设置自己是否是守护线程。 12.对于 thread(Runnable target)构造的线程使用同一目标对象的线程, 目标对象的成员变量自然成为这些线程_的数据单元。 答: 共享 第九章输入、输出流 1. 如 果 准 备读 取 一 个 文 件 应使 用 FileInputStream 流 还 是 使 用 FileOutputStream 流? 答:FileInputStream 2.FileInputStream 流的 read()方法和 FileReader 流的 read()方法有什么 不同? 答: FileInputStream 流从输入流中顺序读取单个字节的数据。该方 法返回字节数据值(0-255 之间的整数)到末尾返回-1 FileReader 流,输入流调用该方法从源中读取一个字符,该方法 返回一个0-65535之间的一个整数 (Unicode字符值) 到末尾返回-1 。 3.BufferReader 流能直接指向一个文件对象吗? 答:不能,要通过一个,底层的 FileImputStream 类的对象,才能指 向一个文件对象。 4.ByteArrayOutputStream 流怎样获取缓冲区中的内容? 答:这个流的对象可以通过 public byte toByteArray( )方法,将刚 刚写入缓冲区的内容全部返回。 5.DataInputStream 类和 DataOutputStream 类的主要用途是什么? 答:主要是将 java 基本数据类型写入底层流或以 Java 基本数据类 型的方式读出底层流的内容。 6.使用 ObjectInputStream 类和 ObjectOutputStream 类有哪些注意事 项? 答:值得注意:当用对象流写入或读出对象时,要保证对象是序列化 的。这是为了保证能把对象写到文件,并能再次把对象正确读回到程 序中。 Java 提供给我们的绝大多数对象都是所谓序列化的, 比如组件 等。一个类如果实现了 Serializable 接口,那么这个类创建的对象就 是所谓序列化的对象。Serializable 接口中的方法对程序是不可见 的,因此实现该接口的类不需要实现额外的方法,当把一个序列化的 对象写入到对象输出流时, JVM 就会实现 Seria
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级语文上册 第六单元 12童区寄传教学设计 北师大版
- 人教版地理八上第一章第2节《人口》教学设计
- 人教版三年级音乐下册(简谱)《可爱的家》教学设计
- 九年级数学下册 第二章 二次函数2 二次函数的图象与性质第2课时 二次函数y=ax2+c的图象与性质教学设计 (新版)北师大版
- 九年级物理下册 第十六章 电磁转换 五 电磁感应 发电机教学设计 (新版)苏科版
- 人教A版 (2019)选择性必修 第一册1.2 空间向量基本定理教案设计
- 三年级英语上册 Unit 6 Happy birthday Part A 第三课时教学设计 人教PEP
- 九年级化学上册 第六单元 碳和碳的氧化物 课题1 金刚石、石墨和C60教学设计(新版)新人教版
- 人教版七年级下册历史(2016新编版)第2课《从“贞观之治”到“开元盛世”》教学设计
- 六年级下册有趣的平衡教案及反思
- 重度哮喘诊断与处理中国专家共识(2024)解读
- 干部家庭社会关系登记表
- 《对校园欺凌说“不”》教学设计-山东教育出版社《心理健康教育》七年级下册
- 2024年上半年教师资格证《高中音乐》真题及答案
- 软式内镜清洗消毒技术规范-WS-507-2016
- 第2课++生涯规划+筑梦未来(课时1)【中职专用】中职思想政治《心理健康与职业生涯》高效课堂 (高教版基础模块)
- 中国移动:能力开放-产业互联-互联网+大会材料
- 数据采集服务合同协议书
- 2024年全国一级注册建筑师之建筑设计考试重点试题附答案
- 打扫卫生劳动合同范本
- DL-T-5161.5-2018电气装置安装工程质量检验及评定规程第5部分:电缆线路施工质量检验
评论
0/150
提交评论