------- android培训、java培训、期待与您交流! ----------
算数运算符
需要注意的:
1、取余结果的正负跟左操作的数有关,左操作数(被除数)是正,结果为正;如果左操作数
(被除数)
是负数,结果就为负。
2、对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分;小数的话则会保留小数位
下边看例子:
class Demo { public static void main(String[] args) { //加法 int num1 = 2 + 3; int num2 = 2 + num1; int num3 = num1 + num2; System.out.println("num3="+num3); //+,-,*,/,跟上学的时候一样,有优先级 System.out.println(3+3-2+9); System.out.println(3+9/3+9); System.out.println(3+3*9); //除法 int a = 10; int b = 0; // System.out.println("a/b = "+a/b);//运算时异常,不能除以0 int c = 3; System.out.println("a/c = "+a/c); //整数除法,结果取整 System.out.println("a/4 = "+a/4); //不四舍五入 double d1 = 10; double d2 = 0.0; System.out.println("d1/d2 = " +d1/d2);//输出Infinity,无穷大 double d3 = 4; System.out.println("d1/d3 = " +d1/d3); //取余 int n1 = 10; int n2 = 5; int n3 = 3; System.out.println("n1 % n2 = "+n1 % n2); System.out.println("n1 % n3 = "+n1 % n3); int n4 = 0; //System.out.println("n1 % n4 = "+n1 % n4);//运行时异常不能除以0 int n5 = -3; int n6 = 2; int n7 = -2; //取余结果的正负跟被除数有关,被除数是正结果为正;被除数为负结果为负。 System.out.println("n1 % n5 = "+n1 % n5); //1 System.out.println("n5 % n6 = "+n5 % n6); //-1 System.out.println("n5 % n7 = "+n5 % n7); //-1 double db1 = 10; double db2 = 0; System.out.println("db1 % db2 = "+db1 % db2); //NaN(Not a Number),不属于异常 //丢失精度 double dv1 = 64.77; double dv2 = 58.62; System.out.println("dv1 + dv2 = " + dv1 + dv2); //++,-- int t1 = 10; t1++; System.out.println(t1); //11 ++t1; System.out.println(t1); //12 int t2 = 10; int t3 = ++t2; System.out.println(t2); System.out.println(t3); int t4 = 10; int t5 = t4++; System.out.println(t4); System.out.println(t5); int t6 = 10; int t7 = 20; int t8 = t6++ + ++t7;//10 + 21 -> t8 = 31 System.out.println(t8); System.out.println(t7); System.out.println(t6); int t9 = 10; int t10 = 20; System.out.println(t9--);//10 System.out.println(t9); //9 //字符串连接,用+运算符 String s1 = "a"+"b"; System.out.println(s1); s1 = "a" + 10 + 20; //左右两边有一个字符串,结果就是字符串连接 System.out.println(s1);//a1020 s1 = 5 + 10 + "a"; System.out.println(s1);//15a s1 = 3 + "" + 2; System.out.println(s1);//32 System.out.println("5 + 5=" + 5 + 5);//5 + 5 = 55 //字符类型和整型的兼容性 char c1 = 'a'; //ascii码 a 是97 int t11 = c1 + 10; System.out.println(t11); //107 System.out.println((char)t11); //k 107对应ascii中的k System.out.println("" + c1); //a System.out.println("" + c1 + 10); //a10 System.out.println(c1 + 10 + ""); //107 } }