JDK 在版本 8 和版本 12 之间的超快发展增加了现代 Java 的学习曲线,因此增加了将开发人员置于生产力平台所需的时间。它的新特性和新概念可以用来解决各种现代问题。这本书使您能够通过解释有关复杂性、性能、可读性等方面的正确实践和决策,对常见问题采取客观的方法。
《Java 编程问题》将帮助您完成日常任务并在截止日期前完成。本书中包含 1000 多个示例的 300 多个应用涵盖了共同和基本的兴趣领域:字符串、数字、数组、集合、数据结构、日期和时间、不变性、类型推断、Optional
、Java I/O、Java 反射、函数式编程、并发和 HTTP 客户端 API。把你的技能和问题放在一起,这些问题是经过精心设计的,以突出和涵盖日常工作中获得的核心知识。换句话说(不管你的任务是简单的、中等的还是复杂的),在你的工具带下掌握这些知识是必须的,而不是一个选择。
在本书的最后,您将对 Java 概念有了深刻的理解,并有信心为您的问题开发和选择正确的解决方案。
《Java 编程问题》对于初学者和中级 Java 开发人员特别有用。然而,这里看到的问题是任何 Java 开发人员在日常工作中都会遇到的
所需的技术背景相当薄弱。主要来说,你应该是一个 Java 爱好者,并且在跟随一段 Java 代码方面有很好的技巧和直觉
您应该具备 Java 语言的基本知识。您应该安装以下组件:
- IDE(推荐 Apache NetBeans 11.x,但不是必须的)
- JDK12 和 Maven 3.3.x
- 需要在适当的时候安装其他第三方库(无特殊要求)
您可以从您的帐户下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问这个页面并注册,将文件直接通过电子邮件发送给您。
您可以通过以下步骤下载代码文件:
- 登录或注册这个页面。
- 选择“支持”选项卡。
- 点击代码下载。
- 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。
下载文件后,请确保使用最新版本的解压缩或解压缩文件夹:
- 用于 Windows 的 WinRAR/7-Zip
- Mac 的 Zipeg/iZip/UnRarX
- 用于 Linux 的 7-Zip/PeaZip
这本书的代码包也托管在 GitHub 上。如果代码有更新,它将在现有 GitHub 存储库中更新。
我们的丰富书籍和视频目录中还有其他代码包,可在这个页面上找到。看看他们!
我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以在这里下载。
要查看正在执行的代码,请访问以下链接。
这本书中使用了许多文本约定。
CodeInText
:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个例子:“如果当前字符存在于Map
实例中,那么只需使用(character, occurrences+1)
将其出现次数增加 1。”
代码块设置如下:
public Map<Character, Integer> countDuplicateCharacters(String str) {
Map<Character, Integer> result = new HashMap<>();
// or use for(char ch: str.toCharArray()) { ... }
for (int i = 0; i<str.length(); i++) {
char ch = str.charAt(i);
result.compute(ch, (k, v) -> (v == null) ? 1 : ++v);
}
return result;
}
当我们希望提请您注意代码块的特定部分时,相关行或项以粗体显示:
for (int i = 0; i < str.length(); i++) {
int cp = str.codePointAt(i);
String ch = String.valueOf(Character.toChars(cp));
if(Character.charCount(cp) == 2) { // 2 means a surrogate pair
i++;
}
}
任何命令行输入或输出的编写方式如下:
$ mkdir css
$ cd css
粗体:表示一个新术语、一个重要单词或屏幕上显示的单词。例如,菜单或对话框中的单词会像这样出现在文本中。这里有一个例子:“在 Java 中,逻辑的和运算符表示为&&
,逻辑的或运算符表示为||
,逻辑的异或运算符表示为^|
。”
警告或重要提示如下所示。
提示和窍门是这样出现的。