1. 算术运算符**

java 范型不指定个数 java不能整除怎么表示_运算符

  1. “+” 加:同时也是字符串的连接运算符。
    除法(/):
  2. 整数/整数=整数,是截断取整,而不是四舍五入取整。
  3. 整数不能除0。0.0除0.0结果为NaN 非数。
  4. 当除数或者被除数中有一个为浮点型的,那么结果就是自然除法的结果。
  5. 如果此时除数为0或者0.0,那么结果为正无穷或者负无穷。
int  a =19;   int  b = 4;
a/b=4;                //整数/整数=整数,是截断取整,而不是四舍五入取整。
a/0.0=Infinity;          //除数为0或者0.0时,被除数为正,结果是正无穷
-a/0.0=-Infinity;         //除数为0或者0.0时,被除数为负,结果是负无穷
0.0/0.0=NaN;           //0.0除0.0结果为NaN 非数

求余(%):
6. 两个整数时,第二个数不能是0。
7. 一个或两个为浮点数,第二个数为0或者0.0时,结果为NaN。
8. 第一个数为0或0.0时,结果为0.0。

int  a =19;   int  b = 4;
a % b = 3;
a % 0.0 = NaN;          //第二个数为0.0时,结果为NaN。
0.0 % b = 0.0;           //第一个数为0或0.0时,结果为0.0。

自增(自减):
9. ++y(–y):先将y的值自增(自减)1,然后再在当前表达式中使用y的值。
10. y++(y–):先在当前表达式中使用y的值,然后再将y的值自增(自减)1。

int A=20;     int B=20;    int C=A++ + B;    int D=20;    int E=20;
System.out.println("++A=" + (++A));  --> ++A=21
System.out.println("B++=" + (B++));  --> B++=20
System.out.println("C="+ C);         --> C=40
System.out.println("--D=" + (--D));  --> --D=19
System.out.println("E--=" + (E--));  --> E--=20

2. 关系运算符

java 范型不指定个数 java不能整除怎么表示_运算符_02


注意:Java中==和equals()方法的区别

  • ==在基础数据类型的时候就是比较值是否相同,在引用类型时是比较地址。
  • equals用于判断引用类型的值
String  str = "123";    int  intA = 123;   
String  strA = String.valueOf(intA); 
System.out.println("str==strA = " + (str == strA));   --> str==strA = false
System.out.println("str.equals(strA) = " + (str.equals(strA))); --> str.equals(strA) = true
Int  intA1 = 10;   int  intA2 = 20 / 2; 
System.out.println("intA1==intA2 :" + (intA1 == intA2)); --> intA1==intA2 :true

3.赋值运算符

java 范型不指定个数 java不能整除怎么表示_java 范型不指定个数_03

  • 在赋值的过程中,运算顺序是从右往左,将右边表达式的结果赋值给左边的变量。
  • 除了“=”,其他运算符都是特殊的赋值运算符,以“+=”为例,x+=3就相当于x=x+3,首先会进行加法运算x+3,再将运算的结果赋值给变量x。特殊运算符可以此类推。
  • JAVA中通过一条赋值语句对多个变量进行赋值。
正确写法
int  x,  y,  z;
x=y=z=5;    //为3个变量同时赋值
错误写法
int  x= y= z=6;//这样写是错误的

4.逻辑运算符

java 范型不指定个数 java不能整除怎么表示_运算符_04

  • &&(短路)当且仅当运算符两边的条件都为true时,结果才为true,否则结果都是false,
    当第左边为false时,右边的表达式则不会进行运算。
  • &(不短路与):不论左边为true或者false,右边的表达式都会进行运算。
  • ^(异或):当运算符两边布尔值相同为false,当运算符两边布尔值不同为true。
  • ||(短路或):左右操作数任意一个为true,结果都为true,如果左边操作数为true,右边表达式将不会进行运算。两边为false时,结果才为false。
  • |(不短路或):不论左边为true或者false,右边的表达式都会进行运算。

    例子:
//短路&&
int intB =10;
if(intB>11 && intB++ >9){} //两侧为true,结果才为true,左侧为false,则不进行运算
System.out.println(“intB=”+intB);   -->  intB=10;
//不短路&
int intB =10;
if(intB>11 & intB++ >9){} //不论左侧为false还是true,表达式都会进行运算
System.out.println(“intB=”+intB);     intB=11;
//短路或||
int intB =10;
if(intB < 11 || intB++ >10){} //如果左测为true,右测将不运算
System.out.println(“intB=”+intB);     intB=10;
//不短路或|
int intB =10;
if(intB >11 || intB++ >10){} //不论左侧为false还是true,表达式都会进行运算
System.out.println(“intB=”+intB);     intB=11;

5.其它运算符

1、 三目运算符(?:)

  • 三目运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的 值。该运算符的主要是决定哪个值应该赋值给变量
  • 格式:variable x = (expression) ? value if true : value if false
  • 示例:
//三目运算符(?:)
int intValue =5;
System.out.println((intValue > 4) ? "5>4" : "5<4");

2、 instanceof运算符

  • 该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类 型)
  • 格式:(Object reference variable) instanceof (class/interface type)
  • 示例:
String str1 = "Name";
boolean bool = str1 instanceof String;
System.out.println(bool);