### Java2实用教程(第3版)知识点梳理
#### 一、教材介绍与代码环境
- **教材名称**:《Java2实用教程》第三版
- **出版社**:清华大学出版社
- **作者**:耿祥义、张跃平
- **代码环境**:JDK 1.5
- **主要内容**:本书包含了丰富的Java编程实例,覆盖了Java语言的基础到高级应用,并提供了所有示例代码供读者实践。
#### 二、Java基础语法实例解析
##### 1. 输出“你好,很高兴学习Java”
```java
public class Hello {
public static void main(String[] args) {
System.out.println("你好,很高兴学习Java");
}
}
```
- **知识点说明**:
- `public class Hello`:定义了一个公共类`Hello`。
- `public static void main(String[] args)`:每个Java程序都必须包含一个主方法,用于程序的入口点。
- `System.out.println`:输出一行文本到控制台。
##### 2. 定义对象并调用方法
```java
public class People {
int height;
String ear;
void speak(String s) {
System.out.println(s);
}
}
class A {
public static void main(String[] args) {
People zhubajie;
zhubajie = new People();
zhubajie.height = 170;
zhubajie.ear = "两只大耳朵";
System.out.println("身高:" + zhubajie.height);
System.out.println(zhubajie.ear);
zhubajie.speak("师傅,咱们别去西天了,改去月宫吧");
}
}
```
- **知识点说明**:
- 类定义:定义了一个名为`People`的类,其中包含两个属性`height`和`ear`以及一个方法`speak`。
- 对象创建与属性赋值:在类`A`中,首先创建了一个`People`类型的对象`zhubajie`,然后为其属性赋值。
- 方法调用:通过`zhubajie.speak()`调用了`People`类的方法`speak`。
##### 3. 使用Applet绘制图形
```java
import java.applet.*;
import java.awt.*;
public class Boy extends Applet {
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawString("我一边喝着咖啡,一边学Java呢", 5, 30);
g.setColor(Color.blue);
g.drawString("我学得很认真", 10, 50);
}
}
```
- **知识点说明**:
- `import`语句:引入所需的包。
- `public class Boy extends Applet`:定义了一个名为`Boy`的公共类,继承自`Applet`。
- `public void paint(Graphics g)`:重写`Applet`的`paint`方法来绘制图形。
- `g.setColor`和`g.drawString`:设置颜色和绘制字符串。
#### 三、标识符、关键字和数据类型实例解析
##### 1. Unicode字符编码
```java
public class Example2_1 {
public static void main(String[] args) {
char chinaWord = '你', japanWord = 'ぁ';
int p1 = 36328, p2 = 38358;
System.out.println("汉字'你'在Unicode表中的顺序位置:" + (int) chinaWord);
System.out.println("日语'ぁ'在Unicode表中的顺序位置:" + (int) japanWord);
System.out.println("Unicode表中第20328位置上的字符是:" + (char) p1);
System.out.println("Unicode表中第12358位置上的字符是:" + (char) p2);
}
}
```
- **知识点说明**:
- Unicode编码:Unicode是一种国际标准的字符编码方案。
- 类型转换:通过`(int)`和`(char)`实现整型与字符型之间的转换。
##### 2. 数据类型转换
```java
public class Example2_2 {
public static void main(String[] args) {
int c = 2200;
long d = 8000;
float f;
double g = 123456789.123456789;
c = (int) d;
f = (float) g; // 导致精度的损失
System.out.print("c=" + c);
System.out.println("d=" + d);
System.out.println("f=" + f);
System.out.println("g=" + g);
}
}
```
- **知识点说明**:
- 自动类型提升:如`int`到`long`。
- 强制类型转换:如`int`到`char`或`float`到`int`。
- 精度损失:从高精度类型转换到低精度类型时可能发生。
##### 3. 数组操作
```java
public class Example2_3 {
public static void main(String[] args) {
int[] a = {100, 200, 300};
int[] b = {10, 11, 12, 13, 14, 15, 16};
b = a;
b[0] = 123456;
System.out.println("数组a:" + a[0] + "," + a[1] + "," + a[2]);
System.out.println("数组b:" + b[0] + "," + b[1] + "," + b[2]);
System.out.println("数组b的长度:" + b.length);
}
}
```
- **知识点说明**:
- 数组定义:声明并初始化数组。
- 数组引用:通过`b = a`将数组`a`的引用赋给`b`。
- 数组长度:使用`length`属性获取数组长度。
#### 四、运算符、表达式和语句实例解析
##### 1. 使用异或运算符加密解密
```java
class Example3_1 {
public static void main(String[] args) {
char a1 = '十', a2 = '点', a3 = '进', a4 = '攻';
char secret = '8';
a1 = (char) (a1 ^ secret);
a2 = (char) (a2 ^ secret);
a3 = (char) (a3 ^ secret);
a4 = (char) (a4 ^ secret);
System.out.println("密文:" + a1 + a2 + a3 + a4);
a1 = (char) (a1 ^ secret);
a2 = (char) (a2 ^ secret);
a3 = (char) (a3 ^ secret);
a4 = (char) (a4 ^ secret);
System.out.println("原文:" + a1
```
以上是对《Java2实用教程》第三版中部分代码示例的知识点解析,涵盖了Java语言的基础语法、标识符、关键字、数据类型、数组操作以及简单的加密解密算法等内容。这些知识点对于初学者来说是非常重要的,能够帮助他们快速掌握Java编程的基本技巧。