算数运算符注意事项

Day02_SHJavaTraing_4-3-2017

1.除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。

1 //定义double类型变量d并赋初始值6.28
2 double d  = 6.28;
3 //定义int类型变量i并赋初始值为3
4 int i = 3;
5 //打印d/i
6 System.out.println(d/i);//2.0933333333333333

2.整数做被除数,0不能做除数,否则报错。

3.小数做被除数,整除0结果为Infinity,对0取模结果为NaN。

4.“%”为整除取模(取余)符号,小数取模(取余)没有意义。结果正负号与被取模(取余)正负号相同。

1 //打印19%7
2 System.out.println(19%7);//5
3 //打印19%-7
4 System.out.println(19%-7);//5
5 //打印-19%7
6 System.out.println(-19%7);//-5
7 //打印-19%-7
8 System.out.println(-19%-7);//-5

5.char类型数据相加的结果是其对应的ASCII码相加,数据类型为int型

1 //定义一个char类型数据ch1并赋初始值为'y'
2 char ch1 = 'y';//ASCII码为121
3 //先定义一个char类型变量ch2,再赋初始值'&'
4 char ch2 = '&';//ASCII码为38
5 //定义一个int型变量i,初始值为ch1和ch2相加的结果
6 int i = ch1 + ch2;
7 //打印i
8 System.out.println("i=" + i);//159

6.数值型数据类型按照数据范围从小到大的顺序依次为:(数值型数据类型的数据做算数运算时,结果的数据类型定义为存储空间大的数据类型)
byte char short --> int --> long --> float --> double(对于byte char short之间做运算结果都为int)

 1 byte b = 10;
 2 short s = 20;
 3 /*
 4 错误: 可能损失精度
 5 short num = b + s;
 6 */
 7 int num = b + s;
 8 
 9 
10 byte b1 = 30;
11 /*
12 错误: 可能损失精度
13 byte num1 = b + b1;
14 */
15 int num1 = b + b1;
16 short s1 = 100;
17 /*
18 错误: 可能损失精度
19 short num1 = s + s1;
20 */
21 int num2 = s + s1;
22 
23 char c = '2';//ASCII码为50
24 char c1 = '2';//ASCII码为50
25 System.out.println(c + c1);    //100
26 
27 /*
28 错误: 可能损失精度
29 char num3 = c + b;
30 */
31 int num3 = c + b;
32 
33 /*
34 错误: 可能损失精度
35 char num4 = c + c1;
36 */
37 int num4 = c + c1;
38 
39 int i = 100;
40 float f = i;
41 /*
42 错误: 可能损失精度
43 float f1 = 3.14f;
44 i = f;
45 */
46 
47 long l = 1000;
48 f = l;
49 double d = l;
原文地址:https://www.cnblogs.com/EzraOholiabXue/p/Day02_SHJavaTraing_4-3-2017_03.html