public class AssignmentOperatorTest01 {
public static void main(String[] args){
byte b = 10;
b+=1;
System.out.println("b="+b);//11
/*
* 实际上 java 对于扩展类的赋值运算符进行了特殊的处理,
* 所有的扩展赋值运算符,最终都不会改变运算的结果类
* 型,假设前面的变量是 byte 类型,那么后面的表达式运
* 算之后的结果还是 byte 类型。所以实际上 b += 1 等同于:
*/
以上代码实际上等同于:b = (byte)(b + 1000);
分析得出,显然结果已经超出了 byte 类型取值范围,
所以精度一定会损失,最终的结果需要对计算机
二进制的原码反码补码进行研究。
代码分开:
b=(byte)(b+1);//12
System.out.println("b="+b);
b+=1000;
System.out.println("b="+b);//-12
}
}
三目运算符最经典的用法,瞄一眼就行:
public class ConditionalOperatorTest01 {
public static void main(String[] args) {
boolean flag = true;
int k = flag ? 1 : 0;
System.out.println("k=" + k);//1
//三目运算符最经典的用法
boolean sex = true;
char gender = sex?'男':'女';
System.out.println("性别;"+gender);//男
sex = false;
gender = sex?'男':'女';
System.out.println("性别;"+gender);//女
int x = 100;
int y = 100;
System.out.println(x==y?"x和y相等":"x和y不相等");//x和y相等
}
}
算术运算符
public class PlusTest01 {
public static void main(String[] args){
int a = 10;
int b = 20;
int c = a + b;
System.out.println("a+b="+c);//30
System.out.println(a+"+"+b+"="+(a+b));//10+20=30
/*1、在拼接的位置添加一个英文双引号;2、在双引
号中间添加两个加号;3、把字符串变量放到两个加号
中间。
*/
String name = "jack";
System.out.println("登录成功,欢迎“+name+”回来!");//登陆成功,欢迎Jack回来!
//K++先循环在加1,++k是加1再循环。
int K = 10;
System.out.println(K++);//10
int k = 10;
System.out.println(++k);//11
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)