一、基础概念
1、对象:对象是类的实例,有状态和行为
2、类:类是一个模板,它描述一类对象的行为和状态
3、方法:方法就是行为,一个类可以有很多方法
4、实例变量,每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定
 
二、命名
1、大小写敏感:java是大小写敏感的,意味着A和a是不同的变量
2、类名:对于所有的类来说,类名的首字母应该大写,若类名由多个单词组成,每个单词首字母都大写,驼峰命名法
3、方法名:所有的方法名都应该以小写字母开头;若包含多个单词,后面每个单词首字母大写
4、源文件名:源文件名必须和类名相同。如果文件名和类名不同会导致编译错误(注意大小写)
5、主方法入口:所有的 Java 程序由 public static void man(String[] args)方法开始执行。
 
三、Java标识符
java所有的组成部分都需要名字;类名,变量名,方法名都被称为标识符
标识符需要注意以下几点:
1、所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始
2、首字符之后可以是字母(A-Z或者a-z)、美元符($)、或者下划线(_)或数字的任何字符组合
3、关键字不能用作标识符
4、标识符是大小写敏感的
 
四、Java修饰符
1、访问控制修饰符:default、public、protected、private
2、非访问控制修饰符:final、abstract、static、synchronized
 
五、Java变量
1、局部变量
2、类变量(静态变量)
3、成员变量(非静态变量)
 
六、Java关键字
类别
关键字
说明
访问控制
private
私有的
protected
受保护的
public
公共的
default
默认
类、方法和变量修饰符
abstract
声明抽象
class
extends
扩充,继承
final
最终值,不可改变的
implements
实现(接口)
interface
接口
native
本地,原生方法(非 Java 实现)
new
新,创建
static
静态
strictfp
严格,精准
synchronized
线程,同步
transient
短暂
volatile
易失
程序控制语句
break
跳出循环
case
定义一个值以供 switch 选择
continue
继续
default
默认
do
运行
else
否则
for
循环
if
如果
instanceof
实例
return
返回
switch
根据值选择执行
while
循环
错误处理
assert
断言表达式是否为真
catch
捕捉异常
finally
有没有异常都执行
throw
抛出一个异常对象
throws
声明一个异常可能被抛出
try
捕获异常
包相关
import
引入
package
基本类型
boolean
布尔型
byte
字节型
char
字符型
double
双精度浮点
float
单精度浮点
int
整型
long
长整型
short
短整型
变量引用
super
父类,超类
this
本类
void
无返回值
保留关键字
goto
是关键字,但不能使用
const
是关键字,但不能使用
null
七、对象和类
java是面向对象语言,支持以下基本概念
java中最小的程序含有一个类,每个类都要创建一个单独的文件,文件名称和类的名称相同
1、多态
2、继承
3、封装
4、抽象
5、类
6、对象
7、实例
8、方法
9、重载
概念和C#一致
10、源文件申明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意以下规则
a、一个源文件中只能有一个public类
b、源文件可以有多个非public类
c、源文件的名称应该和public类的类名保持一致
d、如果一个类定义在某个包中,那么package语句应该在源文件的首行
e、如果源文件包含import语句,那么应该放在package语句和类定义之间,如果没有package语句,那么import语句应该在源文件中最前面
f、import语句和package语句对源文件中定义的所有类都有效。
11、Java包
包主要用来对类和接口进行分类,当开发java程序时,可能编写成千的类,因此很有必要对类和接口进行分类
12、import语句
在Java中,如果给出一个完整的限定名,包括包名,类名,那么Java编译器就可以很容易地定位到源代码或者类,import语句就是用来提供一个合理的路径,使得编译器可以找到某类(类似于C#的命名空间)
 
八、Java基本数据类型
Java语言提供了八种基本类型,六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型
1、byte
a、byte数据类型是8位,有符号的,以二进制补码表示的整数
b、最小值-128(-2^15)
c、最大值127(2^15 - 1)
d、byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一
e、默认值是0
2、short
a、short数据类型是16位、有符号的以二进制补码表示的整数
b、最小值-32768(-2^15)
c、最大值326767(2^15-1)
d、short数据类型也可以像byte那样节省空间。一个short变量是int类型所占空间的二分之一
3、int
a、int数据类型是32位,有符号的以二进制补码表示的整数
b、最小值-2147483648(-2^31)
c、最大值 2147483647(2^21-1)
d、一般的整形变量默认为int类型
e、默认值是0
4、long
a、long数据类型是64位,有符号的以二进制补码表示的整数
b、最小值-9223372036854775808(-2^63)
c、最大值是9223372036854775807(2^63-1)
d、这种类型主要使用在需要比较大整数的系统上
e、默认值是0L
5、float
a、float数据类型是单精度,32位,符合IEEE 754标准的浮点数
b、float在存储大型浮点数组的时候可节省内存空间
c、默认值是0.0f
d、浮点数不能用来表示精确的值,如货币
6、double
a、double数据类型是双精度,64位,符合IEEE 754标准的浮点数
b、浮点数的默认类型为double类型
c、double类型同样不能表示精确的值,如货币
d、默认值是0.0d
8、boolean
a、boolean数据类型表示一位的信息
b、只有两个取值:true和false
c、这种类型只作为一种标志来记录true/false情况
d、默认值是false
9、char
a、char类型是一个单一的16位Unicode字符
b、最小值\u0000(十进制等效值为0)
c、最大值\uffff(十进制等效值为65535)
d、char数据类型可以存储任何字符
数值类型的取值范围可以通过:数据类型.MIN_VALUE和数据类型.MAX_VALUE来获取
 
10、引用类型
a、对象、数组都是引用类型数据类型
b、所有引用类型的默认值都是null
c、一个引用变量可以用来引用任何与之兼容的类型
 
11、Java常量
常量就是在程序运行时不能被修改的,java中使用final关键字来修饰常量
例:final double PI = 3.141592657
虽然常量名也可以用小写,但是为了便于识别,通常使用大写字母表示常量
 
12、Java转义符
13、自动类型转换
整型、实型(常量)、字符型数据可以混合运算,运算中,不同类型的数据先转化为同一种类型,然后进行计算
转换从低级到高级
byte,short,char→int→long→float→double
 
自动类型转换必须满足转换前的数据类型的位数要低于转换后的数据类型,
 
数据类型转换必须满足如下规则
a、不能对boolean类型进行类型转换
b、不能把对象类型转换成不相关类的对象
c、在把容量大的类型转换为容量小的类型时必须使用强制类型转换
d、转换过程中可能导致溢出或损失精度
 
14、强制类型转换
a、条件是转换的数据类型必须是兼容的
b、格式:(type)value type是要前置类型转换后的数据类型
15、隐含强制类型转换
a、整数的默认类型是int
b、小数默认是double类型浮点型,在定义float类型时必须在数字后面跟上F或者f