一.字面常量
字符变量:在程序运行期间,固定不变的量称为常量
对于下面这些代码,括号中的都是字面常量。(null是空常量)
二.数据类型
java数据类型分两类:
基本数据类型和引用数据类型(字符串类型属于引用型)
1.基本数据类型
基本数据类型有四类八种:
四类:整型,浮点型,字符型,布尔型
八种:字节型,短整型,整型,长整型
单精度浮点数,双精度浮点数
字符型
布尔型
注意:1.不论是在16位系统还是32位系统,int都是4个字节,long都是8个字节
2.整形和浮点型都是默认有符号位
3.整型默认int,浮点型默认double
各个数据类型所占字节如下:
注意:与c语言相比,char不再是1个字节,而是2个字节
java中布尔类型只有true或false,与int不能相互转换,不存在1表示true,0表示false。
2.引用数据类型
引用数据类型有四种:引用数据类型:接口(interface)、数组([ ])、类(class)以及字符串(String).
包装类是基本类型的拓展
引用数据类型默认初始值为null
三.变量
形式:数据类型 变量名 = 值
在浮点数后加f/d,是为了说明这是个什么类型,不加也行
1. 对于变量的定义:
1.在定义时初始化
2.先定义再赋值(这种情况没有初始化,那么必须给它一个初值,否则会报错)
四.类型转换
在java中,类型转换有两类:自动类型转换(隐式)和强制类型转换(显式)
1、低级转换高级:自动类型转换
2、高级到低级:强制类型转换
1. 自动类型转换(隐式)
代码不需要经过任何处理,在编译时,编译器会自动进行处理。
特点:数据范围小的会转化为数据范围大的是会自动自行。
转化从低级到高级:byte,short,char(三者同级)—> int —> long—> float —> double
int a=100;
long b=10l;
b=a;//int和long都是整型,但是b的范围比较大,所以a赋值给b,编译器会自动把a提升为龙类型,再进行赋值
a=b;//long的范围比int大,数据有可能丢失,不安全
float c=10.0f;
double d=1.4;
d=c; //编译器会将c转换为double类型,再赋值给d
c=d;//报错,double数据范围比float大,数据有可能丢失,不安全
2.强制类型转换(显式)
在进行操作时,代码需要进过一定的格式处理,不能自动完成
特点:数据范围大的转化为数据范围小的
注:不相干的类型不能互相转换
int a=10;
long b=1;
a=(int)b;//强制转换,不安全,有可能造成数据的丢失
b=a;//编译器会将a转换为long类型,再赋值给b
float c=10.0f;
double d=1.4;
c=(float) d;//强制转换,会导致精度丢失
d=c;//编译器会将c转换为double类型,再赋值给d
boolean flag=true;
a=flag;flag=a;//都会编译失败,类型不兼容
数据类型先到这,欢迎各位提意见,后续有就学习到相应新的知识再进行补充~