自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 《Java黑皮书基础篇第10版》 第18章【习题】

18.1 什么是递归方法?什么是无限递归?18.2 程序清单18-1中,对于factorial(6)而言,涉及多少次的factorial方法调用?18.3 给出下面程序的输出,指出基础情况以及递归调用。18.4 编写一个递归的数学定义来计算2n2^n2n,其中n为正整数18.5 编写一个递归的数学定义来计算xnx^nxn,其中n为正整数,x为实数18.6 编写一个递归的数学定义来计算1+2+3+···+n,其中 n 为正整数18.7 给出以下两个程序的输出18.8 下面方法中的错误是什么?

2023-06-21 20:20:59 1019

原创 《Java黑皮书基础篇第10版》 第18章【笔记】

对于递归方法,一个方法内“嵌套”了这个方法,所以调用栈会逐渐累加,最后执行完毕时,一个一个按照。• 一个或多个基础情况(最简单的情况)用来停止递归(注意,一个递归方法可以只拥有1个基础情况,而不包含常规代码块,详见编程练习题18.14)尾递归更可取:因为当最后一个递归调用结束时,方法也结束,因此,无须将中间的调用存储在栈中。有时候可以通过针对要解决的初始问題的类似问題定义一个递归方法,来找到初始问題的解决方法。因此,先理解调用栈的工作原理,再来看递归,就没什么稀奇的了。递归方法是调用自身的方法。

2023-06-21 20:13:55 594 2

原创 《Java黑皮书基础篇第10版》 第17章【习题】

17.1什么是文本文件,什么是二进制文件?可以使用文本编辑器来查看文本文件或者二进制文件吗?文本文件是字符组成的文件,二进制文件是0和1组成的文件文本编辑器只能访问文本文件17.2在Java中如何读取和写入文本数据?什么是流?读取用Scanner类,写入用PrintWriter类流就是对象,一个负责写入数据的对象叫做输出流,一个负责读取数据的对象叫做输入流。

2023-06-18 05:18:31 970

原创 《Java黑皮书基础篇第10版》 第17章【笔记】

需要注意的是,用于进行二进制数据输入输出的类,并不会将数据按照文本的形式保存到文件中,有时可能会出现乱码,因此,我们有的时候确实写入了数据,只不过由于编译器的编码方案等局限,无法直接从文本编辑器查看内容。不同的数据写入时有自己特殊的编码方式,读取数据的类型取决于写入数据的类型,例如,如果一个文件不是由writeInt()创建的,直接读取readInt()可能会有异常。如果输入的参数是0-255之间的数字,就会将这个数字储存进文件,如果输入的参数是负数,或者大于255,这个参数就会被截断,只保留后8位。

2023-06-18 05:13:02 798

原创 《Java黑皮书基础篇第10版》 第16章【习题】

16.1 如何创建一个具有一个节点但是没有文本的标签?16.2 如何在一个标签中将文本放在节点的右侧?16.3 如何在一个标签中显示多行文本?使用\n16.4 标签中的文本如何加下划线?

2023-06-12 05:10:59 502

原创 《Java黑皮书基础篇第10版》 第16章【笔记】

组合框(combo box)也称为选择列表(choice list)或下拉式列表(drop down list),它包含一个条目列表,用户能够从中进行选择,继承自抽象类ComboBoxBase。标签(label)是一个显示小段文字,一个节点或同时显示两者的区域。文本域TextField和文本区域TextArea是抽象类TextlnputControl的子类,文本区域允许用户输入多行文本。列表视图是一个组件,它完成的功能与组合框基本相同,但它允许用户选择一个或多个值。

2023-06-11 23:25:28 204

原创 《Java黑皮书基础篇第10版》 第15章【习题】

15.1 什么是事件源对象? 什么是事件对象? 描述事件源对象和事件对象之间的关系15.2 一个按钮可以触发一个MouseEvent事件吗? 一个按钮可以触发一个KeyEvent事件吗? 一个按钮可以触发一个 ActionEvent 事件吗?15.3 为什么一个处理器必须是一个恰当的处理器接口的实例?15.4 请说明如何注册一个处理器对象,以及如何实现一个处理器接口?15.5 EventHandler接口的处理器方法是什么?15.6 对一个按钮注册一个ActionEvent处理器的注册方法是什么?15

