一, 特性
Java 是面向对象的编程语言, 提供了类, 接口, 继承等 (类只支持单继承, 接口支持多继承). 结构中立, Java 程序会被编译成. class 文件, 可以在 Java 平台上任何一个系统中运行, 并且严格规定数据的类型和长度, 因此可移植性强. 此外 Java 还可以动态载入需要用到的类, 也可以从网络载入需要的类.
二, 开发环境
在下载一个 JDK, 配置环境变量 (网上很多教程). 然后下载一个开发工具, Eclipse,Android Studio 都可以.
三, 变量类型
Java 中有六种数字类型, 一种字符类型, 一种布尔类型.
byte:8 位
short:16 位
int:32 位
long:64 位
float:32 位, 单精度浮点数
double:64 位, 双精度浮点数
boolean: 布尔值, 只取 true 或者 false
char:16 位, 字符类型
ps:byte,int,long,short 都可以用八进制, 十进制, 十六进制来表示,'0'做前缀表示八进制,'0x'做前缀表示十六进制
- int dec = 666; // 十进制
- int oct = 0666; // 八进制
- int hex = 0x666; // 十六进制
四, 变量类型
变量分为局部变量, 实例变量, 类变量
局部变量
局部变量被声明在方法, 语句块中, 在执行的时候被创建, 空间在栈上分配, 执行完后被销毁. 并且局部变量没有默认值, 被声明之后必须经过初始化.
实例变量
实例变量在类里面声明, 但是在语句块和方法之外, 在对象创建时创建看, 在对象被销毁时销毁. 实例变量有默认值, 数值类型是 0, 布尔型是 false, 引用类型是 null.
类变量
类变量也叫做静态变量, 用 static 修饰, 必须放在语句块和方法之外, 存储在静态存储区, 常被声明为常量, 在程序开始时创建, 在程序结束时销毁. 类变量也有默认值, 默认值和实例变量一样.
五, 修饰符
Java 中修饰符分为两类, 访问类修饰符和非访问类修饰符.
访问类修饰符
default,private,protected,public. 这与 c++ 中基本一样. 不同之处在于, c++ 中没有 default 类型, 并且 protected 用法有些许不同.
default: 访问权限为默认, 包内的任意类都可以访问他, 但是保外的任何类都不可以访问, 包括继承了这个类的子类.
protected:c++ 中该类的对象是不能访问成员变量的, 只能在类中或者子类中访问, 但是 Java 是可以的.
非访问修饰类
static,final,abstract,synchronized,volatile.
static: 静态变量就是上面的类变量. static 还可以修饰方法, 静态方法中不能使用非静态变量.
final:final 类型的变量只能初始化一次. final 方法可以被子类继承但不能被子类修改. final 类不能被继承.
abstract: 抽象类不能实例化对象, 抽象方法没有任何实现, 实现要在子类中进行.
synchronized: synchronized 声明的方法同一时间只能被一个线程访问.
volatile: 被 volatile 修饰的成员变量每次被线程访问时都被迫从共享内存中重读该成员变量的值, 当成员变量发生变化时, 都强迫线程将变化的值回写到共享内存中.