mirror of
https://gitee.com/gaohongy/Java-Book.git
synced 2026-07-16 10:33:49 +00:00
增加行好
This commit is contained in:
+19
-19
@@ -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 <stdio.h>
|
||||
#include <malloc.h>
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user