前前后后算起来,学Java也快有一个月了,不过总觉得效果不是很理想。不知道是自己急于求成,还是怎么的,总觉得学的很乱,没有一个体系。因此总结一些东西,便于自己复习,同时也看到自己的进步。希望能够学好!
1. 数据类型 (4类 8种基本类型)
1. 数据类型 (4类 8种基本类型)
整型:
byte 1字节
short 2字节
int 4字节(默认类型)
long 8字节
小数类型(浮点型):
float 4字节
double(默认类型)8字节
布尔型(boolean)(1位(bit),有争议):
真(true)),假(false)
字符型(单个字符):
char 2字节 只能存放一个字符
引用类型:除了4类8种基本数据类型外,其他都是引用类型。
引用类型和基本类型:
a. 基本类型:占一块内存【在stack (栈) 里】
b. 引用类型:两块内存【一小块内存(stack 栈)指向一大块内存(heal 堆)】
数据类型转换:byte short char 之间不能相互转换,计算时先转为 int 类型
2. 运算符
简单运算符:
% 取模
++ 自加
-- 自减
+= 左加
-= 左减
/= 左除
%= 左取模
三目运算符:x?y:z x为true则结果为y,否则为z (注意先 '?' 后 ':')
位运算符:
右移1: >> 最高位为1补1,为0补0(涉及到正负问题)
右移2: >>> 左边补0 (不涉及正负问题)
左移同理
3. 命名规则
(1)不能数字开头
(2)不能含# ($除外)
(3)不能以关键字(class等)命名
此外,还有其他命名“潜规则”:
a. 类名首字母大写
b. 变量名和方法名首字母小写
c. 驼峰标识(单词首字母大写)
4. 进制表示
十进制 12
十六进制 0x12 (前面加 0x)
八进制 012 (前面加 0)
5. 类和对象
①类:抽象,概念性的,代表一类事物
②对象:具体,实际的,代表一个具体事物
③类是对象的模板,对象是类的一个个体
【类像是汽车图纸,对象是图纸造出的汽车】【类是模板,对象是模具】等等
先后顺序(当然是画图纸,再生产制造):
(1)先设计类
(2)根据类创建对象
类包括:类属性(成员变量)和类方法(成员方法)
类的访问控制符:
①public
②protect
③默认【不加任何修饰】
④private【安全性最高】
访问权限:
内部:所有均可访问
外部:只有private不能访问
对象:可以看成静态属性(成员变量)和动态属性(方法)的封装体
6. 构造方法(构造函数)
构造方法特点:
①方法名和类名相同
②无返回值(前面可加public,不能加 void)
③在创建一个类的新对象时,系统会自动调用该类构造方法完成对新对象的初始化
注意:
未指定构造函数时,编译器自动添加:类名 () {}
定义构造方法后,系统默认的构造方法就不能再用
7. 重载(Overload)
名字相同,变量类型或个数不同的方法
Notice:只有返回值类型不同是重载(出错)
8. 流程控制
顺序控制:
分支控制:单分支 双分支 多分支
循环控制:
9. 成员变量和局部变量
成员变量:未初始化时有默认值,堆(heap)中分配内存
局部变量:必须初始化,栈(stack)中分配内存
10. 其他
if while for 中进行真假判断时只能写逻辑表达式(而不是非0即为真)
\r 回车符
\u 16位Unicode编码
if…
else if……
else ...
只有一句执行语句时,可省略{} (建议不省略)
class权限修饰符只有两个:public 和 default(不写)
字符串常量(String)内存分配在data segment
to be continued ...
short 2字节
int 4字节(默认类型)
long 8字节
小数类型(浮点型):
float 4字节
double(默认类型)8字节
布尔型(boolean)(1位(bit),有争议):
真(true)),假(false)
字符型(单个字符):
char 2字节 只能存放一个字符
引用类型:除了4类8种基本数据类型外,其他都是引用类型。
引用类型和基本类型:
a. 基本类型:占一块内存【在stack (栈) 里】
b. 引用类型:两块内存【一小块内存(stack 栈)指向一大块内存(heal 堆)】
数据类型转换:byte short char 之间不能相互转换,计算时先转为 int 类型
2. 运算符
简单运算符:
% 取模
++ 自加
-- 自减
+= 左加
-= 左减
/= 左除
%= 左取模
三目运算符:x?y:z x为true则结果为y,否则为z (注意先 '?' 后 ':')
位运算符:
右移1: >> 最高位为1补1,为0补0(涉及到正负问题)
右移2: >>> 左边补0 (不涉及正负问题)
左移同理
3. 命名规则
(1)不能数字开头
(2)不能含# ($除外)
(3)不能以关键字(class等)命名
此外,还有其他命名“潜规则”:
a. 类名首字母大写
b. 变量名和方法名首字母小写
c. 驼峰标识(单词首字母大写)
4. 进制表示
十进制 12
十六进制 0x12 (前面加 0x)
八进制 012 (前面加 0)
5. 类和对象
①类:抽象,概念性的,代表一类事物
②对象:具体,实际的,代表一个具体事物
③类是对象的模板,对象是类的一个个体
【类像是汽车图纸,对象是图纸造出的汽车】【类是模板,对象是模具】等等
先后顺序(当然是画图纸,再生产制造):
(1)先设计类
(2)根据类创建对象
类包括:类属性(成员变量)和类方法(成员方法)
类的访问控制符:
①public
②protect
③默认【不加任何修饰】
④private【安全性最高】
访问权限:
内部:所有均可访问
外部:只有private不能访问
对象:可以看成静态属性(成员变量)和动态属性(方法)的封装体
6. 构造方法(构造函数)
构造方法特点:
①方法名和类名相同
②无返回值(前面可加public,不能加 void)
③在创建一个类的新对象时,系统会自动调用该类构造方法完成对新对象的初始化
注意:
未指定构造函数时,编译器自动添加:类名 () {}
定义构造方法后,系统默认的构造方法就不能再用
7. 重载(Overload)
名字相同,变量类型或个数不同的方法
Notice:只有返回值类型不同是重载(出错)
8. 流程控制
顺序控制:
分支控制:单分支 双分支 多分支
循环控制:
9. 成员变量和局部变量
成员变量:未初始化时有默认值,堆(heap)中分配内存
局部变量:必须初始化,栈(stack)中分配内存
10. 其他
if while for 中进行真假判断时只能写逻辑表达式(而不是非0即为真)
\r 回车符
\u 16位Unicode编码
if…
else if……
else ...
只有一句执行语句时,可省略{} (建议不省略)
class权限修饰符只有两个:public 和 default(不写)
字符串常量(String)内存分配在data segment
to be continued ...