mirror of
https://gitee.com/gaohongy/Java-Book.git
synced 2026-07-16 10:33:49 +00:00
完成第二章的内容
This commit is contained in:
+55
-54
@@ -2,7 +2,6 @@ Java基础(第二章)
|
||||
|
||||
## 1. 如何打印输出
|
||||
|
||||
|
||||
**这一章中,我们使用面向过程(C语言的方式)来了解Java的基本语法。虽然说是和面向对象无关,但是我们需要一个函数入口(main)函数,这个函数上一章讲过,有固定的格式,且这个函数必须定义在一个Public类中。**
|
||||
|
||||
### 1.1. ComputeArea.java
|
||||
@@ -11,21 +10,21 @@ Java基础(第二章)
|
||||
|
||||
ComputeArea.java
|
||||
|
||||
```java {.line-numbers}
|
||||
```java
|
||||
public class ComputeArea {
|
||||
public static void main(String[] args) {
|
||||
double radius = 0.0; // Declare radius
|
||||
double area; // Declare area
|
||||
public static void main(String[] args) {
|
||||
double radius = 0.0; // Declare radius
|
||||
double area; // Declare area
|
||||
|
||||
// Assign a radius
|
||||
radius = 20.0; // New value is radius
|
||||
// Assign a radius
|
||||
radius = 20.0; // New value is radius
|
||||
|
||||
// Compute area
|
||||
area = radius * radius * 3.14159;
|
||||
// Compute area
|
||||
area = radius * radius * 3.14159;
|
||||
|
||||
// Display results
|
||||
System.out.println("The area for the circle of radius " + radius + " is " + area);
|
||||
}
|
||||
// Display results
|
||||
System.out.println("The area for the circle of radius " + radius + " is " + area);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -51,15 +50,15 @@ public class ComputeArea {
|
||||
|
||||
再总结一下我们学的的:
|
||||
|
||||
1. main函数的固定写法;
|
||||
2. main函数必须在一给public类中定义;
|
||||
3. 字符串的表示和连接;
|
||||
4. 如何使用打印函数。
|
||||
1. main函数的固定写法;
|
||||
2. main函数必须在一给public类中定义;
|
||||
3. 字符串的表示和连接;
|
||||
4. 如何使用打印函数。
|
||||
|
||||
### 1.2. 问题
|
||||
|
||||
1. main函数前面的static是什么意思?
|
||||
2. main函数的参数 String\[\] args 是什么意思?
|
||||
1. main函数前面的static是什么意思?
|
||||
2. main函数的参数 String\[\] args 是什么意思?
|
||||
|
||||
后面回讲到上述两个问题,你可以先研究一下。
|
||||
|
||||
@@ -71,18 +70,18 @@ C使用scanf函数配合一套字符串规则实现各种数据类型的输入
|
||||
|
||||
### 2.1. ComputeAreaWithConsoleInput.java
|
||||
|
||||
```java {.line-numbers}
|
||||
```java
|
||||
import java.util.Scanner; // Scanner is in the java.util package
|
||||
|
||||
public class ComputeAreaWithConsoleInput {
|
||||
public static void main(String[] args) {
|
||||
// Create a Scanner object
|
||||
Scanner input = new Scanner(System.in);
|
||||
|
||||
|
||||
// Prompt the user to enter a radius
|
||||
System.out.print("Enter a number for radius: ");
|
||||
double radius = input.nextDouble();
|
||||
|
||||
|
||||
// Compute area
|
||||
double area = radius * radius * 3.14159;
|
||||
// Display result
|
||||
@@ -91,6 +90,7 @@ public class ComputeAreaWithConsoleInput {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
注意第一行的 import ..... 这个语句,这是把Scanner所在的包引入进来,相当于C的include语句。如果不写第一行,Eclipse会在地6行的 Scanner位置错误(红色下划线),这是只需要把鼠标移动到 Scanner 上面,会出现quike fix 的建议,如下图。这时只需要点击:Import 'Scanner' (java.util) 就可以了,Eclipse会自动加上import语句。
|
||||
|
||||

|
||||
@@ -113,14 +113,13 @@ public class ComputeAreaWithConsoleInput {
|
||||
|
||||
## 3. 标识符、变量、常量
|
||||
|
||||
|
||||
### 3.1. 与C语言一致的
|
||||
|
||||
1. Identifiers:标识符
|
||||
2. Variables:变量
|
||||
3. Declaring Variables:变量声明
|
||||
4. Assignment Statements:赋值语句
|
||||
5. Declaring and Initializing in One Step:变量声明与赋值用一行语句
|
||||
1. Identifiers:标识符
|
||||
2. Variables:变量
|
||||
3. Declaring Variables:变量声明
|
||||
4. Assignment Statements:赋值语句
|
||||
5. Declaring and Initializing in One Step:变量声明与赋值用一行语句
|
||||
|
||||
上面这些和C保持一致,我们只看看常量的声明。
|
||||
|
||||
@@ -132,7 +131,7 @@ final datatype CONSTANTNAME = VALUE;
|
||||
|
||||
例如:
|
||||
|
||||
```java {.line-numbers}
|
||||
```java
|
||||
final int PI = 3.14;
|
||||
final String ERROR="ERROR";
|
||||
```
|
||||
@@ -141,23 +140,23 @@ final String ERROR="ERROR";
|
||||
|
||||
其实只要是符合标识符的规则就是合法的变量名、常量名、函数名、类名;但是为了阅读方便,大家有个对命名大小写的共识,一般是这样:
|
||||
|
||||
1. 常量:全部大写;
|
||||
2. 变量:首字母小写;
|
||||
3. 类名(接口名):首字母大写,如果有多个单词,每个单词的首字母大写;
|
||||
4. 函数名:首字母小写。
|
||||
1. 常量:全部大写;
|
||||
2. 变量:首字母小写;
|
||||
3. 类名(接口名):首字母大写,如果有多个单词,每个单词的首字母大写;
|
||||
4. 函数名:首字母小写。
|
||||
|
||||
## 4. 基本数据类型
|
||||
|
||||
### 4.1. 数值类型
|
||||
|
||||
| 类型 | 存储大小(bit) | 说明 |
|
||||
|--------|-----------|----|
|
||||
| byte | 8 | |
|
||||
| short | 16 | |
|
||||
| int | 32 | |
|
||||
| long | 64 | |
|
||||
| float | 32 | |
|
||||
| double | 64 |
|
||||
| 类型 | 存储大小(bit) | 说明 |
|
||||
| ------ | --------- | --- |
|
||||
| byte | 8 | |
|
||||
| short | 16 | |
|
||||
| int | 32 | |
|
||||
| long | 64 | |
|
||||
| float | 32 | |
|
||||
| double | 64 | |
|
||||
|
||||
C语言中有uint、ulong等带u开头的整形类型,Java中有吗?
|
||||
|
||||
@@ -175,14 +174,15 @@ Scanner对象有相应读取这些数据类型的函数,请自己尝试一下
|
||||
|
||||
字面量的含义是语句中直接写入整形数值或者是浮点数值的时候,这个数值表达的数据类型或者是赋值规则。例如:
|
||||
|
||||
```java {.line-numbers}
|
||||
byte a = 100;
|
||||
byte b = 200;
|
||||
int c = 300;
|
||||
int d = 5000;
|
||||
float e = 33.3;
|
||||
double f = 33.3;
|
||||
```java
|
||||
byte a = 100;
|
||||
byte b = 200;
|
||||
int c = 300;
|
||||
int d = 5000;
|
||||
float e = 33.3;
|
||||
double f = 33.3;
|
||||
```
|
||||
|
||||
上述代码中,第二行代码是非法的;第五行代码也是非法的;为什么?
|
||||
|
||||
规则:
|
||||
@@ -190,9 +190,10 @@ Scanner对象有相应读取这些数据类型的函数,请自己尝试一下
|
||||
1. 对于整形赋值,只要字面量表达的数值不超过变量类型的取值范围就是合法的;
|
||||
2. 对于带小数的字面量,缺省的类型是double,因此如果赋值给float的类型的变量会出错,正确的做法是在字面量后面加上F。
|
||||
|
||||
```java {.line-numbers}
|
||||
```java
|
||||
float e = 33.3F;
|
||||
```
|
||||
|
||||
科学计数法:例如:1.23456e-2
|
||||
|
||||
### 4.4. 扩展赋值语法:Augmented Assignment Operators
|
||||
@@ -215,9 +216,9 @@ float e = 33.3F;
|
||||
|
||||
## 5. 本章重点
|
||||
|
||||
1. 如何打印输出:有很多同名的打印函数(函数重载overload);print,println,printf函数;与C有什么区别;
|
||||
2. 字符串与其他类型连接通过+号;
|
||||
3. 如何读取键盘输入,以及赋值。注意不同的类型使用不同的函数;
|
||||
4. 如何判断是否还有没有读取的数据(hasNext函数XXX);
|
||||
5. 基本数据类型:全部都是小写,以后会学习对应大写的包装类型;都是有符号的;
|
||||
6. 如何声明常量(final);7. 类型转换以及规则。
|
||||
1. 如何打印输出:有很多同名的打印函数(函数重载overload);print,println,printf函数;与C有什么区别;
|
||||
2. 字符串与其他类型连接通过+号;
|
||||
3. 如何读取键盘输入,以及赋值。注意不同的类型使用不同的函数;
|
||||
4. 如何判断是否还有没有读取的数据(hasNext函数XXX);
|
||||
5. 基本数据类型:全部都是小写,以后会学习对应大写的包装类型;都是有符号的;
|
||||
6. 如何声明常量(final);7. 类型转换以及规则。
|
||||
|
||||
Reference in New Issue
Block a user