细节
%:有符号问题,结果用永远与被除数一致
System.out.println(10%3);//1
System.out.println(-10%3);//-1
System.out.println(10%-3);//1
System.out.println(-10%-3);//-1
逻辑运算符
!不等于
两个符号怕【根据真值表判断(短路特性;前面表达式是假的后面表达式就不看了)】 &&且 ||或
一个符号【一切都会判断】 &且 |或
问题:真或假->结果是真还是假
System.out.println("------");
System.out.println(2<1 && 1/0==0);//假 且。。。->假
System.out.println(2>1 || 1/0==0);//真 或。。。->真
System.out.println(2<1 & 1/0==0);//报错,原因为0不能为除数
System.out.println(2>1 | 1/0==0);//报错,原因为0不能为除数
细节
a = a +2; 与 a += 2; 一样的
例子
int myNum = 2 ;
// myNum = myNum + 10 ;
myNum += 10 ;
System.out.println(myNum);
int sum =100;
// sum = sum + myNum ;
sum += myNum ;
System.out.println(sum);
i++ 先用后加
++i 先加后用
例子
System.out.println("------");
int i = 10 ;
// i = i + 1;
// i += 1;
// i++;
// ++i;
// i++ 先用后加
System.out.println(i++);
System.out.println(i++);
System.out.println(i++);
System.out.println(i);
int j = 10 ;
// ++i 先加后用
System.out.println(--j);
System.out.println(--j);
System.out.println(--j);
System.out.println(j);
byte,short特殊情况
byte=byte + byte; 错
byte +=byte;对
示例:
byte b1 = 10 ;//int
float f = 123.4f ;//double需要强转
// 整数= += 内置转换器
byte b1 = 100 ;
byte b2 = 100 ;
//b2 = b1 +b2;//报错,认为左边byte,右边int
//特例 byte,int的整数情况,byte+byte和short+short都是int,需要强转
/*解释 byte = byte +byte;
-128--127 = -128--127 + -128--127
-128--127 = -256--254
*/
b2 +=b1;//正常运行 整数= += 内置转换器
字符串 比较用 equals() !equals()
示例
String str1 = "abc" ;
String str2 = "abc" ;
System.out.println(str1.equals(str2));
System.out.println(str1 == (str2));//可以运行,且为ture,但不要用这种。这是类和对象,引用问题
System.out.println(!(str1.equals(str2)));
三目运算符
x = 布尔判断 ?为真时返回 :为假时返回;
示例
String result1 = 10>2 ? "hello":"world";//为true,显示hello
System.out.println(result1);
String result2 = 10<2 ? "hello":"world";//false,显示world
System.out.println(result2);
标签:07,++,System,运算符,--,细节,println,byte,out
From: https://www.cnblogs.com/yuyuaaa/p/17299535.html