数据类型
数据类型的目的
1.限制当前变量当中所存储的数据(变量当中的数据必须是兼容的)。
2.为了限制当前变量空间大小,即不能过大,也不能过小。
数据类型的分类
基本数据类型
一、整数
根据数的范围可分为(主要看数字的取值范围,一个字节就可以有256个数据可用):
1.byte(一个字节):有256个数据可用,-128~127(-2^7~2^7-1)
2.short(两个字节):有65536个数据可用,-32768~32767(-2^15~2^15-1)
3.int(四个字节):-2^31~2^31-1
4.long(八个字节):-2^63~-2^63-1
二、浮点数
1.float(四个字节):
2.double(八个字节):
浮点型常量默认的是double类型,float类型的常量后面加F。
在混类型计算中,哪一个类型最大结果就是哪一个类型。
三、字符
1.char(两个字节):0~65535,指的就是字符的编号。
计算机中如何存储字符:字符就是一些符号(字母、数字、标点),它主要是以图形图像的方式存储或者表示信息的。
由编号和字符的路径组成的表称之为字符集/编码表(ASCll、GBK、UTF-8),表不对应也是乱码的原因。
‘a’ 97、‘A’ 65、‘0’ 48
四、布尔
boolean true/false
在Java中并没有给boolean一个明确的大小你主要和底层虚拟机相关。
如果boolean是一个变量的话就是一个字节,如果boolean是一个数组的话每个空间就是四个字节。
引用数据类型
一、字符串
String(Java中自带的一个类)不存在具体的大小,他的大小是根据字符串的内容而决定。可以向用基本类型一样去使用String类型数据。
二、null
三、数组
四、对象
如何定义变量
数据类型 变量名 = 常量;
数据类型 变量;
变量 = 常量;
运算符
算数运算符
- +加法运算:如果+的两边都是数字,那么+表示数学上的加法。 如果+的两边即使有一个字符串,那么这个+表示字符串连接符。 (1+2+3+“456”)结果是6456 (“123”+4+5+6)结果是123456
- - 减法运算:只有数学上的减法。
- * 乘法运算:数学上的乘法。
- / 除法运算:如果两边都是整数,结果就是整数。 如果两边至少存在一个小数,结果就是小数
- % 取余运算:除法运算取余,得到的结果是余数。
- ++ 自加运算:++i i本身直接+1再参与运算。 i++ i先参与运算本身再+1。相当于是先开辟一个临时存储区,将i的值复制到临时存储区,然后i自身+1, 最后进士存储区的值等待被调用(参与运算,输出,赋值)。
- -- 自减运算:和自加运算一样换成减。
赋值运算符
- +=:a+=2——a=a+2
- -=:a-=2——a=a-2
- *=:a*=2——a=a*2
- /=:a/=2——a=a/2
- %=:a%=2——a=a%2
- =:这个是赋值符
比较运算符
- >:大于
- <:小于
- >=:大于等于
- <=:小于等于
- ==:不管是在基本数据类型还是后面的面对对象==永远比的是两个变量(常量)当中所存储的地址。
- !=:不等于
运算的结果肯定是一个boolean类型
逻辑运算符
- 与:同真则真,有假则假。单与&,双与&&(左边一旦为假,右边无论真假,结果都是假,右边可以不用运行)
- 或:有真则真,同假则假。单或|,双或||(左边一旦为真,右边无论真假,结果都是真,右边也可以不用运行)
- 非:非真就是假,非假就是真。!
- 异或:相同为假,不同为真。^
运算的结果肯定是一个boolean类型
位运算符
指的是二进制之间的运算
- &:同一为一不同为0
- |:有一为一
- ^:不同为一相同为0
- >>:右移,从右边删去几位
- <<:左移,从右边添上几位
三目运算符
就是一个变量等于布尔表达式,要么真要么假。将一个变量赋予为真或假。能在一定程度上简化if语句的功能。
int a=5;
int b=6;
int min=a>b?b;a;