- 算术运算符顾名思义加减乘除。
我来吐槽个,我觉得中国的数学对程序是不友好的,比如我们的乘法运算符是“x” 而计算机是“*”,除法运算符是“÷” 而计算机是“/”。
- 补充一个Eclipse的快捷补全代码技巧sysout + alt + / === System.out.println()
加减乘除
// 加
int a = 10, b = 20, c;
c = a + b;
System.out.println(c); // 30
// 减
int d = -10, e = 20;
int f = d - e;
System.out.println(f); // -30
// 乘
int g = d * e;
System.out.println(g); // -200
// 除
int h = d/e;// 实际等于-0.5
System.out.println(h); // 0
// 因为int不支持小数,如果小数统统不管小数位后面的。
隐式类型转换
// 还记得我们说java类型都是强定义的吗?就是定义了数字int不能再赋值字符串和小数。
int i = 3; // 4个字节
long k = i; // 8个字节
System.out.println(k); // 3 并不会报错哦
long m = 100;
// int l = m; // 会报错
int l = (int) m; // 强制类型转换_根据小的类型作为强制类型eg:(int)而不是(long)
System.out.println(l); // 100 并不会报错哦,但是我们不允许这么做,因为会失去精度!
复合运算一
// 加等于
int n = 2;
n+= 2; // n =n + 2
System.out.println(n); // 4
float o = 2;
o += 3; // o = 2.0 + 3.0 ,有一个隐式转换
System.out.println(o); // 5.0
// 乘等于
int p = 2;
p*= 2; // p =p * 2
System.out.println(p); // 4
//除等于
int q = 4;
q /= 2; // q =q / 2
System.out.println(q); // 2
// % 取余(读音:mo)
int r = 7, s, t;
s = r % 3; // s = 7÷3得2余1
t = r % 4; // s = 7÷4得1余3
System.out.println(s); // 1
System.out.println(t); // 3
//%等于
int u = 9;
u %=5; //u = u % 5 = 9除五得1余4
System.out.println(u); // 4
复合运算二
//后置加加 ++
int v = 1;
v++; // v = v + 1
System.out.println(v); // 2
//后置减减 --
int w = 1;
w--; // w = w + 1
System.out.println(w); // 0
//ps: 注意运算和赋值是不同步的,自增自减一旦赋值,都比赋值慢一步执行!
int x = 1;
int y = x++; // 实际是两步:y = x ; x = x + 1;
System.out.println(y); // 后置++打印结果为 1
// 理解下这个常见的面试题,理解了就相当于你掌握了。
int z= 2;
int z1= z++; // 其实你可以理解为两行代码,z1 = z;z = z + 1;
System.out.println(z); // 3
System.out.println(z1); // 2
// 讲解:当z1 = z++的时候赋值再计算的原则,所以z1赋值还是2,但是完了马上就执行z++, 所以z等于3。打印是z++执行完以后才执行的!
// 我们已经用完了26个字母了!!!我要用大写了请注意!!!
// 前置加加 ++
int A = 1;
++A; // A = A+ 1
System.out.println(A); // 2
//前置减减 --
int B = 2;
--B; // B = B - 1
System.out.println(B); // 1
// 理解下这个常见的面试题,理解了就相当于你掌握了。
int C= 2;
int D= ++C; // 这里也是两步但是先执行C = C + 1; 然后D = C;
System.out.println(C); // 3
System.out.println(D); // 3
// why?
// 记住前置是先计算再赋值。
检验题:请输出打印结果
int E = 20, F;
F = E++;
++E;
E = --F;
System.out.println(F);
System.out.println(E);
System.out.println(++F);
System.out.println(F);
// 正确答案见评论
PS
前置++,--都是先计算再赋值
后置++,--都是先赋值再计算
八种基础数据转字符串
int num1 = 20, num2 = 30;
String str1 = "123" + num1 + num2;
System.out.println(str1);
// 1232030
- 当“+”号链接两个数字时是加法运算符,当链接字符串时是连接符。
- 八种基础类型 + 字符串 都会变成字符串类型
两个特殊字符/n /t
String str2 = "1234\n" + 567;
System.out.println(str2); // 预测结果应该是1234\n567
// 实际结果
/*
*1234
*567
*/
String str3 = "1234\t" + 567;
System.out.println(str3);// 预测结果应该是1234\t567
// 实际结果
// 1234 567
- \n : 换行符
- \t : 空格(水平制表位)
上一章 | 目录 | 下一章 |
---|
网友评论