算数运算符& 关系运算符
java中的算数运算符
+ - * / % ++ -- +
+:
加法运算符
- :
减法运算符
*:
乘法运算符
/ :
除法运算符
注意:
除数不能为0,除数为0会报出异常
整数运算默认得到整数,如果要得到浮点数的值,请使用浮点数参与运算
%:
取余运算符
注意:
取模在java中的关键字是Math.floorMod
求余的正负号取决于被除数
++:
自增运算符
++i 先自增后运算
i++ 先运算后自增
--:
自减运算符
--i 先自减后运算
i-- 先运算后自减
+:
字符串连接符号
连接其他数据类型的字符串表现形式
public class TestOperator { public static void main(String[] args) { // + - * / % ++ -- + System.out.println(3+3); System.out.println(3-3); System.out.println(3*3); System.out.println(3/3); //System.out.println(3/0); // 报错 System.out.println(3/2); //1 System.out.println(3/2.0); //1.0 1.5 System.out.println(3/2*0.1);//0.1 //求余要求商的绝对值最小 //推出的规律是:正负号取决于被除数 //余数 = 被除数 - 商*除数; //|被除数| > |商*除数| // 7 - 3 * (7/3) = 1 System.out.println(7%3);//1 // 7 - (-3) * (7/-3) = 7 - (-3) * -2 = 1 System.out.println(7%-3);//1 // -7 - (-7/-3) * -3 = -7 + 6 = -1 System.out.println(-7%-3);//-1 //-7 - (-7/3) * 3 = -7 + 6 = -1 System.out.println(-7%3);//-1 int a = 10; System.out.println(a++);//先运算后自增 10 System.out.println(a); System.out.println(++a);//先自增后自增 12 System.out.println(a); System.out.println(a--);//先运算后自减 12 System.out.println(a); System.out.println(--a);//先自减后运算 10 System.out.println(a); //字符串和其他数据类型进行+的时候,都是连接其他数据类型的字符串表现形式 System.out.println("Hell" + "o"); //Hello System.out.println("Hell" + 9); //Hell9 System.out.println("Hell" + 's'); //Hells System.out.println('a' + 10 + "Hello"); //107Hello //运算顺序从上往下,同优先级从左往右 //自动类型提升,char自动类型提升会成为int } }
运算的时候注意运算的自动类型提升和优先级
同优先级数据进行运算,从左往右依次执行
java中的关系运算符:
== != > < >= <=
== 相等于
注意基本数据类型比较的是值
引用数据类型比较的是值的引用
!=
不等于
>
大于
<
小于
>=
大于或者等于
<=
小于或者等于
例子:
public class TestOperator { public static void main(String[] args) { // == > < >= <= //基本数据类型 byte/short/int\lonf\float\doule\char\boolean //引用数据类型 String //== 比较的是基本数据类型的值,比较的是引用数据类型的引用 int i = 10; char c = 'a' - 87; System.out.println(i == c); String str = "hello"; String str1 = "hello"; String str2 = new String("hello"); String str3 = new String("hello"); System.out.println(str == str1); System.out.println(str1 == str2); System.out.println(str2 == str3); } }