数据类型:
1)基本数据类型(由小到大排序)
a.整数类型
byte:一个字节
short:两个字节
int:四个字节
long:八个字节
(定义long型变量时,需要在变量后加L,如long a = 100000L)
b.浮点类型
float:四个字节
double:八个字节
(定义float型需要在变量后加上F,如float a = 100.0F)
c.字符型
char:两个字节
d.布尔型
boolean:一个字节
2)引用数据类型
类型转换
a.自动转换
byte,short,char→int→long→float→double
byte,short,char相互之间不转换,他们参与运算首先转换为int类型。
b.强制转换
目标数据类型 目标变量名 = (目标数据类型) 要转换的变量
举例:
int a=1;
byte b=2;
byte b = (byte) a
运算符
1)算术运算符:+,-,*,/,%
+一般是表示算术运算,当+出现在字符串和其他变量之间时,它表示的是字符串的拼接。
2)赋值运算符:=,+=,-=,*=,/=,%=
3)比较运算符:==,>,<,>=,<=,!=
4)逻辑运算符:&,|,^,!,&&,||
&&和&的区别在于,当&&的左边为false,右边就不执行了
||和|的区别在于,当||的左边为true,右边就不执行了
5) 位运算符:&,|,^,~,<<,>>,>>>
<<:二进制左移,右边用0补齐
>>:二进制右移,左边用最高位符号补齐
>>>:无符号右移,用0补齐
6)三目运算符:(关系表达式)?表达式1:表达式2;
public class YunSunFuDemo {
/*
+ - * / %(算术运算符)
= += -= %= *=(赋值运算符)
== >= <= < > !=(比较运算符)
& | && || ^ !(逻辑运算符)
& | << >> >>> ~ ^(位运算符)
所有的运算都是以补码形式参与,需要先将数转换为补码,参与运算后再转换为原码
*/
public static void main(String[] args) {
int a=3;
int b=4;
System.out.println(a*b);
System.out.println(a+"*"+b+"="+a*b);
//这里"*"代表的是一个字符串,所以+代表的是字符串的拼接
System.out.println(a+=1);
System.out.println(a-=1);//赋值运算符
System.out.println(a==b);//比较运算符输出的是布尔类型的结果是false和true
System.out.println((a++ == 4)&(b++ ==3));//逻辑运算符
System.out.println(a+","+b);
System.out.println((a++ == 3)&&(b++ ==5));
System.out.println(a+","+b);//左边的式子判定为false,右边的式子不运行
System.out.println(a&b);//a和b在二进制下运算,每个二进制位比较有0为0
System.out.println(a|b);//a和b在二进制下运算,每个二进制比较有1为1
System.out.println(a^b);//异或比较,相同为0不同为1
System.out.println(~a);//非运算 1变成0 0变成1
System.out.println(a<<2);//a左移两位,右边补0
System.out.println(a>>2);//a右移两位
System.out.println(a>>>1);//无符号右移
}
}