Chap 0 Preface
Java Basic Content List
Java data type、 标识符、运算符、表达式和语句、分支、循环、方法
OO
Exception
Java Array
Java 常用类
Java 容器类
Collection / Generic
Java I/O Stream
Java Thread
Java TCP/UDP, socket
Three levels of ability
知识 -- 学习前人的知识
解决问题的方法 -- 灵活运用学到的知识
解决问题的思路 -- 创造解决问题的方法
Category of knowledge
实际开发中经常使用的 -- 牢牢掌握
不经常使用用时就能查得到的 -- 了解
八辈子用不着一回的 -- 运用自己的能力去查
Learning method
你怎么去了解一座高山? 怎么去了解你的校园?
你怎么去画一树寒梅先学脉络,再学细节,这是规律,请务必尊重学习规律
Summary
乐观的努力
眼光要高远
脚步要踏实
Chap 1 Java 概述
focus on :
Java 语言的历史地位
Java 发展史
Java 特点
Java 运行机制
JDK & JRE
Java env install
Java Basic Content
1.1 Java的历史地位
-
第一代语言
打孔机 -- 纯机器语言
-
第二代语言
汇编
-
第三代语言
C 面向过程的语言
C++ 面向过程/面向对象
Java 跨平台的纯面向对象的语言
Scala 函数式编程/面向对象 JVM
Python 解释
Go
conclude : 计算机语言朝着人类易于理解的方向发展
1.2 Java 发展史
95年, Sun发布JDK1.0
98年, JDK1.2, 更名为Java2
目前, JDK 1.5, 1.7, 1.8
1.3 Java 特点
一种 OO 语言
一种平台无关的语言, 提供程序运行的解释环境
一种健壮的语言, 吸收了C/C++语言的优点, 但去掉了其影响程序健壮性的部分(如: 指针, 内存的申请与释放等)。
1.4 Java程序运行机制
Java 两种核心机制:
JVM
Garbage collection [垃圾收集机制]
JVM
java虚拟机可以理解成一个以字节码为机器指令的CPU
Java虚拟机机制屏蔽了底层运行平台的差别, 实现了"一次编译, 随处运行"。
x.java --编译--> x.class --执行--> JVM
Garbage collection
Java语言消除了程序员回收无用内存空间的责任;
它提供一种系统级线程跟踪存储空间的分配情况,并在JVM的空闲时, 检查并释放那些可被释放的存储器空间。
1.5 JDK & JRE
Software Development Kit (软件开发包) 开发需要 JDK
Java Runtime Environment 用户只需 JRE
1.6 Java env install
/etc/profile
or .zshrc
### JAVA ###
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
JAVA_BIN=$JAVA_HOME/bin
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
classpath : java在编译和运行时要找的class所在的路径
建议你的 JDK 装在不带空格的目录里面
Chap 2 simple Java program
2.1 命名规则
类名首字母大写
变量名和方法名的首字母小写
运用驼峰标识
1.9 HelloWorld
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java.");
}
}
一个源文件中最多只能有一个public类. 其它类的个数不限,如果源文件 文件包含一个public class 它必需按该 class-name 命名
2.2 Java 3 种 注释方式
// 单行注释
/* 多行注释 */
/**
* 用于多行注释,并且可以被doc工具解析
*/
Chap 3 Java 基础程序设计
3.1 Java data_type
-- 整数类型 (byte, short, int, long)
-- 数值型 --
| -- 浮点类型 (float, double)
--基本数据类型 -- 字符型 (char)
| |
| -- 布尔型 (boolean)
数据类型 --
| -- 类 (class)
| |
--引用数据类型 -- 接口 (interface)
|
-- 数组 (array)
java 中定义了 4类 8种 基本数据类型
boolean 类型只允许取值 true / false , 不可以用 0 或 非0 替代。
char 采用 Unicode 编码 (全球语言统一编码), 每个字符占两个字节
Chap 4 Array & Method
public class Test {
public static void main(String[] args) {
Date[] days;
days = new Date[3];
for (int i = 0; i < 3; i++) {
days[i] = new Date(2004, 4, i+1);
}
//
int[] a = {1, 2, 3, 4, 5, 6, 7};
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
class Date {
int year;
int month;
int day;
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
}