提交 121f5365 编写于 作者: W wizardforcel

2020-06-12 16:47:13

上级 14a64466
...@@ -22,7 +22,7 @@ Python 是一种流行的编程语言,由 Guido van Rossum 创建,并于 199 ...@@ -22,7 +22,7 @@ Python 是一种流行的编程语言,由 Guido van Rossum 创建,并于 199
Python 主要是为了强调代码的可读性而开发的,它的语法允许程序员用更少的代码行来表达概念。 Python 主要是为了强调代码的可读性而开发的,它的语法允许程序员用更少的代码行来表达概念。
根据语言中可用关键字的简单性粗略衡量,Python 3 有 33 个关键字,Python 2 有 31 个关键字。相比之下,C++ 有 62 个关键字,Java 有 53 个关键字。 根据语言中可用关键字的简单性粗略衡量,Python3 有 33 个关键字,Python 2 有 31 个关键字。相比之下,C++ 有 62 个关键字,Java 有 53 个关键字。
Python 语法提供了一种易于学习和易于阅读的简洁结构。 Python 语法提供了一种易于学习和易于阅读的简洁结构。
...@@ -50,7 +50,7 @@ $ python --version ...@@ -50,7 +50,7 @@ $ python --version
#prints #prints
Python 3.8.0 Python3.8.0
``` ```
...@@ -89,7 +89,7 @@ Python 代码可以直接在命令行中运行,通常对于测试少量代码 ...@@ -89,7 +89,7 @@ Python 代码可以直接在命令行中运行,通常对于测试少量代码
```java ```java
$ python $ python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32 Python3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information. Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, World!") >>> print("Hello, World!")
......
...@@ -2,29 +2,29 @@ ...@@ -2,29 +2,29 @@
> 原文: [https://howtodoinjava.com/python/install-python-sublime-editor/](https://howtodoinjava.com/python/install-python-sublime-editor/) > 原文: [https://howtodoinjava.com/python/install-python-sublime-editor/](https://howtodoinjava.com/python/install-python-sublime-editor/)
了解**在 Sublime 编辑器**中安装 python 包的功能,例如自动完成功能,以及在 Sublime 编辑器本身中运行 build 了解**在 Sublime 编辑器**中安装 python 包的功能,例如自动完成功能,以及在 Sublime 编辑器本身中运行构建
```java ```java
Table of Contents Table of Contents
Install Sublime Package Control Install Sublime Package Control
Install Package Python 3 Install Package Python3
Verify Python Autocomplete and Build Verify Python Autocomplete and Build
``` ```
## 安装 Sublime 包控制 ## 安装 Sublime 包控制
首先下载用于 sublime 编辑器的包控 首先下载用于 sublime 编辑器的包控
1. Go to URL: [https://packagecontrol.io/installation#st3](https://packagecontrol.io/installation#st3) 1. 转到 URL: [https://packagecontrol.io/installation#st3](https://packagecontrol.io/installation#st3)
![Sublime package control](img/bd963b7d4dd2fd8adfb0bd41ea4bc38e.png) ![Sublime package control](img/bd963b7d4dd2fd8adfb0bd41ea4bc38e.png)
Sublime 封装控件 Sublime 包控制
2. Now note down the location of folder where packages are installed in sublime editor. You can find the location by clicking on **Preferences > Browse Packages**. 2. 现在记下 sublime 编辑器中安装包的文件夹的位置。 您可以通过单击“首选项 -> 浏览软件包”来找到位置。
![Browse Packages](img/c0902464eae6a16c4fd7868e706cff80.png) ![Browse Packages](img/c0902464eae6a16c4fd7868e706cff80.png)
...@@ -32,9 +32,9 @@ Verify Python Autocomplete and Build ...@@ -32,9 +32,9 @@ Verify Python Autocomplete and Build
3. **单击“ Package Control.sublime-package”链接,保存从包控制网站下载的文件**,并将其**放在第二步**的文件夹中。 3. **单击“Package Control -> sublime-package”链接,保存从包控制网站下载的文件**,并将其**放在第二步**的文件夹中。
4. 现在,**通过关闭升华编辑器**来重新启动,然后再次将其打开。 4. 现在,**通过关闭 Sublime 编辑器**来重新启动,然后再次将其打开。
5. To verify the package control is installed correctly, click on **Preferences > Package Control** menu item. It should open up the package control window. 5. 要验证是否正确安装了包控制,请单击“首选项 -> 程序包控件”菜单项。 它应该打开包控制窗口。
![Package Control Menu](img/6b8a6f91fdc1d0fd6a25dc5a696581ea.png) ![Package Control Menu](img/6b8a6f91fdc1d0fd6a25dc5a696581ea.png)
...@@ -42,9 +42,9 @@ Verify Python Autocomplete and Build ...@@ -42,9 +42,9 @@ Verify Python Autocomplete and Build
## 安装包 Python 3 ## 安装 Python3 包
1. Now to install any package support, including Python package, go to **Preferences > Package Control** and choose **Install Package**. 1. 现在要安装任何包支持,包括 Python 包,请转到“首选项 -> 包控制”,**然后选择“安装包”**
![Install Package Window](img/8aefc2c48da8bcebc73cf46543c5cbd6.png) ![Install Package Window](img/8aefc2c48da8bcebc73cf46543c5cbd6.png)
...@@ -52,7 +52,7 @@ Verify Python Autocomplete and Build ...@@ -52,7 +52,7 @@ Verify Python Autocomplete and Build
2. In opened window, **type ‘python’ to filter the list of packages** related to python only. 2. 在打开的窗口中,**键入“`python`”以过滤仅与 python 相关的包列表**
![Select Python Package to Install](img/35f82294580f2bf0b35d2c4e56e90039.png) ![Select Python Package to Install](img/35f82294580f2bf0b35d2c4e56e90039.png)
...@@ -66,11 +66,11 @@ Verify Python Autocomplete and Build ...@@ -66,11 +66,11 @@ Verify Python Autocomplete and Build
要验证 python 支持,再次**重新启动 IDE** 。 创建一个名称为`demo.py`的文件。 键入一些简单的命令,例如`print`**应该打开自动完成**窗口。 要验证 python 支持,再次**重新启动 IDE** 。 创建一个名称为`demo.py`的文件。 键入一些简单的命令,例如`print`**应该打开自动完成**窗口。
现在,键入简单的 hello world 代码,然后在 keyborad 中输入`CTRL + B`。 它将在底部窗格中打开输出输出窗口,并且**将在`demo.py`文件中显示命令**的构建输出。 现在,键入简单的 helloworld 代码,然后在键盘中输入`CTRL + B`。 它将在底部窗格中打开输出输出窗口,并且**将在`demo.py`文件中显示命令**的构建输出。
![Sublime Build Output](img/1570faa56046af5b8886752c949db558.png) ![Sublime Build Output](img/1570faa56046af5b8886752c949db558.png)
Sublime Build Output Sublime 构建输出
......
# Python – 评论 # Python – 注释
> 原文: [https://howtodoinjava.com/python/python-comments/](https://howtodoinjava.com/python/python-comments/) > 原文: [https://howtodoinjava.com/python/python-comments/](https://howtodoinjava.com/python/python-comments/)
...@@ -38,7 +38,7 @@ print(2 + 3) # prints 5 ...@@ -38,7 +38,7 @@ print(2 + 3) # prints 5
Python 没有什么特别的东西可以写多行注释。 要编写它,我们可以编写**多个单行注释** Python 没有什么特别的东西可以写多行注释。 要编写它,我们可以编写**多个单行注释**
我推荐这种形式的评论 我推荐这种形式的注释
```java ```java
# This statement # This statement
...@@ -48,7 +48,7 @@ print(2 + 2) ...@@ -48,7 +48,7 @@ print(2 + 2)
``` ```
我们可以利用未分配给变量的**多行字符串文字**(使用*三引号*)。 Python 会忽略未分配给任何变量的字符串文字,因此不会影响程序执行。 我们可以利用未分配给变量的**多行字符串字面值**(使用*三引号*)。 Python 会忽略未分配给任何变量的字符串字面值,因此不会影响程序执行。
```java ```java
""" """
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
## 1.创建变量 ## 1.创建变量
#### 1.1 简单分配 #### 1.1 简单赋值
Python 语言没有**没有关键字来声明变量**。 当我们首先为变量赋值时,会立即在适当位置创建一个变量。 Python 语言没有**没有关键字来声明变量**。 当我们首先为变量赋值时,会立即在适当位置创建一个变量。
...@@ -30,9 +30,9 @@ print(blogName) # prints howtodoinjava ...@@ -30,9 +30,9 @@ print(blogName) # prints howtodoinjava
``` ```
#### 1.2 连锁分配 #### 1.2 链式赋值
Python 还允许使用链式分配,这使得可以将相同的值同时分配给多个变量。 Python 还允许使用链式赋值,这使得可以将相同的值同时赋值给多个变量。
```java ```java
i = j = k = 20 i = j = k = 20
...@@ -43,9 +43,9 @@ print(k) # prints 20 ...@@ -43,9 +43,9 @@ print(k) # prints 20
``` ```
#### 1.3 单行中的多个分配 #### 1.3 单行中的多个赋值
Python 允许您在一行中将值分配给多个变量。 Python 允许您在一行中将值赋值给多个变量。
```java ```java
x, y, z = "A", "B", 100 x, y, z = "A", "B", 100
...@@ -58,7 +58,7 @@ print(z) # prints 100 ...@@ -58,7 +58,7 @@ print(z) # prints 100
#### 1.2 变量重新声明 #### 1.2 变量重新声明
由于变量不需要数据类型信息,因此我们可以毫无问题地重新分配任何类型的新值。 在 Python 中,可以为变量分配一种类型的值,然后在以后重新分配其他类型的值。 由于变量不需要数据类型信息,因此我们可以毫无问题地重新赋值任何类型的新值。 在 Python 中,可以为变量赋值一种类型的值,然后在以后重新赋值其他类型的值。
```java ```java
index = 10 index = 10
...@@ -78,7 +78,7 @@ print(index) # prints NA ...@@ -78,7 +78,7 @@ print(index) # prints NA
* 变量名**只能包含字母数字字符和下划线** `(A-z, 0-9, and _ )` * 变量名**只能包含字母数字字符和下划线** `(A-z, 0-9, and _ )`
* 变量**名称区分大小写**。 例如,名称,名称和名称是三个不同的变量。 * 变量**名称区分大小写**。 例如,名称,名称和名称是三个不同的变量。
> **注意:** Python 3 具有完全的 Unicode 支持,它也允许在变量名中使用 Unicode 字符。 > **注意:** Python3 具有完全的 Unicode 支持,它也允许在变量名中使用 Unicode 字符。
## 3.局部变量与全局变量 ## 3.局部变量与全局变量
...@@ -118,7 +118,7 @@ print("x is " + str(x)) # prints x is 10 ...@@ -118,7 +118,7 @@ print("x is " + str(x)) # prints x is 10
``` ```
#### 3.3 “全局”关键字 #### 3.3 `global`关键字
要在函数内部创建全局变量,我们可以使用`global`关键字。 要在函数内部创建全局变量,我们可以使用`global`关键字。
......
...@@ -11,19 +11,20 @@ ...@@ -11,19 +11,20 @@
Python 默认具有以下内置数据类型。 Python 默认具有以下内置数据类型。
| 类别 | 数据类型/类名 | | 类别 | 数据类型/类名 |
| --- | --- |
| **文本/字符串** | [`str`](https://howtodoinjava.com/python/python-strings/) | | **文本/字符串** | [`str`](https://howtodoinjava.com/python/python-strings/) |
| **数值** | [`int`](https://howtodoinjava.com/python/python-integer-ints/)`float``complex` | | **数值** | [`int`](https://howtodoinjava.com/python/python-integer-ints/)`float``complex` |
| **列表** | [`list`](https://howtodoinjava.com/python/python-lists/)[`tuple`](https://howtodoinjava.com/python/python-tuples/)`range` | | **列表** | [`list`](https://howtodoinjava.com/python/python-lists/)[`tuple`](https://howtodoinjava.com/python/python-tuples/)`range` |
| **映射** | `dict` | | **映射** | `dict` |
| **设置** | `set``frozenset` | | **集合** | `set``frozenset` |
| **布尔值** | `bool` | | **布尔值** | `bool` |
| **二进制** | `bytes``bytearray``memoryview` | | **二进制** | `bytes``bytearray``memoryview` |
## 2.详细的数据类型 ## 2.详细的数据类型
#### 2.1 力量 #### 2.1 字符串
字符串可以定义为用单引号,双引号或三引号引起来的字符序列。 三引号(“””)可用于编写多行字符串。 字符串可以定义为用单引号,双引号或三引号引起来的字符序列。 三引号(`"""`)可用于编写多行字符串。
```java ```java
x = 'A' x = 'A'
...@@ -46,7 +47,7 @@ sumOfItems = str(100) # type conversion from int to string ...@@ -46,7 +47,7 @@ sumOfItems = str(100) # type conversion from int to string
``` ```
#### 2.2 整数,浮点数,复 #### 2.2 整数,浮点数,复
这些是数字类型。 它们是在将数字分配给变量时创建的。 这些是数字类型。 它们是在将数字分配给变量时创建的。
...@@ -70,9 +71,9 @@ x = complex(100+3j) # complex ...@@ -70,9 +71,9 @@ x = complex(100+3j) # complex
在 Python 中,**列表**是某些数据的**有序序列**,使用方括号(`[ ]`)和逗号(`,`)编写。 列表可以**包含不同类型**的数据。 在 Python 中,**列表**是某些数据的**有序序列**,使用方括号(`[ ]`)和逗号(`,`)编写。 列表可以**包含不同类型**的数据。
**Slice [`:`]运算符**可用于访问列表中的数据。 **切片运算符**`[:]`可用于访问列表中的数据。
**串联运算符(`+`)****重复运算符(`*`)**的工作方式类似于`str`数据类型。 连接运算符(`+`)和重复运算符(`*`的工作方式类似于`str`数据类型。
使用切片运算符可以将**范围**视为`sublist`,从`list`中取出。 使用切片运算符可以将**范围**视为`sublist`,从`list`中取出。
...@@ -98,7 +99,7 @@ randomTuple[0] = 0 # TypeError: 'tuple' object does not support item assignment ...@@ -98,7 +99,7 @@ randomTuple[0] = 0 # TypeError: 'tuple' object does not support item assignment
#### 2.4 字典 #### 2.4 字典
**字典**或字典是项的键值对的**有序集合。 键可以保存任何原始数据类型,而值是任意的 Python 对象。** **字典**或字典是项的键值对的**有序集合**。 键可以保存任何原始数据类型,而值是任意的 Python 对象。
字典中的条目用逗号分隔并括在花括号`{, }`中。 字典中的条目用逗号分隔并括在花括号`{, }`中。
...@@ -112,9 +113,9 @@ print (charsMap.values()); # prints dict_values(['a', 'b', 'c', 'd']) ...@@ -112,9 +113,9 @@ print (charsMap.values()); # prints dict_values(['a', 'b', 'c', 'd'])
``` ```
#### 2.5 设置,frozenset #### 2.5 集合,`frozenset`
可以将 python 中的**集**定义为大括号`{, }`内各种项目的**无序集合** 可以将 python 中的**集**定义为大括号`{, }`内各种项目的**无序集合**
集合**的元素不能重复**。 python 集**的元素必须是不可变的** 集合**的元素不能重复**。 python 集**的元素必须是不可变的**
...@@ -143,9 +144,9 @@ frozenSetOfDigits.remove(0) # AttributeError: 'frozenset' object has no attribut ...@@ -143,9 +144,9 @@ frozenSetOfDigits.remove(0) # AttributeError: 'frozenset' object has no attribut
``` ```
#### 2.6 布尔 #### 2.6 布尔
**bool** 值是两个常量对象`False``True`。 它们用于表示真值。 在数字上下文中,它们的行为分别类似于整数 0 和 1。 布尔值是两个常量对象`False``True`。 它们用于表示真值。 在数字上下文中,它们的行为分别类似于整数 0 和 1。
```java ```java
x = True x = True
...@@ -161,11 +162,11 @@ print(bool(0)) #False ...@@ -161,11 +162,11 @@ print(bool(0)) #False
#### 2.7 字节,字节数组,内存视图 #### 2.7 字节,字节数组,内存视图
**字节****字节数组**用于处理二进制数据。 **memoryview** 使用缓冲区协议访问其他二进制对象的内存,而无需进行复制。 **字节****字节数组**用于处理二进制数据。 **内存视图**使用缓冲区协议访问其他二进制对象的内存,而无需进行复制。
字节对象是单个字节的**不变**序列。 仅在处理与 ASCII 兼容的数据时,才应使用它们。 字节对象是单个字节的**不变**序列。 仅在处理与 ASCII 兼容的数据时,才应使用它们。
`bytes`文字的语法与`string`文字相同,只是添加了`'b'`前缀。 `bytes`字面值的语法与`string`字面值相同,只是添加了`'b'`前缀。
始终通过调用构造器`bytearray()`来创建`bytearray`对象。 这些是**可变的**对象。 始终通过调用构造器`bytearray()`来创建`bytearray`对象。 这些是**可变的**对象。
...@@ -183,7 +184,7 @@ print(z) # <memory at 0x014CE328> ...@@ -183,7 +184,7 @@ print(z) # <memory at 0x014CE328>
``` ```
## 3\. type()函数 ## 3\. `type()`函数
`type()`函数可用于获取任何对象的数据类型。 `type()`函数可用于获取任何对象的数据类型。
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
Python 中有 35 个关键字 - 下面列出了它们的用法。 Python 中有 35 个关键字 - 下面列出了它们的用法。
| 关键词 | 描述 |
| **和** | A **logical AND** operator. Return `True` if both statements are `True`. | **和** | A **logical AND** operator. Return `True` if both statements are `True`.
```java ```java
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [https://howtodoinjava.com/python/python-strings/](https://howtodoinjava.com/python/python-strings/) > 原文: [https://howtodoinjava.com/python/python-strings/](https://howtodoinjava.com/python/python-strings/)
[Python](https://howtodoinjava.com/python-tutorial/) 中,`string`文字是: [Python](https://howtodoinjava.com/python-tutorial/) 中,`string`字面值是:
* 代表 Unicode 字符的字节数组 * 代表 Unicode 字符的字节数组
* 用单引号或双引号引起来 * 用单引号或双引号引起来
......
...@@ -120,7 +120,7 @@ print (sortedTuple) # ("a", "b", "c", "d", "e", "f") ...@@ -120,7 +120,7 @@ print (sortedTuple) # ("a", "b", "c", "d", "e", "f")
``` ```
## 6.元组的重复和串联 ## 6.元组的重复和连接
要重复一个元组的所有元素,请将其乘以所需因子`N` 要重复一个元组的所有元素,请将其乘以所需因子`N`
......
...@@ -53,10 +53,10 @@ httplib2 ...@@ -53,10 +53,10 @@ httplib2
A caching http interface that supports ETags and gzip A caching http interface that supports ETags and gzip
to conserve bandwidth. to conserve bandwidth.
Requires Python 3.0 or later Requires Python3.0 or later
Changelog: Changelog:
2009-05-28, Pilgrim: ported to Python 3 2009-05-28, Pilgrim: ported to Python3
2007-08-18, Rick: Modified so it's able to use a socks proxy if needed. 2007-08-18, Rick: Modified so it's able to use a socks proxy if needed.
``` ```
......
# 我叫文字栏位示例 # vaadin 文本字段示例
> 原文: [https://howtodoinjava.com/vaadin/vaadin-text-field-examples/](https://howtodoinjava.com/vaadin/vaadin-text-field-examples/) > 原文: [https://howtodoinjava.com/vaadin/vaadin-text-field-examples/](https://howtodoinjava.com/vaadin/vaadin-text-field-examples/)
...@@ -158,7 +158,7 @@ Vaadin text field change events ...@@ -158,7 +158,7 @@ Vaadin text field change events
``` ```
2. #### 文变更事件监听器 2. #### 文变更事件监听器
有时,您可能希望尽快处理文本字段中的每个文本更改事件。 您可以使用`TextChangeListener`处理这些文本更改。 有时,您可能希望尽快处理文本字段中的每个文本更改事件。 您可以使用`TextChangeListener`处理这些文本更改。
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* **push()**:将数据项放置在堆栈指针指向的位置。 * **push()**:将数据项放置在堆栈指针指向的位置。
* **pop()**:在其中删除数据项并从堆栈指针指向的位置返回该数据项。 * **pop()**:在其中删除数据项并从堆栈指针指向的位置返回该数据项。
某些严重依赖堆栈的环境可能会根据要求提供其他操作。 Stack 最常见的用法是表达式求值和语法解析。 您也可以在文处理器的撤消/重做操作中找到它们。 某些严重依赖堆栈的环境可能会根据要求提供其他操作。 Stack 最常见的用法是表达式求值和语法解析。 您也可以在文处理器的撤消/重做操作中找到它们。
## Java Stack 实现源代码 ## Java Stack 实现源代码
......
...@@ -106,7 +106,7 @@ str.intern(); ...@@ -106,7 +106,7 @@ str.intern();
``` ```
因此,对于`s``t`中的任何两个字符串,当且仅当`s.equals(t)``true`时,`s.intern() == t.intern()`才为`true`。 意味着如果 s 和 t 都是不同的字符串对象,并且具有相同的字符序列,则在这两个变量上调用 intern()将导致两个变量引用的单个字符串池文 因此,对于`s``t`中的任何两个字符串,当且仅当`s.equals(t)``true`时,`s.intern() == t.intern()`才为`true`。 意味着如果 s 和 t 都是不同的字符串对象,并且具有相同的字符序列,则在这两个变量上调用 intern()将导致两个变量引用的单个字符串池文
## 5.匹配正则表达式 ## 5.匹配正则表达式
...@@ -127,7 +127,7 @@ str.matches("<regex>"); ...@@ -127,7 +127,7 @@ str.matches("<regex>");
* 使用==运算符 * 使用==运算符
* 使用 equals()方法 * 使用 equals()方法
**`==`运算符比较对象引用**,即内存地址相等性。 因此,如果两个字符串对象引用字符串池中的相同文或堆中的相同字符串对象,则`s==t`将返回`true`,否则返回`false` **`==`运算符比较对象引用**,即内存地址相等性。 因此,如果两个字符串对象引用字符串池中的相同文或堆中的相同字符串对象,则`s==t`将返回`true`,否则返回`false`
`equals()`方法在 String 类中被覆盖,**它验证字符串对象**持有的 char 序列。 如果它们存储相同的字符序列,则 s.equals(t)将返回 true,否则返回 false。 `equals()`方法在 String 类中被覆盖,**它验证字符串对象**持有的 char 序列。 如果它们存储相同的字符序列,则 s.equals(t)将返回 true,否则返回 false。
...@@ -481,7 +481,7 @@ for(char c : passwordChars) { ...@@ -481,7 +481,7 @@ for(char c : passwordChars) {
* `String`类表示字符序列,并提供了使用字符的有用方法。 字符串类实例是不可变的。 因此,每次使用字符串类执行字符串连接时,都会使用连接的字符串创建一个新对象。 * `String`类表示字符序列,并提供了使用字符的有用方法。 字符串类实例是不可变的。 因此,每次使用字符串类执行字符串连接时,都会使用连接的字符串创建一个新对象。
* `StringBuilder` class is used to perform string concatenation operations in more memory efficient way. It internally maintains a `char array` and manipulate the content in this array only. * `StringBuilder` class is used to perform string concatenation operations in more memory efficient way. It internally maintains a `char array` and manipulate the content in this array only.
执行完所有操作后需要获取完整的串联字符串时,它将创建一个具有字符数组内容的新 String。 执行完所有操作后需要获取完整的连接字符串时,它将创建一个具有字符数组内容的新 String。
* `StringBuffer``StringBuilder`类非常相似。 唯一的区别是它是线程安全的。 所有方法都是`synchronized` * `StringBuffer``StringBuilder`类非常相似。 唯一的区别是它是线程安全的。 所有方法都是`synchronized`
......
...@@ -90,9 +90,9 @@ Java 规范说 Java 中的 ***都是按值传递*** 。 在 Java 中,没有“ ...@@ -90,9 +90,9 @@ Java 规范说 Java 中的 ***都是按值传递*** 。 在 Java 中,没有“
***为什么无效*?** 因此,没有任何将值返回给实际调用此方法的 JVM 的用途。 应用唯一想与调用过程进行通信的是:正常终止或异常终止。 使用`System.exit(int)`已经可以实现。 非零值表示异常终止,否则一切正常。 ***为什么无效*?** 因此,没有任何将值返回给实际调用此方法的 JVM 的用途。 应用唯一想与调用过程进行通信的是:正常终止或异常终止。 使用`System.exit(int)`已经可以实现。 非零值表示异常终止,否则一切正常。
## 将 String 创建为 new()和文字之间有什么区别? ## 将 String 创建为 new()和字面值之间有什么区别?
当我们使用`new()`创建`String`时,它会在堆中创建并添加到字符串池中,而使用文字创建的`String`仅在字符串池中创建,而字符串池仅存在于堆的 Perm 区域中。 当我们使用`new()`创建`String`时,它会在堆中创建并添加到字符串池中,而使用字面值创建的`String`仅在字符串池中创建,而字符串池仅存在于堆的 Perm 区域中。
那么,您真的需要非常深入地了解字符串池的概念,才能回答此问题或类似问题。 我的建议..关于[字符串类和字符串池](//howtodoinjava.com/java/string/interview-stuff-about-string-class-in-java/ "String pool concepts")的“认真学习”。 那么,您真的需要非常深入地了解字符串池的概念,才能回答此问题或类似问题。 我的建议..关于[字符串类和字符串池](//howtodoinjava.com/java/string/interview-stuff-about-string-class-in-java/ "String pool concepts")的“认真学习”。
......
...@@ -100,8 +100,8 @@ Java 9 中的一些重要功能/ [更改是:](https://howtodoinjava.com/java9/ ...@@ -100,8 +100,8 @@ Java 9 中的一些重要功能/ [更改是:](https://howtodoinjava.com/java9/
* [尝试声明中的自动资源管理](//howtodoinjava.com/java-7/automatic-resource-management-with-try-with-resources-in-java-7/) * [尝试声明中的自动资源管理](//howtodoinjava.com/java-7/automatic-resource-management-with-try-with-resources-in-java-7/)
* [钻石运算符](//howtodoinjava.com/java-7/improved-type-inference-in-java-7/) * [钻石运算符](//howtodoinjava.com/java-7/improved-type-inference-in-java-7/)
* 简化的 varargs 方法声明 * 简化的 varargs 方法声明
* 二进制整数文字 * 二进制整数字面值
* [数字文字下划线](//howtodoinjava.com/java-7/improved-formatted-numbers-in-java-7/) * [数字字面值下划线](//howtodoinjava.com/java-7/improved-formatted-numbers-in-java-7/)
* [改进的异常处理](//howtodoinjava.com/java-7/improved-exception-handling-in-java-7/) * [改进的异常处理](//howtodoinjava.com/java-7/improved-exception-handling-in-java-7/)
* [ForkJoin 框架](//howtodoinjava.com/java-7/forkjoin-framework-tutorial-forkjoinpool-example/) * [ForkJoin 框架](//howtodoinjava.com/java-7/forkjoin-framework-tutorial-forkjoinpool-example/)
* [NIO 2.0](//howtodoinjava.com/category/java-7-features/nio/) 具有对多个文件系统,文件元数据和符号链接的支持 * [NIO 2.0](//howtodoinjava.com/category/java-7-features/nio/) 具有对多个文件系统,文件元数据和符号链接的支持
......
...@@ -149,7 +149,7 @@ Token Value >>>> null ...@@ -149,7 +149,7 @@ Token Value >>>> null
令牌的密钥的类型为`JsonToken.NAME`。 使用`nextName()`方法获取密钥名称。 令牌的密钥的类型为`JsonToken.NAME`。 使用`nextName()`方法获取密钥名称。
* 确定令牌类型后,使用`nextLong()``nextString()``nextInt()`等方法获取令牌的值。 * 确定令牌类型后,使用`nextLong()``nextString()``nextInt()`等方法获取令牌的值。
* 可以使用`nextNull()``skipValue()`使用空文字 * 可以使用`nextNull()``skipValue()`使用空字面值
* 所有`next....()`方法都返回当前令牌的值,并将内部指针移到下一个。 * 所有`next....()`方法都返回当前令牌的值,并将内部指针移到下一个。
* 当遇到未知名称时,严格的解析器应该失败,并带有异常。 宽松解析器应调用`skipValue()`来递归地跳过该值的嵌套令牌,否则可能会发生冲突。 * 当遇到未知名称时,严格的解析器应该失败,并带有异常。 宽松解析器应调用`skipValue()`来递归地跳过该值的嵌套令牌,否则可能会发生冲突。
......
...@@ -66,7 +66,7 @@ XPath 数据模型中有七种节点: ...@@ -66,7 +66,7 @@ XPath 数据模型中有七种节点:
1. 根节点(每个文档仅一个) 1. 根节点(每个文档仅一个)
2. 元素节点 2. 元素节点
3. 属性节点 3. 属性节点
4.节点 4.节点
5. 注释节点 5. 注释节点
6. 处理指令节点 6. 处理指令节点
7. 命名空间节点 7. 命名空间节点
...@@ -94,7 +94,7 @@ XPath 数据模型中有七种节点: ...@@ -94,7 +94,7 @@ XPath 数据模型中有七种节点:
例如,在我们的 XML 片段“`year`”中是一个属性节点。 例如,在我们的 XML 片段“`year`”中是一个属性节点。
#### 2.4 文节点 #### 2.4 文节点
文本节点非常简单。 **它们包含来自元素**的文本。 如果 XML 文档中的原始文本包含实体或字符引用,则在创建 XPath 文本节点之前将其解析。 文本节点非常简单。 **它们包含来自元素**的文本。 如果 XML 文档中的原始文本包含实体或字符引用,则在创建 XPath 文本节点之前将其解析。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册