大的转换小的自动转换
byte -> short -> int -> long -> float -> double
l 自动类型转换
表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
l 强制类型转换
表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
1.1 算术运算符
我们在使用算术运算符时,记得要注意下列事项:
l 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
l 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
l “%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
l 整数做被除数,0不能做除数,否则报错。
赋值运算符
注意:诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
比较运算符
运算符 | 运算规则 | 范例 | 结果 |
+ | 正号 | +3 | 3 |
+ | 加 | 2+3 | 5 |
+ | 连接字符串 | “中”+“国” | “中国” |
- | 负号 | int a=3;-a | -3 |
- | 减 | 3-1 | 2 |
* | 乘 | 2*3 | 6 |
/ | 除 | 5/2 | 2 |
% | 取模 | 5%2 | 1 |
++ | 自增 | int a=1;a++/++a | 2 |
-- | 自减 | int b=3;a--/--a | 2 |
//由小类型转大类型/*int i=520;double j=i;System.out.println(j);*///由大类型转小类型/*double a=2.9;int b=(int)a;System.out.println(b);*///运算符+拼接字符串/*int a=1;int b=2;//结果是a+b的和为12//双引号""就是个传染病,谁+""谁就是字符串,无论在前再后,都会成串,除非"a+b的和为"+(a+b)加个括号先算出来a+b的值,或者设置int sum=a+b;然后"a+b的和为"+sumSystem.out.println("a+b的和为"+a+b);*///运算符 / 除号//俩int除是不能有浮点的,结果为4//虽然再int a=9后面加d也可以但这样就成了double a=9d;所以最简单的方式就是再输出变量*1.0/*int a=9;int b=2;System.out.println(a*1.0/b);
class Demo01 {public static void main(String[] args) {//由小类型转大类型int i=520;double j=i;System.out.println(j); } } 这是打印值 class Demo01 {public static void main(String[] args) {//由小类型转大类型int i=520;double j=i;System.out.println(“j”);} } 这是打印字符串
class Demo01
{
public static void main(String[] args)
{
//由小类型转大类型
int i=520;
double j=i;
System.out.println(j);
}
}
这是打印值
class Demo01
{
public static void main(String[] args)
{
//由小类型转大类型
int i=520;
double j=i;
System.out.println(“j”);
}
}
这是打印字符串