提交 df309084 编写于 作者: W wizardforcel

2020-07-11 11:24:02

上级 13ef34ef
......@@ -50,6 +50,6 @@ int main() {
After concatenation: programming is awesome
```
在这里,字符串`s1``s2`串联在一起,结果存储在`s1`中。
在这里,字符串`s1``s2`连接在一起,结果存储在`s1`中。
重要的是要注意,`s1`的长度应足以在连接后容纳字符串。 如果没有,您可能会得到意外的输出。
\ No newline at end of file
......@@ -102,7 +102,7 @@ n = 7
但是,现代编译器非常擅长代码优化,使用寄存器变量将使程序运行更快的机会非常少。
除非您在嵌入式系统上工作,在该系统上您知道如何为给定应用程序优化代码,否则将不使用寄存器变量。
除非您在嵌入式系统上工作,在该系统上您知道如何为给定应用优化代码,否则将不使用寄存器变量。
* * *
......
......@@ -116,7 +116,7 @@ struct student getInformation()
## 按引用传递结构
您还可以按引用传递结构(就像您按引用传递内置类型的变量一样)。 我们建议您在继续之前阅读参考文献的[传递](/c-programming/c-pointer-functions)
您还可以按引用传递结构(就像您按引用传递内置类型的变量一样)。 我们建议您在继续之前阅读[引用传递](/c-programming/c-pointer-functions)的文档
在按引用传递期间,结构变量的内存地址将传递给函数。
......@@ -173,6 +173,6 @@ result.real = 4.5
result.imag = -5.6
```
在上述程序中,三个结构变量`c1``c2``result`的地址传递给`addNumbers()`函数。 此处,`result`通过参考传递。
在上述程序中,三个结构变量`c1``c2``result`的地址传递给`addNumbers()`函数。 此处,`result`通过引用传递。
`addNumbers()`内的`result`变量被更改时,`main()`函数内的`result`变量也相应地被更改。
\ No newline at end of file
......@@ -120,7 +120,7 @@ enum designFlags {
} button;
```
假设您正在设计 Windows 应用程序的按钮。 您可以将文本设置为使用`ITALICS``BOLD``UNDERLINE`标记。
假设您正在设计 Windows 应用的按钮。 您可以将文本设置为使用`ITALICS``BOLD``UNDERLINE`标记。
在上述伪代码中,所有积分常数均为 2 的幂是有原因的。
......
......@@ -37,7 +37,7 @@ int main()
**4.这些函数是便携式的**
随着现实世界中不断变化的需求,您的应用程序有望随时随地运行。 而且,这些库函数可以在每台计算机上执行相同的操作,从而对您有所帮助。
随着现实世界中不断变化的需求,您的应用有望随时随地运行。 而且,这些库函数可以在每台计算机上执行相同的操作,从而对您有所帮助。
* * *
......
......@@ -22,9 +22,9 @@ a != 0
术语`b<sup>2</sup>-4ac`被称为二次方程的判别式。 它说明了根的性质。
* 如果判别值大于`0`,则根是真实的且不同。
* 如果判别值大于`0`,则根是实数且不同。
* 如果判别式等于`0`,则根是实数且相等。
* 如果判别式小于`0`,则根是复杂且不同的
* 如果判别式小于`0`,则根是复数且不同
![Formula to compute the roots of a quadratic equation](img/7b7c6a49d25d99e965c7ef4f36d27ddb.png "Roots of a quadratic equation")
......
......@@ -2,7 +2,7 @@
> 原文: [https://www.programiz.com/cpp-programming/examples/concatenate-string](https://www.programiz.com/cpp-programming/examples/concatenate-string)
#### 在此示例中,您将学习串联(连接)两个字符串(字符串对象和 C 样式字符串)。
#### 在此示例中,您将学习连接(连接)两个字符串(字符串对象和 C 样式字符串)。
要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题:
......
......@@ -155,7 +155,7 @@ enum designFlags {
} button;
```
假设您正在设计 Windows 应用程序的按钮。 您可以将标记`ITALICS``BOLD``UNDERLINE`设置为文本。
假设您正在设计 Windows 应用的按钮。 您可以将标记`ITALICS``BOLD``UNDERLINE`设置为文本。
上面的伪代码中所有积分常数都是 2 的幂是有原因的。
......
......@@ -10,7 +10,7 @@
## 部分类简介
在使用 C# (或 OOP)进行编程时,我们可以将类的定义划分为两个或多个源文件。 源文件包含类定义的一部分,并且在编译应用程序时将所有部分组合在一起。 为了拆分类定义,我们需要使用`partial`关键字。
在使用 C# (或 OOP)进行编程时,我们可以将类的定义划分为两个或多个源文件。 源文件包含类定义的一部分,并且在编译应用时将所有部分组合在一起。 为了拆分类定义,我们需要使用`partial`关键字。
### 示例 1:
......
......@@ -122,7 +122,7 @@ value = 5;
C# 中的变量大致分为两种类型**:值类型****引用类型**。 在本教程中,我们将讨论作为值类型的子类的原始(简单)数据类型。
参考类型将在以后的教程中介绍。 但是,如果您想了解更多有关变量类型的信息,请访问 [C# 类型和变量](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/types-and-variables)(官方 C# 文档)。
引用类型将在以后的教程中介绍。 但是,如果您想了解更多有关变量类型的信息,请访问 [C# 类型和变量](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/types-and-variables)(官方 C# 文档)。
### `bool`(布尔)
......
......@@ -36,7 +36,7 @@
使用循环双链表有两个主要优点。
1. 从树中删除节点需要`O(1)`时间。
2. 两个这样的列表的串联需要花费`O(1)`时间。
2. 两个这样的列表的连接需要花费`O(1)`时间。
![Fibonacci Heap Structure](img/18b0fb38e55bf98b19861e55062b888c.png "Fibonacci Heap Structure")
......
......@@ -4,7 +4,7 @@
#### 在本教程中,您将学习什么是主定理以及如何将其用于解决递归关系。
方法是用于解决以下形式的递归关系的公式:
定理是用于解决以下形式的递归关系的公式:
```
T(n) = aT(n/b) + f(n),
......
......@@ -4,7 +4,7 @@
#### 在本教程中,您将学习什么是贪婪算法。 此外,您还会找到一个贪婪方法的示例。
贪心算法是一种通过选择当前可用的最佳选项来解决问题的方法,而无需担心将来会带来什么结果。 换句话说,本地最佳选择旨在产生全最佳结果。
贪心算法是一种通过选择当前可用的最佳选项来解决问题的方法,而无需担心将来会带来什么结果。 换句话说,本地最佳选择旨在产生全最佳结果。
对于所有问题,该算法可能都不是最佳选择。 在某些情况下,它可能会产生错误的结果。
......
......@@ -175,13 +175,13 @@ Value of Pi = 3.1415
MyInterface ref;
```
* 然后,我们为参考分配了一个 lambda 表达式。
* 然后,我们为引用分配了一个 lambda 表达式。
```java
ref = () -> 3.1415;
```
* 最后,我们使用参考接口调用方法`getPiValue()`。 当
* 最后,我们使用引用接口调用方法`getPiValue()`。 当
```java
......
......@@ -38,10 +38,10 @@ Hello, World!
1. `// Your First Program`
在 Java 中,任何以`//`开头的行都是注释。 注释旨在供用户阅读代码以更好地了解程序的意图和功能。 Java 编译器(将 Java 程序转换为计算机可执行的 Java 字节码的应用程序)将完全忽略它。 要了解更多信息,请访问 [Java 注释](/java-programming/comments)。
在 Java 中,任何以`//`开头的行都是注释。 注释旨在供用户阅读代码以更好地了解程序的意图和功能。 Java 编译器(将 Java 程序转换为计算机可执行的 Java 字节码的应用)将完全忽略它。 要了解更多信息,请访问 [Java 注释](/java-programming/comments)。
2. `class HelloWorld { ... }`
在 Java 中,每个应用程序均以类定义开头。 在程序中,`HelloWorld`是类的名称,而类定义是:
在 Java 中,每个应用均以类定义开头。 在程序中,`HelloWorld`是类的名称,而类定义是:
```java
class HelloWorld {
......@@ -49,14 +49,14 @@ Hello, World!
}
```
现在,请记住每个 Java 应用程序都有一个类定义以及该类的名称。 应该与 Java 中的文件名匹配。
现在,请记住每个 Java 应用都有一个类定义以及该类的名称。 应该与 Java 中的文件名匹配。
3. `public static void main(String[] args) { ... }`
这是主要方法。 Java 中的每个应用程序都必须包含`main`方法。 Java 编译器开始从`main`方法执行代码。
这是`main`方法。 Java 中的每个应用都必须包含`main`方法。 Java 编译器开始从`main`方法执行代码。
**它是如何工作的?** 好问题。 但是,我们将不在本文中讨论。 毕竟,这是将 Java 编程语言引入新手的基本程序。 我们将学习`public`,`static`,`void`和[的含义方法如何工作](/java-programming/methods)? 在后面的章节中。
现在,只需记住主要功能是 Java 应用程序的入口点,并且它在 Java 程序中是必需的。 Java 中主要方法的签名为:
现在,只需记住主要功能是 Java 应用的入口点,并且它在 Java 程序中是必需的。 Java 中`main`方法的签名为:
```java
public static void main(String[] args) {
......@@ -72,7 +72,7 @@ Hello, World!
### 重要结论
* 每个有效的 Java 应用程序都必须具有一个类定义(与文件名匹配)。
* 每个有效的 Java 应用都必须具有一个类定义(与文件名匹配)。
* `main`方法必须在类定义内。
* 编译器从`main`函数开始执行代码。
......
......@@ -18,13 +18,13 @@ Java 程序的原理
如果您对学习 JVM 体系结构感兴趣,请访问 [JVM 体系结构说明](https://dzone.com/articles/jvm-architecture-explained)
如果您对学习 JVM 架构感兴趣,请访问 [JVM 架构说明](https://dzone.com/articles/jvm-architecture-explained)
* * *
## 什么是 JRE?
JRE(Java 运行时环境)是一个包,提供 Java 类库,Java 虚拟机(JVM)和运行 Java 应用程序所需的其他组件。
JRE(Java 运行时环境)是一个包,提供 Java 类库,Java 虚拟机(JVM)和运行 Java 应用所需的其他组件。
JRE 是 JVM 的超集。
......@@ -40,7 +40,7 @@ Java 运行时环境
## 什么是 JDK?
JDK(Java 开发套件)是使用 Java 开发应用程序所需的软件开发套件。 当您下载 JDK 时,还将同时下载 JRE。
JDK(Java 开发套件)是使用 Java 开发应用所需的软件开发套件。 当您下载 JDK 时,还将同时下载 JRE。
除了 JRE,JDK 还包含许多开发工具(编译器,JavaDoc,Java Debugger 等)。
......@@ -50,7 +50,7 @@ Java 开发套件
如果要开发 Java 应用程序,请[下载 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html)
如果要开发 Java 应用,请[下载 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html)
* * *
......
......@@ -285,7 +285,7 @@ Value at: 9 = 9
上图描述了在创建新的`FileWriter`时发生异常时的程序执行流程。
* 为了进入发生异常的方法,方法调用`writeList()`方法,然后调用`FileWriter()`方法来创建新的`OutputFile.txt`文件。
* 为了进入发生异常的方法,`main`方法调用`writeList()`方法,然后调用`FileWriter()`方法来创建新的`OutputFile.txt`文件。
* 发生异常时,运行系统将跳过`try`块中的其余代码。
* 它开始以相反的顺序搜索调用栈,以找到合适的异常处理器。
* 这里`FileWriter`没有异常处理器,因此运行时系统检查调用栈中的下一个方法,即`writeList`
......
......@@ -171,7 +171,7 @@ Main.java uses unchecked or unsafe operations
```
由于以下陈述
由于以下语句
```java
ArrayList wordList = new ArrayList<>();
......
......@@ -283,7 +283,7 @@ Removed Element: Dog
`ArrayBlockingQueue`使用数组作为其内部存储。
它被视为**线程安全的**集合。 因此,它通常用于多线程应用程序中。
它被视为**线程安全的**集合。 因此,它通常用于多线程应用中。
假设一个线程正在将元素插入队列,而另一个线程正在从队列中删除元素。
......
......@@ -295,7 +295,7 @@ New LinkedBlockingQueue: [Cat]
`LinkedBlockingQueue`使用链接列表作为其内部存储。
它被视为**线程安全的**集合。 因此,它通常用于多线程应用程序中。
它被视为**线程安全的**集合。 因此,它通常用于多线程应用中。
假设一个线程正在将元素插入队列,而另一个线程正在从队列中删除元素。
......
......@@ -17,7 +17,7 @@
## 为什么是继承?
假设在您的应用程序中,您需要三个字符-一个**数学老师**,一个**足球运动员**和一个**商人**
假设在您的应用中,您需要三个字符-一个**数学老师**,一个**足球运动员**和一个**商人**
由于所有角色都是人,因此他们可以走路和说话。 但是,他们也有一些特殊技能。 数学老师可以**教数学**,足球运动员可以**踢足球**,商人可以**经营业务**
......
......@@ -38,7 +38,7 @@ Hello, World!
以`//`开头的任何行都是 Kotlin 中的注释(类似于 Java)。 注释将被编译器忽略。 它们旨在供阅读代码的人员更好地了解该程序的意图和功能。 要了解更多信息,请访问 *Kotlin 注释*。
2. `fun main(args : Array<String>) { ... }`
这是`main`函数,在每个 Kotlin 应用程序中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。
这是`main`函数,在每个 Kotlin 应用中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。
该函数将字符串数组作为参数并返回`Unit`。 您将在后面的章节中了解函数和参数。
......
......@@ -8,7 +8,7 @@
单例是一种面向对象的模式,其中一个类只能有一个实例(对象)。
例如,您正在处理具有 SQL 数据库后端的应用程序。 您想创建一个连接池来访问数据库,同时为所有客户端重用相同的连接。 为此,您可以通过单例类创建连接,以便每个客户端获得相同的连接。
例如,您正在处理具有 SQL 数据库后端的应用。 您想创建一个连接池来访问数据库,同时为所有客户端重用相同的连接。 为此,您可以通过单例类创建连接,以便每个客户端获得相同的连接。
* * *
......
......@@ -64,8 +64,8 @@ language = 14 // Error
### `var`和`val`之间的区别
* `val`(不可变参考) - 一旦分配了值,就无法更改使用`val`关键字声明的变量。 它类似于 Java 中的*最终变量*
* `var`(可变参考) - 使用`var`关键字声明的变量可以稍后在程序中更改。 它对应于常规 Java 变量。
* `val`(不可变引用) - 一旦分配了值,就无法更改使用`val`关键字声明的变量。 它类似于 Java 中的*最终变量*
* `var`(可变引用) - 使用`var`关键字声明的变量可以稍后在程序中更改。 它对应于常规 Java 变量。
以下是一些示例:
......
......@@ -21,7 +21,7 @@ Kotlin 算术运算符
| `+` | 加法(也用于字符串连接) |
| `-` | 减法运算符 |
| `*` | 乘法运算符 |
| `/` | 除法运营商 |
| `/` | 除法运算符 |
| `%` | 模运算符 |
* * *
......
......@@ -202,7 +202,7 @@ Python 中有多种复合运算符,例如`a += 5`,它们会添加到变量
* * *
## 特殊运营商
## 特殊运算符
Python 语言提供了一些特殊类型的运算符,例如身份运算符或成员资格运算符。 下面通过示例对其进行描述。
......
......@@ -110,7 +110,7 @@ I like rock
## 循环与`else`
`for`循环也可以具有可选的`else`块。 如果用于循环的序列中的项目用尽,则会执行`else`部分。
`for`循环也可以具有可选的`else`块。 如果`for`循环的序列中的项目用尽,则会执行`else`部分。
`break`关键字可用于停止`for`循环。 在这种情况下,其他部分将被忽略。
......
......@@ -182,7 +182,7 @@ Value outside function: 20
这是因为函数内部的变量`x`与外部的变量不同(局部于函数)。 尽管它们具有相同的名称,但是它们是两个具有不同作用域的不同变量。
另一方面,从外部可以看到函数外部的变量。 它们具有全范围。
另一方面,从外部可以看到函数外部的变量。 它们具有全范围。
我们可以从函数内部读取这些值,但不能更改(写入)它们。 为了在函数外部修改变量的值,必须使用关键字`global`将它们声明为全局变量。
......
......@@ -421,7 +421,7 @@ for x in range(10):
pow2.append(2 ** x)
```
如果语句,列表推导可以选择包含更多的`for`[。 可选的`if`语句可以过滤出新列表的项目。 这里有些例子。](/python-programming/if-elif-else)
列表推导可以选择包含更多的`for`[`if`语句](/python-programming/if-elif-else)。 可选的`if`语句可以过滤出新列表的项目。 这里有些例子。
```py
>>> pow2 = [2 ** x for x in range(10) if x > 5]
......
......@@ -40,7 +40,7 @@ Python 具有内置的`open()`函数来打开文件。 此函数返回文件对
| `r` | 打开文件进行读取。 (默认) |
| `w` | 打开一个文件进行写入。 如果不存在则创建一个新文件,或者如果存在则将其截断。 |
| `x` | 打开文件以进行独占创建。 如果文件已经存在,则操作失败。 |
| `a` | 打开文件以在文件末尾加而不截断。 如果不存在,则创建一个新文件。 |
| `a` | 打开文件以在文件末尾加而不截断。 如果不存在,则创建一个新文件。 |
| `t` | 以文本模式打开。 (默认) |
| `b` | 以二进制模式打开。 |
| `+` | 打开文件进行更新(读取和写入) |
......
......@@ -6,7 +6,7 @@
Python 有许多[内置异常](/python-programming/exceptions),它们会在程序出现问题时强制您的程序输出错误。
但是,有时您可能需要创建自己的自定义例外来满足您的目的。
但是,有时您可能需要创建自己的自定义异常来满足您的目的。
* * *
......
......@@ -98,7 +98,7 @@ Woo is 15 years old
这些属性在类的`__init__`方法中定义。 创建对象后,首先运行的是初始化方法。
然后,我们创建`Parrot`类的实例。 这里,`Blu``woo`是我们新对象的参考(值)
然后,我们创建`Parrot`类的实例。 这里,`Blu``woo`是我们新对象(值)的引用
我们可以使用`__class__.species`访问`class`属性。 类的所有实例的类属性都相同。 同样,我们使用`blu.name``blu.age`访问实例属性。 但是,类的每个实例的实例属性都不同。
......
......@@ -62,7 +62,7 @@ Traceback (most recent call last):
StopIteration
```
一种更优雅的自动迭代方式是[用于循环](/python-programming/for-loop)。 使用此方法,我们可以迭代可以返回迭代器的任何对象,例如列表,字符串,文件等。
一种更优雅的自动迭代方式是[`for`循环](/python-programming/for-loop)。 使用此方法,我们可以迭代可以返回迭代器的任何对象,例如列表,字符串,文件等。
```py
>>> for element in my_list:
......
......@@ -94,7 +94,7 @@ StopIteration
要重新启动该过程,我们需要使用`a = my_gen()`之类的东西来创建另一个生成器对象。
最后要注意的一点是,我们可以将带有[的生成器直接用于循环](/python-programming/for-loop)
最后要注意的一点是,我们可以将[生成器直接用于`for`循环](/python-programming/for-loop)
这是因为`for`循环使用一个迭代器,并使用`next()`函数对其进行迭代。 抛出`StopIteration`时,它自动结束。 检查这里[知道在 Python](/python-programming/iterator#for-loop-working) 中实际上是如何实现`for`循环的。
......
......@@ -387,7 +387,7 @@ Optional(54)
### 3.`insert`
`insert`函数用于在集合中插入/加元素。
`insert`函数用于在集合中插入/加元素。
#### 示例 9:`insert`如何工作?
......
......@@ -83,7 +83,7 @@ for value in 1..<3 {
### 3.单侧范围
单边范围是指在一个方向上尽可能连续的范围。 可以使用半开范围算子和闭合范围算子来创建它,但是该算子只能在一侧具有一个值。
单边范围是指在一个方向上尽可能连续的范围。 可以使用半开范围运算符和闭合范围运算符来创建它,但是该运算符只能在一侧具有一个值。
#### 示例 3:小于 2 的单侧范围
......
......@@ -110,7 +110,7 @@ let someValue:Int = 12
#endif
```
条件`swift(>=4.0`应用于语句`#if#endif`。 结果,仅在编译时 swift 版本大于或等于 4.0 时才执行`print`语句。
条件`swift(>=4.0)`应用于语句`#if#endif`。 结果,仅在编译时 swift 版本大于或等于 4.0 时才执行`print`语句。
* **行控制语句**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册