2023-06-05 04:53:13 1501

原创 《Java黑皮书基础篇第10版》 第15章【笔记】

一个内部类被编译成一个名为OuterClass$InnerClass的类,例如,Test中的内部类A被编译成Test$A.class。当一个鼠标按键在一个节点上或者一个场景中被按下、释放、单击、移动或者拖动时,一个MouseEvent事件被触发。在注册事件的时候,先写出注册事件的语句,然后再调用内部类EnlargeHandler()的构造方法比较麻烦。是从事件源产生的,用来执行一个命令,如单击按钮,输入文本框等。类似于一个JavaFX的节点,是一个可供操作的用户界面控件,如按钮、文本框、菜单等。

2023-06-05 04:39:04 211

原创 《Java黑皮书基础篇第10版》 第14章【习题】

14.1 解释 Java GUI 技术的演变14.2 解释为何本书采用 JavaFX 教授 Java GUI14.3 如何定义JavaFX主类?start方法的签名是什么?什么是舞台?什么是主舞台?主舞台是自动生成的吗?如何显示一个舞台?可以阻止用户改变舞台大小吗?在程序清单14-1中,可以将第22行的Application.launch(args)替代为launch(args)吗?14.4 请给出下面 JavaFX 程序的输出结果:输出结果:14.4章节习题14.5 如何创建 Scene 对象?

2023-05-27 02:01:46 1783

原创 《Java黑皮书基础篇第10版》 第14章【笔记】

Java的图形用户界面(GUI)的演变过程从AWT(Abstract Windows Toolkit),到Swing,再到JavaFX14.4 面板、Ul组件以及形状节点Node是一个可视化组件,包括形状Shape,图像视图ImageView,UI组件Control(Button就是Control的子类),面板Pane。上一节我们直接将想要的节点Button添加到Scene中这一节我们将节点Button添加到面板Pane,再把Pane添加到Scene中类型是Shape和ImageView的节点,不可以直

2023-05-27 01:43:56 296

原创 《Java黑皮书基础篇第10版》 第13章【习题】

13.1 在下面类的定义中,哪些定义了合法的抽象类?a)b)c)d)e)f)13.2 getArea() 方法和 getPerimeter() 方法可以从 GeometricObject 类中删除。在 GeometricObject 类中将这两个方法定义为抽象方法的好处是什么?在编译(compilation)期,一个声明为GeometricObject的对象可以使用这两个方法否则,就没办法计算周长和面积13.3 下面说法为真还是为假?

2023-05-22 06:55:41 4059

原创 《Java黑皮书基础篇第10版》 第13章【笔记】

给类似的操作选择相同的名字是一个良好的实践,例如length()方法可以应用于String、StringBuilder和StringBuffer,如果每个类中length()都有不同的叫法,就会让人混乱。使用多态时,首先要保证p的Person类中有getName()方法,子类Student中有正确覆写getName()的方法,然后才会根据p的实际类型去调用自己的Student复写方法。在浅拷贝中,如果对象的字段是基本类型,复制这个字段的值到一个新的地址,如果对象的字段是引用类型,新旧字段共享一个内存地址。

2023-05-22 06:52:28 414 1

原创 《Java黑皮书基础篇第10版》 第12章【习题】

12.1 使用异常处理的优势是什么?12.2 下面哪些语句会抛出一个异常?12.3 指出下面代码中的问题。代码会抛出任何异常吗?12.4 当产生一个异常的时候,JVM 会做什么?如何捕获一个异常?当遇到异常的时候,JVM会寻找catch语句来捕获异常。应该使用try-catch语句(statement)来捕获异常12.5 下面代码的输出是什么?如果把语句换成会输出什么结果?12.6 给出下面代码的输出。12.3章节习题12.7 描述Java的Throwable类,它的子类以及

2023-05-15 00:31:59 3820

原创 《Java黑皮书基础篇第10版》 第12章【笔记】

