Java SE ---算术运算符
2013-11-22 11:39
288 查看
算术运算符:(加)+,(减)-,(乘)*,(除)/,(求余)%,自增自减
一,算数运算符:
当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。
如果参加运算的变量中有整型int,有双精度浮点型double,有短整型short,那么最后的结果类型就是double。
这里主要说说除法和取模求余数。
除法: 例子1: int a = 1;
int b = 2;
System.out.println(a / b); //结果是0 如果按照数学意义来看结果应该是0.5,但是a和b都是int的,那么结果也是int型的,0.5是小数。若a,b两个变量无法整除时,java环境根据ab都是int型,结果也必须是int的,它会把结果的小数点后面的那部分全部舍掉,不是四舍五入,所以这里的a/b结果是0。
例子2: double i = 1;
int j = 2;
int k = i / j;
System.out.println(k); // 无法通过编译
这个编译会报错。i和j参与运算,结果的类型应该是double类型的,double型的数是不能赋值给int型的k的,所以报损失精度的错。 例子3:在例子2的基础上,把变量k改成double型
double i = 1;
int j = 2;
double k = i / j;
System.out.println(k); // 结果是0.5
这个编译会报错。i和j参与运算,结果的类型应该是double类型的,然后赋值给double型的k,通过编译,结果0.5。 例子4:在例子1的基础上
int a = 1;
int b = 2; int c = a / b;
double j = a / b;
double k = (double)a / b; System.out.println(c); //结果是0
System.out.println(j); //结果是0.0
System.out.println(k); //结果是0.5
取模%(求余): 取模的结果符号,永远与被除数(就是%前面的数)的符号相同。如a%b的结果符号跟a一致。
除了布尔类型不能取模外,其他的都可以取模,具体例子参考下面:
1,字符char型取模:a~z的ASCII码值是97~122,A~Z的ASCII码值是65~90
2,int整型
3.double双精度型
一,算数运算符:
当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。
如果参加运算的变量中有整型int,有双精度浮点型double,有短整型short,那么最后的结果类型就是double。
这里主要说说除法和取模求余数。
除法: 例子1: int a = 1;
int b = 2;
System.out.println(a / b); //结果是0 如果按照数学意义来看结果应该是0.5,但是a和b都是int的,那么结果也是int型的,0.5是小数。若a,b两个变量无法整除时,java环境根据ab都是int型,结果也必须是int的,它会把结果的小数点后面的那部分全部舍掉,不是四舍五入,所以这里的a/b结果是0。
例子2: double i = 1;
int j = 2;
int k = i / j;
System.out.println(k); // 无法通过编译
这个编译会报错。i和j参与运算,结果的类型应该是double类型的,double型的数是不能赋值给int型的k的,所以报损失精度的错。 例子3:在例子2的基础上,把变量k改成double型
double i = 1;
int j = 2;
double k = i / j;
System.out.println(k); // 结果是0.5
这个编译会报错。i和j参与运算,结果的类型应该是double类型的,然后赋值给double型的k,通过编译,结果0.5。 例子4:在例子1的基础上
int a = 1;
int b = 2; int c = a / b;
double j = a / b;
double k = (double)a / b; System.out.println(c); //结果是0
System.out.println(j); //结果是0.0
System.out.println(k); //结果是0.5
取模%(求余): 取模的结果符号,永远与被除数(就是%前面的数)的符号相同。如a%b的结果符号跟a一致。
除了布尔类型不能取模外,其他的都可以取模,具体例子参考下面:
1,字符char型取模:a~z的ASCII码值是97~122,A~Z的ASCII码值是65~90
2,int整型
3.double双精度型
相关文章推荐
- spring集成rmi的注意事项
- Java SE ---数据类型
- 关于strust2中的输入校验实例解析
- JVM 系列二:java.lang.OutOfMemoryError: unable to create new native thread
- i = i++ 在java字节码层面的分析
- JavaWeb_01_response_生成随机验证码
- 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
- 初探java中this的用法
- myeclipse 项目导入至eclipse中不能识别为web项目,没有run on server菜单,也不能部署。
- java打开网页的2种方式
- Java从0单排(2)-连接MYSQL 数据库的连接步骤
- Java对URL和URI的区分
- 判断字符串是否为中文
- spring错误汇总
- java->jar->exe->setup.exe
- java 正则表达式详细
- java.lang.IllegalArgumentException: pointerIndex out of range 问题的两种解决办法
- eclipse 函数编译时报错:undefined reference to `pthread_create’
- JAVA异常处理的方法
- 使用 Groovy 打包 Spring