数据类型用于帮助确定变量可存放的一组值,以及可对这组特定值执行的操作。Java提供了在所有平台上都普遍支持的多种数据类型。
一、基本数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0;
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0;
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0;
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L;
float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字,默认值0;
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位(即8个字节),默认值0;
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空;
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false;
二、引用数据类型
数组:变量和方法的集合;
类:具有相同数据类型的变量的集合;
接口:实现Java中的多重继承;
三、变量
变量就是用来存储数据的,一个变量在程序中为一个标识符,在内存中是一块空间,提供了信息和数据临时存放的地方,具有记忆的功能;
变量是可以被改变的,变量的三个元素(名称、类型、值);
int x = 4; 此处int为变量类型,x为变量名 ,=为赋值运算符,4为变量值(其他类型依次类推)
四、标识符规则
1),必须以字母、下划线或$符号开头;
2),可以包含数字,但不能以数字开头,字母区分大小写;
3),不能使用Java中的关键字,如class,int等;
五、类型转换
1)自动类型的转换满足的条件:两种类型必须兼容,目标类型大于源类型;
char——>int; float——>double; byte——> short——>int——>double(long)
int -------> float; long------->double;
注:实箭头表示无数据丢失的转换,虚箭头表示可能有精度损失的转化;
2)强制类型的转换(缩小转换)
在变量前加上括号,在括号中指定要强制转换的类型;
例:double a = 23.24;
int b= (int)a;
六、运算符:
1)赋值运算符
=:将右边的值赋给左边,例:int a = 1;
+=:左右两边的和相加赋给左边,例:int a = 1; a+=2;结果a的值为3;
-=:左边减去右边的差赋给左边,例:int a =5;a-=2;结果a的值为3;
*=:两边数值相乘的值赋给左边,例:int a = 2;a*=2;结果a的值为4;
/=:左边除以右边的值赋给左边,例:int a = 6;a/=2;结果a的值为3;
%=:左边除以右边的余数赋给左边,例:int a =7;a%=2;结果a的值为1;
2)关系运算符
>:大于,例:int a = 1;int b = 2;System.out.print(a > b);其结果为false;
<:小于,例:int a = 1;int b = 2;System.out.print(a < b);其结果为true;
>=:大于等于,例:int a = 1;int b = 2;System.out.print(a >= b);其结果为false;
<=:小于等于,例:int a = 1;int b = 2;System.out.print(a <= b);其结果为true;
==:等于,例:int a = 1;int b = 2;System.out.print(a == b);其结果为false;
!=:不等于,例:int a = 1;int b = 2;System.out.print(a != b);其结果为true;
3)逻辑运算符
&&:与、并且(短路), 两个条件同时为真时,结果为真;
||:或、或者(短路), 两个条件有一个为真时,结果即为真;
!:非,(!+条件) 条件为真时,结果为假;