异常是从方法抛出的。方法的调用者可以捕获以及处理该异常。异常可以将检测错误和处理错误分离开来,当方法检测到错误时,抛出(throw)异常并传递给调用者进行处理(catch)。浮点数除以0不会产生异常。是因为一个正/负数除以0会得到一个无穷/小的结果,整数没有定义无穷大/小,而浮点数定义了无穷大/小,所以浮点数除以0的结果是无穷大/小可以通过继承Exception或它的子类来自定义一个新的异常类,但是最好不要继承RuntimeException,只继承必检异常,这样编译器就可以强制要求程序员捕获他们。

2023-05-14 23:57:05 360

原创 《Java黑皮书基础篇第10版》 第11章【习题】

假设给出以下代码 :回答下面的问题:a. fruit instanceof Fruit的值为 true 吗?Trueb. fruit instanceof Orange 的值为 true 吗?Falsec.fruit instanceof Apple的值为true吗?Trued.fruit instanceof GoldenDelicious 的值为 true 吗?Truee.fruit instanceof Macintosh的值为true吗?False。

2023-04-28 05:39:38 6963 4

原创 《Java黑皮书基础篇第10版》 第11章【笔记】

经常需要允许子类访问定义在父类中的数据域或方法,但不允许非子类访问这些数据域 和方法。可以使用关键字 Protected 完成该功能。

2023-04-28 05:35:12 656

原创 《Java黑皮书基础篇第10版》 第10章【习题】

10.1 如果重新定义程序清单102中的Loan类,去掉其中的设置方法,这个类是不可改变的吗?这个类依然是可以改变的,因为每一笔贷款作为一个对象,都是可以改变的。

2023-04-23 18:25:39 3885

原创 Java黑皮书基础篇第10版》 第10章【笔记】

字符串是对象,和前面讲到的包装类一样,String变量存储的是对String对象的引用,String对象里存储的才是字符串的值,只不过大多情况下,他们的差别可以忽略。在Java中,字符串字面值会被保存在字符串池中,对于相同的字面值,在字符串中只会保存一份。但是,使用new关键字创建的字符串对象,即使字符串内容一样,他们也会被储存在堆中的不同地址,分别由各自的引用变量所指向,如下图所示。如果要进行非常大的数的计算或者高精度浮点值的计算,java.math包提供了两个类,表示任意大小和精度的整教或者十进制数。

2023-04-23 18:18:47 626

原创 《Java黑皮书基础篇第10版》 第9章【习题】

最好通过类名去访问静态方法和静态变量,不要通过实例变量去访问静态变量和静态方法通过类名只能访问静态方法和静态变量,不可以访问实例变量和实例方法。

2023-01-15 20:51:26 4798 3

原创 《Java黑皮书基础篇第10版》 第9章【笔记】

类:类可以储存同类型的对象,例如圆就是一个类对象:创建对象的过程被称为实例化,一个对象有自己的数据域(字段),例如圆的数据域是半径方法:方法可以要求对象完成某个动作,例如求圆的周长和面积构造方法:调用构造方法可以创建一个新对象,设计构造方法是为了初始化动作:例如,初始化圆的数据域(半径)UML(统一建模语言)类图:数据域:dataFieldName: dataFieldType构造方法:ClassName(parameterName: parameterType)

2023-01-15 20:50:21 1035

原创 《Java黑皮书基础篇第10版》 第8章【笔记】

二维数组每一行本质上就是一维数组,因此每一行的长度就可以不同,这样的数组叫做锯齿数组。如果事先不知道锯齿数组元素的值,但是知道他的长度,就可以这样创建锯齿数组。使用for循环可以灵活的处理二维数组,例如求和,算最大值,打乱数组等。将一个二维数组传递给方法的时候,数组的引用传递给了方法。创建数组:(m、n表示数组行、列长度length)arrayName.length获取数组的行数m。在Java中,可以创建n维数组,其中n是任意整数。x[m].length获取数组m行的元素个数。

2023-01-03 22:33:15 441 3

原创 《Java黑皮书基础篇第10版》 第8章【习题】

为一个4x5的整型矩阵声明一个数组引用变量,创建该矩阵,并将其赋值给数组引用变量二维数组的行可以有不同的长度吗?可以,比如锯齿数组以下代码的输出是什么?....以下哪些语句是合法的?

2023-01-03 22:32:31 714

原创 《Java黑皮书基础篇第10版》 第7章【习题】

