八大基本数据类型
在我们所学习的JAVA语言中,数据类型共分为两大类型,分别是基本数据类型和引用数据类型,
其中基本数据类型又称为原始数据类型,引用数据类型也可以成为自定义的数据类型,有无数种。
所以我们只要学会了基本数据类型,那么剩下的就都是引用数据类型了。
基本数据类型一共有八种分别是:byte、short、int、long、float、double、char、boolean
而这八中数据类型又可以分为四类:
整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean
四个整数类型:
byte: 字节类型,是计算机中最小的存储单元。
二进制:8位(位:bit)
数值范围:-128 ~ 127
幂表示: -2^7 ~ 2^7-1
short:短整形
二进制:16位
数值范围:-32768 ~ 32767
幂表示: -2^15 ~ 2^15-1
int: 整形
二进制:32位 00000000 00000000 00000000 00000001
数值范围:-2147483648 ~ 2147483647
幂表示: -2^31 ~ 2^31-1
注意:是int类型是java语言中整数的默认类型
long: 长整形
二进制:64位
数值范围:正负922亿亿
幂表示: -2^63 ~ 2^63-1
注意:使用long类型时,long类型的字面量必须添加 L或l。
两个浮点数类型
float:单精度浮点数类型,
二进制:32位 00000000 00000000 00000000 00000001
数值范围:正负3.14E38
注意:使用float类型时,float类型的字面量必须添加 F或f。
double:双精度浮点数类型
二进制:64位
数值范围:正负1.7E308
一个字符类型
char:二进制:16位
赋值特点:
1、可以使任意字符.
2、必须使用单引号,单引号内有且只有一个字符
3、也可以使0~65535之间的任意整数。
一个布尔类型
boolean:用于进行条件的判断
就两个值 true/false
true:表示条件成立
false:表示条件不成立
数据类型的转换
而数据类型的转换也分为两种:自动转换(隐式转换)和强制转换(显式转换)
1.自动转换(隐式转换)
当小范围类型的变量赋值给大范围类型的变量时,数字会自动转成对应的类型。
比如:
byte a = 2;// a里存储的是8位 2
short b = a;// 将a里的2存入16位的b中,
会自动在前面补全8个0.
注意:如果是负数,会自动补全1
byte a = 10;
long b = a;//8位的10存储到64位的b中,自动补全56个0
int c=10;
double d = c;
2.强制转换(显式转换)
将大范围类型的变量赋值给小范围类型的变量,需要强制转换
注意:强制转换后,有可能出现精度损失。
强制转换的语法:
小范围类型名 小范围变量=(小范围类型名)大范围变量
例1 long a = 10;
int b = (int)a;
例2 double c = 3.999;
byte d = (byte)c;
例3 int m = 128;
byte n = m;
运算符的用法
任何运算都要遵守两个原则:
原则1:参与运算的类型都小于int时,一定会先自动转成int类型然后再计算。
原则2:参与运算的类型不一致时,一定会先自动转成较大类型的数据然后再计算。
封闭式运算:int,long
运算时:注意,两原一封原则
1.算术运算符:+,-,*,/,%,++,- -
++ - - :自增自减运算符,必须和变量一起使用,表示变量会自动进行加一或减一运算
m++:先打印m,然后再给m加1
++m:先将m加1后再打印
减号同理
int m = 1;
int n = 5;
m = m++ + n-- + --n + m + ++m;
System.out.println(m);//14
System.out.println(n);//3
2.关系运算符
> , >= , < , <= , == , !=
3.逻辑运算符,也叫短路运算符
通常都是用在1个或1个以上的关系运算中
&& ,|| , !
&& (与): 全真为真,一假则假
|| (或): 全假为假,一真则真
!(非): 非真即假,非假即真
使用逻辑运算符会出现短路现象:
当第一个条件能确定结果,不执行第二个条件
&&:第一个为假时,就不执行第二个了
||:第一个为真时,也不执行第二个了
4、赋值运算符
= : 将右边赋值给左边的变量
扩展赋值运算符
+=:a+=b,相当于a=a+b;
-=:a-=b,相当于a=a-b;
*=:.........
/=: .........
%=: .........
5、字符串拼接符:+
字符串类型名:String,赋值特点,0或0个以上的字符使用
双引号引起来
String name = "韩小二"
当+前后只要有一个是字符串类型的数据,就做无缝拼接操作,拼接后的结果是字符串类型。
int a = 5;
int b = 1;
String s = "2";
s = a+b+s; //"62"
s = a+s+b; //"521"
s = s+a+b; //"251"
s = s+(a+b);//"26"
s = a+b+(a+b)+s+a+b;"12251"
s = a+b+s+a*b ;"625"
6、三目运算符(三元运算符)
变量类型 变量名 = boolean表达式?值1:值2;
int m = 10,n = 15;
String str =m>n?"你好":"我不好";
System.out.println(str);
int re = m<n?n:m;
System.out.println(re);
re = m<n?m:n;
System.out.println(re);
x = 50;
y = 60;
str = m<n&&x>y? "True":"False";
System.out.println(str);