目录

运算符

算术运算符

关系运算符

逻辑运算符

赋值运算符

字符串拼接符号

三目运算符


运算符

    两个原则:
          1、不同类型的数据做运算时,一定会先转换成较大范围类型后再进行运算。
          2、byte,short,char这些类型运算时,一定会先转成int类型再运算,结果int类型
    一定要注意封闭式运算。

算术运算符

          +-*/%++--

     编程中的+,-,*和我们平时用到的几乎没什么区别,这里就不介绍了

/ :除号
        情况1:
              参与的类型都是整型时,做取整运算,即商n余m, 结果为n2/3----商0余2。结果为0(也就是运算结果只保留整数位)
        情况2:
              只要有一个浮点数参与,就会做类似精确运算(在除2是会是精确运算)。
    %:取余运算符号,也叫取模运算符号
              做除法运算时,商n余m,结果为m.

         情况1:参与运算都是整数时,余数是精确值
         情况2: 有浮点数参与时,余数不一定是精确值。

注意:
     取余运算一般被用来判断 某一个数能否被另外一个数整除。

     被除数为正,取余结果一定为正
     被除数为负,取余结果一定为负。
    ++ / --:是自增自减运算符
        符号要与变量一起使用。表示变量自动+1,或自动-1;
        列:++a/a++/--a/a--;
               ++a/a++:是a=a+1的简写
               --a/a--:是a=a-1的简写

     情况1: 即与变量在一起,不与其他任何符号连用时
            (单独使用)
        ++a
        a++
        --a
        a--
        此时,变量一定会+1或-1;

     情况2:自增/自减运算与其他符号连用时
           需要考虑表达式的值。
       ++a/a++/--a/a--整体看成表达式

           口诀:
           符号在前,先运算再赋值
           符号在后,先赋值在运算

        解析:符号在前时,变量先自增/自减,新值赋值给表达式
              符号在后时,先把变量的值赋值给表达式,然后变量再自增/自减

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。

java取余操作的计算公式 java取余运算规则_赋值

关系运算符

 >,>=,<,<=,==,!=

逻辑运算符

与,或,非 (&&,||,!)

     数学中,判断a是否大于1并且小于3时,写法如下:1<a<3 java语言中,没有上述写法,需要使用&&写法如下:a>1&&a<3或a<3&&a>1

&&(与):用于判断两个条件是否同时成立。(全真为真,一假则假)
     ||(或):用于判断是否有条件成立。(一真即真,全假则假)
     !(非):用于条件的否定。(非真即假,非假即真)

&(与)  |(或) 没有短路现象。)

赋值运算符

=,赋值运算,给前面的变量赋值。

     扩展:

              +=,-=,*=,/=,%=
             a+=1相当于 a = a + 1
             a-=b相当于 a = a - b;
             a*=b相当于 a = a * b;
             a/=b相当于 a = a / b;
             a%=b相当于 a = a % b;

字符串拼接符号

     +: 当+前后,只要有一个是字符串类型,就做拼接操作,拼接后的结果是字符串类型。

练习代码:

public static void main(String[] args) {
		
		  int a = 1;
	      int b = 2;
	      String str = "3";
	      String result = a+b+str;
	      System.out.println(result);//"33"
	      result = str+a+b;
	      System.out.println(result);//"312"
	      result = a+str+b;
	      System.out.println(result);//"132"
	      System.out.println(1+2+a+str+b+3);//"4323"
	      System.out.println(1+2+a+"3"+a*b+str);//"4323"
	}

三目运算符

变量类型 变量= 条件表达式?值1:值2;
       变量类型:需要与值1或值2的类型相同。如果值1与值2的类型不相同,则要可以自动转换。

练习代码:

public static void main(String[] args){
		/*
			找出num1 = 3,num2 = 5最大值
		*/
		int num1 = 3,num2 = 5;
		int numMax = num1>num2? num1:num2;
		
		/*
		   int a = 5,b = 10,c = 3;
           找出max,mid,min
		*/
		int a = 5,b = 10,c = 3;
		
		int min = a<b? (a<c? a:c):(b<c? b:c);
		int max = a>b? (a>c? a:c):(b>c? b:c);
		int mid = a>b? (b>c? b:(a>c? c:a)):(a>c? a:(b>c? c:b));
		
		System.out.println("最小值:"+min);
		System.out.println("最大值:"+max);
		System.out.println("中间值:"+mid);
		
	}