public class TestOperat {
public static void main(String[] args) {
/*
算术运算符: + - * / %
*/
System.out.println(5 + 2);
System.out.println(17 - 9);
System.out.println(5 * 8);
System.out.println(9 / 3);
/*
+ : 当+号左右两端出现一个字符串的时候,那么它执行的
是字符串拼接动作。
*/
int result = 50;
System.out.println("最终结果是:" + result);
System.out.println("最终结果是:" + (3 + 7) );
/*
% : 取模,取余
该符号是对左右两个操作数做除法,只不过最终结果不是商而是余数
特殊:
1、余数正负号,只跟第一个被除数有关;
2、%符号的运算只在整数运算下才有意义;
*/
System.out.println( 8 % 5);
System.out.println(-8 % 5);
System.out.println(8 % -5);
System.out.println(-8 % -5);
System.out.println(5.3 % 2.6);
/*
最重要的:所有的算术运算符号,如果左右两端的运算数数据类型
一致,那么结果就是该类型的结果。
如果不一致,那么结果就是大的那个数据类型的结果
*/
System.out.println( 1 / 2 );
System.out.println( 1 / 2.0);
/*
赋值运算符:=
把赋值运算符右边的表达式,赋给左边的变量
1、左边只有一个变量
2、要注意左右两边的数据类型:自动类型转换 和 强制类型转换
*/
int a = 0, b = 0;
a = a + 13;
/*
变形的赋值运算符(一): += -= *= /= %=
*/
b += 5;// b = b + 5;
/*
变量 = 变量 + 值;
变量 += 值;
这两句的最终效果是一样的,但是如果出现类型不匹配的情况,
语句一只能我们自己强制类型转换,语句二可以由该表达式帮我们进行类型转换
*/
// b = (int)(b + 3.14);
b += 3.14;
System.out.println(b);
/*
变形的赋值运算符(二): ++ --
又被称之为"自增长","自减小"
*/
a = 100;
a++;// a += 1; a = a + 1;
++a;
System.out.println(a);
a--;// a -= 1; a = a - 1;
--a;
System.out.println(a);
/*
前加 ++a 前减 --a
后加 a++ 后减 a--
单独使用a++ 和 ++a 是没有区别的(--也是同理)
*/
int num = 10;
System.out.println( ++num * 5 );
/*
比较运算符: > < >= <= != ==
比较运算符最终的结果只能是boolean类型true或false
*/
System.out.println(5 > num);
/*
三目运算符: 表达式1 ? 表达式2 : 表达式3
1、表达式1必须是一个布尔表达式;
2、当表达式1为true的时候,用表达式2的结果作为整个三目运算符的结果;
当表达式1为false的时候,用表达式3的结果作为整个三目运算符的结果
*/
System.out.println( num < 5 ? "男" : "女" );
}
}