1.关键字
类型 |
种类 |
数据类型 |
class,interface,enum,byte,short,int,long,float,double,char,boolean,void |
数据类型值 |
true,false,null |
流程控制 |
if,else,switch,case,default,while,do,for,foreach,break,continue,return |
权限修饰 |
private,public,protected |
定义类,函数,变量 |
abstract,final,static,synchronized |
类与类之间的关系 |
extends,implement |
建立实例 |
new,this,super,instanceof |
异常处理 |
try,catch,finally,throw,throws |
包名 |
package,import |
其他 |
native,strictfp,transient,volatile,assert |
2.变量内存
内存 |
变量类型 |
栈 |
局部变量,对象声明的引用 |
堆 |
类实例,数组实例(含变量成员) |
静态域 |
静态变量 |
常量池(方法区) |
字符串常量 |
3.变量数据类型分类
数据类型 |
种类 |
byte(1字节),short(2),int(4),long(8),float(4),double(8),char(2),boolean(1) |
基本类型 |
class,interface,数组 |
引用数据类型 |
4.变量之间类型转化
不考虑布尔类型,即 char byte short int long float double)
1)自动类型转换
char,byte,short ===> int ===> long ===> float ===> double
PS:short 与 byte 与 char 之间运算应为 int 类型
2)强制类型转换
容量大的变成容量小的,会导致精度的损失.
String 也是一猴子那个数据类型,属于类的一种.
String 与 基本类型之间的运算,只能是连接运算.
5.算术运算符
+= 与 = .. + .. 的区别:
如short s = 10;
s = s + 3; //编译不通过
s = (short)( s + 3) ; //易损失精度
s += 3; //s 本身的基础上加上3,既可以实现运算,又不会更改s的数据类型
在switch 中的变量类型为:char,byte,short,int,String(jdk1.7以后),枚举
6.数组
- 默认值
byte,short,long,int:0;
float,double:0.0;
char:空格;
boolean:false;
引用类型为null;
网友评论