大的转换小的自动转换
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的和为"+sum System.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”);
}
}
这是打印字符串