HEAD FIRST JAVA教程
JAVA的工作方式
源程序(myProgram.java) – > 编译(javac myProgram.java) -> JAVA字节码(myProgram.class) ->运行(java myProgram)
指令:
- 编译时:javac(compiler) + 文件名
- 运行时:java +文件名
文件名后缀:
- .java是源程序
- .class是字节码
需要注意的点:
- 编译时 需要带.java
- 运行时 不需要带.class
JAVA的程序结构
源文件>类>方法>语句(source file > class > method > statement)
1
2
3
4
5
6
7
8
|
import
java
.
lang
.
String
;
import
java
.
lang
.
System
;
public
class
MyFirstApp
{
public
void
main
(
String
[
]
args
)
{
System
.
out
.
print
(
"Hello World!"
)
;
}
}
|
注意:
- 文件名MyFirstApp一定要文件内class的名称相同,大小写敏感。
- 使用javac指令编译时,大小写不敏感。
- 使用java指令运行时,大小写敏感。
- import java.lang 可省略
- 程序启动时会去找main()方法,main()是程序的起点
- 1个程序有且至于1个mian()方法
- 1个JAVA程序至少有1个类,但是同时可以是多个
- JAVA是强类型,条件测试结果一定要是boolean值
JDK的安装
1、下载安装包并安装:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、设置环境变量(系统变量)
- JAVA_HOME:C:\Program Files\Java\jdk1.8.0_20
- Path:C:\Program Files\Java\jdk1.8.0_20\bin
- CLASSPATH:.;C:\Program Files\Java\jdk1.8.0_20\lib(.;一定要添加,否则会报“找不到或无法加载主类”)
JDK、JRE、JVM的区别
- JVM(Java Virtual Machine):JAVA虚拟机
- JDK(Java Developer’s Kit):Java开发工具包
- JRE(Java runtime environment):Java 运行环境
Java Platform Standard Edition 8:
本章要点:
- 语句以分号结束
- 程序块以{}划出范围
- 用名称与类型声明变量
- 等号是赋值运算符
- 两个等号用来当等式等号运算符
- 只要条件为真,while循环就会一直执行块内的程序
- 把boolean测试放在括号中
对象=实例
- 对象本身已知的事物:实例变量(instance variable)
- 对象可以执行的动作:方法(method)
类≠对象
- 类是用来创建对象的模型
继承机制使子类可以通过继承父类代码来减少重复代码,覆盖机制使子类在不必改动父类的同时可以选择实现自己的方法。
对象类+测试对象类
- 测试用的类类名=“受测试类名”+TestDrive
- 测试类带有main()函数,对象类不带
- 使用圆点(.)来取对象的变量和方法
main()的两种用途
- 测试真正的类
- 启动JAVA应用程序
本章要点:
- 面向对象设计扩展功能不需改动之前已经测试好的程序代码
- 所有JAVA程序都定义在类中
- 类如同蓝图一样描绘改类型的对象要如何创建
- 对象自治,无需在意他如何完成任务
- 对象有已知的事物,并能执行完成
- 对象本身已知的事物称为实例变量,它代表对象的状态
- 对象可执行的动作称为方法,它代表对象的行为
- 创建类时,可能同时会需要创建独立测试用的类
- 类可以继承自较为抽象的父类
- Java的程序在执行期是一组会相互交谈的对象
变量分类:
- primitive主数据类型
- 引用
变量用途
- 局部变量
- 实例变量
- 参数(arguments)
规则:变量的声明必须有类型和名称
primitive主数据类型:
布尔型
- boolean (JAVA虚拟机决定) true或false
字符型
- char 16bits 0~65535
数值型(整数类型)
- byte 8bits -128~127
- short 16bits -32768~32767
- int 32bits -2147483648~214748367
- long 64bits -很大~+很大
数值型(浮点数)
- float 32bits 范围规模可变(备注:除非加上“f”,否则所有带小数点的值都会被JAVA当做double处理。)
- double 64bits 范围规模可变
给变量赋值的方法:
- 在等号后面直接打出(x=1)
- 指派其他变量的值(x=y)
- 上述两种方式的组合(x=y+1)
变量命名规则
- 名称必须以字母、下划线(_)、或$符号开头,不能用数字开头
- 除了第一个字符外,后面就可以用数字
- 需要避开JAVA保留字(关键字)
JAVA关键字图表
对象如何存储
- 事实上没有对象变量这样的东西存在
- 只有引用(reference)到对象的变量
- 对象引用变量保持的是存取对象的方法
- 不是对象的容器,类似对象的指针或者地址
primitive主数据类型变量与对象引用变量的区别
- primitive主数据类型变量是以字节来代表实际的变量值
- 对象引用变量是以字节来表示取得对象的方法(使用圆点运算符来获取对象的实例变量于方法)
对象只存在于可回收垃圾的堆上
- 声明一个引用变量 Dog myDog
- 创建对象 new Dog()
- 连接对象和引用 Dog myDog = new Dog()
数据也是对象
- 虽然元素本身是primitive主数据类型,但数组却是个变量
- 数据的操作可以不需要变量名称,只需要数组索引(位置)
本章要点:
- 变量有两种:primitive主数据类型和引用
- 变量的声明必须有变量和名称
- primitive主数据类型变量值是该值的字节所表示
- 引用变量代表位于堆之对象的存取方法
- 引用变量如同遥控器,对引用变量使用圆点运算符可以如同按下遥控按钮一样读取它的方法和实例变量
- 没有引用到任何对象的引用变量的值是null
- 数组一定是个对象,不管所声明的元素是否为primitive主数据类型
转载于:https://my.oschina.net/liting/blog/418088