g.使用数组初始化语法创建另一个初始值为3.5、5.5、4.52 和 5.6的数组。假设以下所写代码用于将数组中的内容进行反转,解释为什么它是错误的,以及如何进行修正?会的,但是随机的牌就会通过随机数的方式选取4张,不会从已经打乱的牌堆中选择前四张了。—旦数组被创建,它的大小不能被更改。那么下面的代码是否重设了数组的大小呢?d.数组中的元素必须是基本数据类型。f.随机产生一个下标,然后显示该下标所对应的数组元素。如何声明一个数组引用变量,如何创建一个数组?a.数组中的每个元素都有相同的类型。

2023-01-01 04:26:08 1900 2

原创 《Java黑皮书基础篇第10版》 第7章【笔记】

将数组传递给方法,虽然数组和方法在栈中拥有不同的储存地址,但是他们所储存的都是数组的引用,真正的数组在堆中(数组在 Java 中是对象,JVM 将对象存储在一个叫堆的内存区域中,用于动态内存分配),改变了堆中的数组,那么数组的引用也就都会变化。赋值语句可以复制基本数据类型的变量,但是不能复制数组,赋值语句只改变数组变量的指向,无法被指向的数组会被JVM垃圾回收。一个数组变量看起来是储存了一个数组,但它实际上储存的是指向该数组的引用:一个含有index个元素数组的。1 ) 使用循环语句逐个地复制数组的元素。

2023-01-01 03:57:02 396

原创 《Java黑皮书基础篇第10版》 第6章【习题】

下面的说法是否正确:对返回值类型为void的方法的调用总是单独的一条语句,但是对带返回值类型的方法的调用本身不能作为一条语句。在6.13的a中,分别给出调用max方法之前、刚进人max方法、max方法刚要返回之前以及 max方法返回之后堆栈的内容。method2中如果用了else-if,需要保证有else结尾,不然编译器会认为该方法会出现没有返回值的情况。max方法所需要的空间:value1 = 1, value2 = 2, max = 2。第二,已经在方法头中定义了n,不需要在方法体中再次定义了。

2022-12-30 06:07:54 1903 2

原创 《Java黑皮书基础篇第10版》 第6章【笔记】

