From c148607a8afcb0fdaa0ccb580d5224aa479fb1ae Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 09:22:52 +0800 Subject: [PATCH 01/10] fix typo: notpad -> notepad, Sqllite -> SQLite --- docs/tools/database/datagrip.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tools/database/datagrip.md b/docs/tools/database/datagrip.md index 507c55fe..2bdc0edf 100644 --- a/docs/tools/database/datagrip.md +++ b/docs/tools/database/datagrip.md @@ -9,7 +9,7 @@ tag: DataGrip 是由 JetBrains 公司(就是那个出品 Intellij IDEA 的公司,JetBrains出品,必属精品)推出的数据库管理软件。如果你不爱折腾的话,这家公司出品的很多 IDE 都是你的最佳选择,比如你进行 Python 开发的可以选择 JetBrains 全家桶中的 PyCharm 。 -**DataGrip 支持几乎所有主流的关系数据库产品,如 DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite 及 Sybase 等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。** +**DataGrip 支持几乎所有主流的关系数据库产品,如 DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、SQLite 及 Sybase 等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。** 我相信,当你第一眼看到 DataGrip 以后,会有一种惊艳的感觉,就好比你第一眼看到一个姑娘,就是那么一瞥,你对自己说,就是她了!废话不多说,来看看 DataGrip 的常用功能。 @@ -254,7 +254,7 @@ sql 使用大写形式是个好的习惯,如果使用了小写,可以将光 选中需要格式化的 sql 代码,使用 Ctrl+Alt+L 快捷键 -datagrip 提供了一个功能强大的编辑器,实现了 notpad++的列编辑模式 +datagrip 提供了一个功能强大的编辑器,实现了 notepad++的列编辑模式 ### 列编辑 From 69c7abec20d7c5aab0a7843fb97a1b9b5d538bcc Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:00:22 +0800 Subject: [PATCH 02/10] =?UTF-8?q?[docs=20improve]=20=E6=8A=8A=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E7=B1=BB=E5=9E=8B=E7=BB=86=E5=88=86=E4=B8=BA=E6=95=B4?= =?UTF-8?q?=E6=95=B0=E5=9E=8B=E5=92=8C=E6=B5=AE=E7=82=B9=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 6e7c23b4..79d2aedc 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -581,7 +581,9 @@ public native int hashCode(); Java 中有 8 种基本数据类型,分别为: -1. 6 种数字类型 :`byte`、`short`、`int`、`long`、`float`、`double` +1. 6 种数字类型: + - 4 种整数型:`byte`、`short`、`int`、`long` + - 2 种浮点型:`float`、`double` 2. 1 种字符类型:`char` 3. 1 种布尔型:`boolean`。 From cec82622421e579fb9bac6e516702676083fee3f Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:11:09 +0800 Subject: [PATCH 03/10] =?UTF-8?q?[docs=20improve]=20=E8=B0=83=E6=95=B4`?= =?UTF-8?q?=E6=A0=87=E8=AF=86=E7=AC=A6=E5=92=8C=E5=85=B3=E9=94=AE=E5=AD=97?= =?UTF-8?q?=E7=9A=84=E5=8C=BA=E5=88=AB=E6=98=AF=E4=BB=80=E4=B9=88=EF=BC=9F?= =?UTF-8?q?`=E7=9A=84=E8=AF=AD=E5=BA=8F=E5=92=8C=E7=BB=93=E6=9E=84?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E5=85=B6=E6=9B=B4=E9=80=9A=E9=A1=BA=E6=B5=81?= =?UTF-8?q?=E7=95=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 79d2aedc..723fbaff 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -238,7 +238,7 @@ Java 中的注释有三种: ### 标识符和关键字的区别是什么? -在我们编写程序的时候,需要大量地为程序、类、变量、方法等取名字,于是就有了标识符,简单来说,标识符就是一个名字。但是有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这种特殊的标识符就是关键字。因此,关键字是被赋予特殊含义的标识符。比如,在我们的日常生活中 ,“警察局”这个名字已经被赋予了特殊的含义,所以如果你开一家店,店的名字不能叫“警察局”,“警察局”就是我们日常生活中的关键字。 +在我们编写程序的时候,需要大量地为程序、类、变量、方法等取名字,于是就有了标识符,简单来说,标识符就是一个名字。但是有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这些特殊的标识符就是关键字。因此,关键字是被赋予特殊含义的标识符。比如,在我们的日常生活中,如果我们想要开一家店,则要给这个店起一个名字,起的这个“名字”就叫标识符。但是我们店的名字不能叫“警察局”,因为“警察局”这个名字已经被赋予了特殊的含义,而“警察局”就是我们日常生活中的关键字。 ### Java 中有哪些常见的关键字? From 4de2dc30ae2b1c454ebe1fed408aa4f57751d4c7 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:32:03 +0800 Subject: [PATCH 04/10] =?UTF-8?q?[docs=20improve]=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AF=B9`default`=E5=85=B3=E9=94=AE=E5=AD=97=E7=9A=84=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 723fbaff..41833f76 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -256,6 +256,14 @@ Java 中的注释有三种: | 变量引用 | super | this | void | | | | | | 保留字 | goto | const | | | | | | +> `default` 这个关键字很特殊,既属于`程序控制`,也属于`类,方法和变量修饰符`,还属于`访问控制`。 +> +> 在`程序控制`中,当在 `switch` 中匹配不到任何情况时,可以使用 `default` 来编写默认匹配的情况。 +> +> 在`类,方法和变量修饰符`中,从 `JDK8` 开始引入了默认方法,可以使用 `default` 关键字来定义一个方法的默认实现。 +> +> 在`访问控制`中,如果一个方法前没有任何修饰符,则默认会有一个修饰符 `default`,但是这个修饰符加上了就会报错。 + ### 自增自减运算符 在写代码的过程中,常见的一种情况是需要某个整数类型变量增加 1 或减少 1,Java 提供了一种特殊的运算符,用于这种表达式,叫做自增运算符(++)和自减运算符(--)。 From 33bd59f976af125db3765383342414fde3f28040 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:43:11 +0800 Subject: [PATCH 05/10] =?UTF-8?q?[docs=20improve]=20=E6=B7=BB=E5=8A=A0`enu?= =?UTF-8?q?m`=E5=92=8C`assert`=E5=85=B3=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 41833f76..53f5f243 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -246,9 +246,9 @@ Java 中的注释有三种: | :------------------- | -------- | ---------- | -------- | ------------ | ---------- | --------- | ------ | | 访问控制 | private | protected | public | | | | | | 类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native | -| | new | static | strictfp | synchronized | transient | volatile | | +| | new | static | strictfp | synchronized | transient | volatile | enum | | 程序控制 | break | continue | return | do | while | if | else | -| | for | instanceof | switch | case | default | | | +| | for | instanceof | switch | case | default | assert | | | 错误处理 | try | catch | throw | throws | finally | | | | 包相关 | import | package | | | | | | | 基本类型 | boolean | byte | char | double | float | int | long | From 7565540951ef695b3187fc38f4517283d4781080 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:45:13 +0800 Subject: [PATCH 06/10] =?UTF-8?q?[docs=20improve]=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=A0=87=E9=A2=98`Java=20=E4=B8=AD=E6=9C=89=E5=93=AA=E4=BA=9B?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E7=9A=84=E5=85=B3=E9=94=AE=E5=AD=97=EF=BC=9F?= =?UTF-8?q?`=20->=20`Java=20=E4=B8=AD=E6=9C=89=20`53`=20=E4=B8=AA=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E5=AD=97=EF=BC=9A`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 53f5f243..9f9f95bf 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -240,7 +240,7 @@ Java 中的注释有三种: 在我们编写程序的时候,需要大量地为程序、类、变量、方法等取名字,于是就有了标识符,简单来说,标识符就是一个名字。但是有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这些特殊的标识符就是关键字。因此,关键字是被赋予特殊含义的标识符。比如,在我们的日常生活中,如果我们想要开一家店,则要给这个店起一个名字,起的这个“名字”就叫标识符。但是我们店的名字不能叫“警察局”,因为“警察局”这个名字已经被赋予了特殊的含义,而“警察局”就是我们日常生活中的关键字。 -### Java 中有哪些常见的关键字? +### Java 中有 `53` 个关键字: | 分类 | 关键字 | | | | | | | | :------------------- | -------- | ---------- | -------- | ------------ | ---------- | --------- | ------ | From f63f4c9e0223804bf20d5552b735e2eb62df641f Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 12:48:04 +0800 Subject: [PATCH 07/10] =?UTF-8?q?[docs=20improve]=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=85=B3=E9=94=AE=E5=AD=97=E7=9A=84=E5=B0=8Ftips?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 9f9f95bf..72c38128 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -256,6 +256,8 @@ Java 中的注释有三种: | 变量引用 | super | this | void | | | | | | 保留字 | goto | const | | | | | | +> Tips:所有的关键字都是小写的,在 `IDE` 中表现为蓝色。 + > `default` 这个关键字很特殊,既属于`程序控制`,也属于`类,方法和变量修饰符`,还属于`访问控制`。 > > 在`程序控制`中,当在 `switch` 中匹配不到任何情况时,可以使用 `default` 来编写默认匹配的情况。 From 0de50022ead23c45a849e4d298f70920551d9584 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 13:08:33 +0800 Subject: [PATCH 08/10] =?UTF-8?q?[docs=20improve]=20=E6=B7=BB=E5=8A=A0`con?= =?UTF-8?q?tinue=E3=80=81break=20=E5=92=8C=20return`=E7=9A=84=E7=BB=83?= =?UTF-8?q?=E4=B9=A0=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 72c38128..692a3129 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -284,6 +284,47 @@ Java 中的注释有三种: 1. `return;` :直接使用 return 结束方法执行,用于没有返回值函数的方法 2. `return value;` :return 一个特定值,用于有返回值函数的方法 +思考一下:下列语句的运行结果是什么? + +```java + public static void main(String[] args) { + boolean flag = false; + for (int i = 0; i <= 3; i++) { + if (i == 0) { + System.out.println("0"); + } else if (i == 1) { + System.out.println("1"); + continue; + } else if (i == 2) { + System.out.println("2"); + flag = true; + } else if (i == 3) { + System.out.println("3"); + break; + } else if (i == 4) { + System.out.println("4"); + } + System.out.println("xixi"); + } + if (flag) { + System.out.println("haha"); + return; + } + System.out.println("heihei"); + } +``` + +运行结果: +``` +0 +xixi +1 +2 +xixi +3 +haha +``` + ### 方法 #### 什么是方法的返回值?方法有哪几种类型? From 63b5c8fab463be2b19d15b435471ab13564f1a17 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 13:18:55 +0800 Subject: [PATCH 09/10] =?UTF-8?q?[docs=20improve]=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=EF=BC=8C=E4=BB=8E=E5=B0=8F=E5=88=B0=E5=A4=A7?= =?UTF-8?q?=E6=8E=92=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 692a3129..323312a1 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -642,10 +642,10 @@ Java 中有 8 种基本数据类型,分别为: | 基本类型 | 位数 | 字节 | 默认值 | | :-------- | :--- | :--- | :------ | -| `int` | 32 | 4 | 0 | -| `short` | 16 | 2 | 0 | -| `long` | 64 | 8 | 0L | | `byte` | 8 | 1 | 0 | +| `short` | 16 | 2 | 0 | +| `int` | 32 | 4 | 0 | +| `long` | 64 | 8 | 0L | | `char` | 16 | 2 | 'u0000' | | `float` | 32 | 4 | 0f | | `double` | 64 | 8 | 0d | From eb1df030fb3e00d40107fd7ade23caed7324a0fb Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 16 Feb 2022 13:31:55 +0800 Subject: [PATCH 10/10] =?UTF-8?q?[docs=20improve]=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/basis/java-basic-questions-01.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 323312a1..1e2ce2a8 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -640,16 +640,16 @@ Java 中有 8 种基本数据类型,分别为: 这 8 种基本数据类型的默认值以及所占空间的大小如下: -| 基本类型 | 位数 | 字节 | 默认值 | -| :-------- | :--- | :--- | :------ | -| `byte` | 8 | 1 | 0 | -| `short` | 16 | 2 | 0 | -| `int` | 32 | 4 | 0 | -| `long` | 64 | 8 | 0L | -| `char` | 16 | 2 | 'u0000' | -| `float` | 32 | 4 | 0f | -| `double` | 64 | 8 | 0d | -| `boolean` | 1 | | false | +| 基本类型 | 位数 | 字节 | 默认值 | 取值范围 | +| :-------- | :--- | :--- | :------ | ------------------------------------------ | +| `byte` | 8 | 1 | 0 | -128 ~ 127 | +| `short` | 16 | 2 | 0 | -32768 ~ 32767 | +| `int` | 32 | 4 | 0 | -2147483648 ~ 2147483647 | +| `long` | 64 | 8 | 0L | -9223372036854775808 ~ 9223372036854775807 | +| `char` | 16 | 2 | 'u0000' | 0 ~ 65535 | +| `float` | 32 | 4 | 0f | 1.4E-45 ~ 3.4028235E38 | +| `double` | 64 | 8 | 0d | 4.9E-324 ~ 1.7976931348623157E308 | +| `boolean` | 1 | | false | true、false | 对于 `boolean`,官方文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素。