From e0c1ea4129361182ab9ba9939747ba28211f8721 Mon Sep 17 00:00:00 2001 From: danny <12793148@qq.com> Date: Fri, 3 Mar 2023 18:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A1=8C=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01:概述/01.md | 38 ++++++++++++++++++------------------- 02:Java语言基础/01.md | 8 ++++---- 02:Java语言基础/02.md | 2 +- 02:Java语言基础/03.md | 30 ++++++++++++++--------------- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/01:概述/01.md b/01:概述/01.md index 8073b79..665795f 100644 --- a/01:概述/01.md +++ b/01:概述/01.md @@ -12,7 +12,7 @@ 如果从C语言出发,需要建立一个结构体来描述圆。 -```c +```c {.line-numbers} struct Circle { float x; // X坐标 @@ -23,14 +23,14 @@ struct Circle 上面只是定义了一个结构体(抽象,代表所有圆),但是还不存在一个真正的圆的实例(具体的对象),因此需要定义一个变量,其类型是Circle这个结构体。 -```c +```c {.line-numbers} struct Circle c1; ``` 如果要改变c1这个圆结构变量的值我们有两种方法,首先是直接赋值。 -```c +```c {.line-numbers} struct Circle c1; c1.x = 0; c1.y = 1; @@ -41,7 +41,7 @@ struct Circle c1; 另外还可以用函数的方式来改变结构体的值。 -```c +```c {.line-numbers} /** * 给圆设定初始值 * @param c 圆结构的指针 @@ -58,7 +58,7 @@ void setCircle(struct Circle *c, float x, float y, float r) { 另外我们一次性的打印整个圆的数据,这样我们最好需要一个函数。 -```c +```c {.line-numbers} /** * 打印 * @param c @@ -70,7 +70,7 @@ void printCircle(struct Circle *c) { 把所有代码放在一起: -```c +```c {.line-numbers} #include #include @@ -125,7 +125,7 @@ int main() { 例如,人这个对象有固有的特性(性别、年龄、身高、体重。。。)这些和圆的坐标和半径对应,都表示一个对象的特性;但是人可以说话,可以运动(动作、行为,相当于函数);而结构体变量的圆不能自己动作,只能依靠外部的函数进行动作。如果圆可以自己动作,例如让圆这个对象自己打印输出,这样不就可以和生活中的对象联系起来了? -```c +```c {.line-numbers} struct Circle { float x; // X坐标 @@ -151,7 +151,7 @@ c1.print(); // C语言无法做到 接下来我们使用java来实现上述的功能,这里主要是要把相关的函数作为结构体的一个部分。 -```c +```c {.line-numbers} /** * 定义Circle类 * @@ -211,7 +211,7 @@ public class Circle_Test { 命令行中执行: -```bash +```bash {.line-numbers} javac Circle_Test.java ``` @@ -223,13 +223,13 @@ javac Circle_Test.java 接下来使用命令行 -```bash +```bash {.line-numbers} java Circle_Test ``` 运行刚刚编译后的代码,得到结果 -```bash +```bash {.line-numbers} The position x=0, y=1, radius=11.200000! The position x=1, y=1, radius=3.300000! ``` @@ -352,7 +352,7 @@ Eclipse 是一个开放的框架,基于Eclipse框架的有很多不同语言 完成后,会打开一个新的类: -```java +```java {.line-numbers} package first; public class Hello { @@ -367,7 +367,7 @@ public class Hello { 接下来我们修改这个类框架,主要是修改main函数部分,结果如下: -```java +```java {.line-numbers} package first; public class Hello { @@ -429,7 +429,7 @@ Hello.java 这个文件的确在src文件夹中。 我们再来回顾以下上面最简单的Hello world: -```java +```java {.line-numbers} package first; public class Hello { @@ -468,7 +468,7 @@ public class Hello { 语法错误,编译的时候发现,例如: -```java +```java {.line-numbers} public class ShowSyntaxErrors { public static main(String[] args) { System.out.println("Welcome to Java); @@ -480,7 +480,7 @@ public class ShowSyntaxErrors { 运行时错误,运行时产生的错误,例如空对象操作、0作为除数、文件不存在等。运行时错误是我们需要特别关注的,因为会导致程序的流程异常,产生意想不到的结果。例如下面这个例子: -```java +```java {.line-numbers} public class ShowRuntimeErrors { public static void main(String[] args) { System.out.println(1 / 0); @@ -494,7 +494,7 @@ public class ShowRuntimeErrors { 逻辑错误,简单说来就是语法没错、也没有运行时错误(异常),但是结果错误了。通常是编程者的算法错了,例如: -```java +```java {.line-numbers} public class ShowLogicErrors { public static void main(String[] args) { System.out.println("Celsius 35 is Fahrenheit degree "); @@ -513,7 +513,7 @@ public class ShowLogicErrors { 代码如下: -```java +```java {.line-numbers} public class Debug { public static void main(String[] args) { @@ -528,7 +528,7 @@ public class Debug { 输出结果是: -``` +``` {.line-numbers} 0, 0,1, 0,1,2, diff --git a/02:Java语言基础/01.md b/02:Java语言基础/01.md index 0b161af..93b4e3b 100644 --- a/02:Java语言基础/01.md +++ b/02:Java语言基础/01.md @@ -71,7 +71,7 @@ C使用scanf函数配合一套字符串规则实现各种数据类型的输入 ### 2.1. ComputeAreaWithConsoleInput.java -```java +```java {.line-numbers} import java.util.Scanner; // Scanner is in the java.util package public class ComputeAreaWithConsoleInput { @@ -132,7 +132,7 @@ final datatype CONSTANTNAME = VALUE;   例如: -```java +```java {.line-numbers} final int PI = 3.14; final String ERROR="ERROR"; ``` @@ -175,7 +175,7 @@ Scanner对象有相应读取这些数据类型的函数,请自己尝试一下 字面量的含义是语句中直接写入整形数值或者是浮点数值的时候,这个数值表达的数据类型或者是赋值规则。例如: -```java +```java {.line-numbers} byte a = 100; byte b = 200; int c = 300; @@ -190,7 +190,7 @@ Scanner对象有相应读取这些数据类型的函数,请自己尝试一下 1. 对于整形赋值,只要字面量表达的数值不超过变量类型的取值范围就是合法的; 2. 对于带小数的字面量,缺省的类型是double,因此如果赋值给float的类型的变量会出错,正确的做法是在字面量后面加上F。 -```java +```java {.line-numbers} float e = 33.3F; ``` 科学计数法:例如:1.23456e-2 diff --git a/02:Java语言基础/02.md b/02:Java语言基础/02.md index c018016..d866bbc 100644 --- a/02:Java语言基础/02.md +++ b/02:Java语言基础/02.md @@ -40,7 +40,7 @@ Java的布尔类型和C保持一致,基本的运算符也和C保持一致。 这个方式在书上没有讲,在考试中可能会遇到这种情况。 -```java +```java {.line-numbers} import java.util.Scanner; /** diff --git a/02:Java语言基础/03.md b/02:Java语言基础/03.md index e724078..4bf304c 100644 --- a/02:Java语言基础/03.md +++ b/02:Java语言基础/03.md @@ -27,7 +27,7 @@ 实例: -```java +```java {.line-numbers} Math.ceil(2.1) returns 3.0 Math.ceil(2.0) returns 2.0 Math.ceil(-2.0) returns –2.0 @@ -57,7 +57,7 @@ Math.round(-2.6) returns -3 实例: -```java +```java {.line-numbers} Math.max(2, 3) returns 3 Math.max(2.5, 3) returns 3.0 Math.min(2.5, 3.6) returns 2.5 @@ -78,14 +78,14 @@ char类型是有序的(类似整形),整形可以使用的运算符都可 ### 2.1. char和整形的转换 -```java +```java {.line-numbers} int i = 'a'; // Same as int i = (int)'a'; char c = 97; // Same as char c = (char)97; ``` ### 2.2. char的比较 -```java +```java {.line-numbers} if (ch >= 'A' && ch <= 'Z') System.out.println(ch + " is an uppercase letter"); else if (ch >= 'a' && ch <= 'z') @@ -104,7 +104,7 @@ char c = 97; // Same as char c = (char)97; 字符串与C完全不一样,Java中的字符串的类型是 String 。注意,以前在Java中出现的类型都是小写开头的,这是第一个大写开头的,因此这个是一个类的类型,而不是普通类型。前面讲到过,类是抽象描述(类似结构体指针),如果来实例化(成为可操作的对象)需要使用new 操作生成一个对象。这里我们看看字符串是如何生成的。 -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { String s1 = new String("Hello"); @@ -114,7 +114,7 @@ public class Main { ``` 第三行代码是生成一个字符串对象,第四行是打印这个字符串。等等,这里和Hello world程序好像有所不同?对的,标准的对象生成应该是按照第三行的方式生成,不过因为String在程序中使用得太频繁了,因此如果写入字符串的字面量,编译器会自动构造一个对象,下面的代码也是正确的: -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { String s1 = "Hello"; @@ -124,7 +124,7 @@ public class Main { ``` 或者直接使用字面量作为参数: -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { System.out.println("Hello"); @@ -141,7 +141,7 @@ public class Main { 上述这些函数是在数据库对象上面进行调用的,例如: -```java +```java {.line-numbers} String sA = "Hello world!"; int len = sA.length(); char c = sA.charAt(1); @@ -154,7 +154,7 @@ public class Main { 字符串连接可以使用算术运算符(+),也可以使用对象函数: -```java +```java {.line-numbers} String sA = "Hello"; String sB = "World"; System.out.println(sA.concat(" ").concat(sB).concat("!")); @@ -164,7 +164,7 @@ public class Main { 另外,字符串可以和数值类型的变量或者是字面量进行连接: -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { String sA = "Hello"; @@ -178,7 +178,7 @@ public class Main { 前面学习了如何从控制台读取数值类型的值,这里我们看看如何读取字符串/字符。 -```java +```java {.line-numbers} import java.util.Scanner; public class Main { @@ -225,7 +225,7 @@ next() 是以空格区分字符串的,如果我们需要读取一段字符串 这时我们需要使用到相应数值类型的类类型(包装类型),而不是简单的类型了。关于包装类型我们后面会讲到,这里先了解一下。 -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { int a = Integer.parseInt("1"); @@ -245,14 +245,14 @@ public class Main { 有很多方式,最简单的是加上一个空字符串(没有内容的字符串),例如: -```java +```java {.line-numbers} String sA = 100 + ""; ``` #### 3.2.8. 格式化字符串 格式化字符串如同C语言的printf方法,甚至连占位符和格式方法都一模一样。如果要输出一个字符串,可以使用 System.out.printf 方法。 -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { System.out.printf("Hello, my name is %s, and %d years old.\n", "Danny", 20); @@ -261,7 +261,7 @@ public class Main { ``` 当然,如果不想输出字符串,而需要对中间的结果进行格式化应该如何? -```java +```java {.line-numbers} public class Main { public static void main(String[] args) { String a = String.format("Hello, my name is %s, and %d years old.\n", "Danny", 20);