修饰符 返回值类型 方法名(参数列表){//方法体}方法头:指的是方法的修饰符+返回值类型+方法名+参数列表修饰符:目前为止,暂时只使用static当作方法参数返回值类型:方法有返回值(需要输出的值),那就填写其返回(需要输出)的数据类型;方法没有返回值,直接填写void方法名:方法名和参数列表一起构成方法签名参数列表:参数列表指明参数的类型、顺序和个数,也可以没有参数。需要对每一个参数单独声明数据类型,不可以直接敲int a, b, c = 1;定义在方法头中的参数被称为形参。

2022-12-30 06:06:36 465

原创 《Java黑皮书基础篇第10版》 第5章【习题】&【笔记】

下述说法是否正确?三角函数方法中的参数是以弧度为单位的角正确编写一条语句,将47°转换为弧度值,并将结果赋给一个变量编写一条语句.将π/ 7转换为角度值,并将结果賦给一个变量编写一个表达式,返回34-55的一个随机整数编写一个表达式,返回0-999的一个随机整数编写一个表达式,返回5.5 - 55.5的一个随机数为什么Math类不需要导人?Math类在java.lang包中,lang包都是隐式导入的Math.log(Math.exp(5.5))等于多少?5.5。

2022-12-22 22:48:43 1817

原创 《Java黑皮书基础篇第10版》 第4章【习题】

计算下面的方法调用:下述说法是否正确? 三角函数方法中的参数是以弧度为单位的角编写一条语句,将47°转换为弧度值,并将结果赋给一个变量编写一条语句.将π\piπ / 7转换为角度值,并将结果賦给一个变量编写一个表达式,返回34-55的一个随机整数编写一个表达式,返回0-999的一个随机整数编写一个表达式,返回5.5 - 55.5的一个随机数为什么Math类不需要导人?Math.log(Math.exp(5.5))等于多少?Math.exp(Math.log(5.5))等于多少?Math.asi

2022-12-22 02:18:38 2082

原创 《Java黑皮书基础篇第10版》 第3章【习题】

列出6个关系操作符假设 x 等于1,给出下列布尔表达式的结果:(x > 0) true(x < 0) false(x != 0) true(x >= 0)truw(x != 1) truw下面涉及类型转换的变换合法吗? 编写一个测试程序来验证你的结论。直接量、保留字、标识符的区别编写一个if语句,在y大于等于0的时候将1賦值给X编写一个if 语句,如果score大于90则增加3%的支付3.4习题编写一个if语句,如果score大于90则增加3%的支付,否则则增加1%的支付3.5习题假设x =

2022-12-17 06:14:14 2028

原创 《Java黑皮书基础篇第10版》 第2章【习题】

指出并修改以下代码中的错误:2.3习题如何编写一条语句,让用户从键盘输人一个双精度值? 在执行下面代码的时候,如果你输入5a, 将发生什么?下面两个import语句之间有什么执行的不同吗?Import java.util.Scanner;Import java.util.*;以下标识符哪些是合法的?哪些是Java的关键字?合法的:miles、Test、$4、x、y、radius、apps非法的:a++、–a、4#R、#44、int关键/保留字:class、public请指出并修改下面代码中的错误:

2022-12-15 07:41:38 1477 1

原创 《Java黑皮书基础篇第10版》 第1章【习题】

1个比特是0或1的数字,1个字节由8个比特组成汇编语言是机器语言的一个进步,用一些短小的英文单词(助记符,如add,sub)让人类可以方便高效的编写程序把汇编语言翻译成机器语言现代编程使用的语言,有很多种类,Java就是一种用高级语言编写的代码就是源程序解释器读取源文件中的1条语句,翻译成机器代码后立刻运行编译器将整个源文件翻译成机器代码文件,然后由执行器执行管理和控制计算机的活动,如Microsoft Windows,Mac OS,Linux多道程序设计是计算机在同一时刻可以运行多个软件。

2022-12-13 22:56:27 1195

原创 《Java黑皮书基础篇第10版》 第4章【笔记】

三角函数方法(trigonometric method)指教函数方法(exponent method)服务方法(service method)取整方法(min、max、abs、random)Math常量:Math.PI(π)和Math.E(自然对数的底)Math 类在程序中使用,但是并没有导入,因为它在java.lang 包中,所有类是隐式导人的。

2022-12-13 04:50:32 231

原创 《Java黑皮书基础篇第10版》 第3章【笔记】

Java 有几种类型的选择语句:单分支 if 语句、双分支if else语句、嵌套 if 语句、多分支 if else 语句、switch 语句和条件表达式流程图是描述算法或者过程的图 ,处理操作显示在盒子中,棱形的盒子表示一个布尔类型的条件,矩形盒子代表语句布尔表达式应该用括号括住。​如果花括号内只有一条语句,则可以省略花括号。

2022-12-11 23:18:16 369

原创 《Java黑皮书基础篇第10版》 第2章【笔记】

如果一个名字包含多个单词,就将它们连在一起, 第一个单词的字母小写,而后面的每个单词的首字母大写。• 标识符必须以字母、下划线(_)或美元符号($)开头,不能以数字开头。• 大写常量中的所有字母,两个单词间用下划线连接,例如,常量PI和常量MAX_VALUE。输入多个数字时,可以输入3个用空格分开的数字,也可以每输入一个数字后就按一次回车键。• 类名中的每个单词的首字母大写,例如,类名ComputeArea和System。Java 是区分大小写的, area、Area 和 AREA 都是不同的标识符。

2022-12-07 23:18:40 707

原创 《Java黑皮书基础篇第10版》 第1章【笔记】

块的写法有两种常用方式:次行(next line) 风格和行尾(end of line)风格。程序没有按照预期的方式执行,例如java的整数相除只返回结果的整数部分,不显示小数部分。引起程序非正常中断的错误,例如输入错误:程序期待用户输入字符串,但是用户输入了数值。每个内层的组成部分或语句应该比外层缩进两格。保留字/关键字 - reserved word/keyword。(行/块)注释 - (line/block) comment。(类/方法)块 - (class/method) block。

2022-12-07 04:53:28 502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除