Java基础-运算符(一)

有些话、适合烂在心里 提交于 2019-11-29 15:10:11
Java 语言支持如下运算符:
  • 算术运算符: +,-,*,/,%,++,–
  • 赋值运算符 =
  • 扩展赋值运算符:+=,-=,*=,/=
  • 关系运算符: >,<,>=,<=,==,!=
  • 逻辑运算符: &&,||,!
  • 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
  • 条件运算符 ?:
相关概念辨析
  • +运算符 操作符 Operator
  • 5+6 表达式 expression
  • 5 6 操作数 Operand
  • int m =5+6; 语句 Sentence
代码示例
package com.cwl.base.day01;

/**
 * @program: java_base
 * @description: 测试算术运算符
 * @author: ChenWenLong
 * @create: 2019-11-05 15:07
 **/
public class TestOperator01 {

    public static void main(String[] args) {
	/*
		byte  a = 1;
		int     b = 2;
		long  b2 = 3;
	//	byte  c = a+b;				//报错
	//	int    c2 = b2+b;			//报错

		float  f1 = 3.14F;
		float  d =   b+b2;

//		float  d2 = f1+ 6.2;		//报错

		System.out.println(-9%5);
*/
		/*
		//测试自增和自减
		int a = 3;
		int b = a++;   //执行完后,b=3。先给b赋值,再自增。
		System.out.println("a="+a+"\nb="+b);
		a = 3;
		b = ++a;   //执行完后,c=5。a先自增,再给c赋值
		System.out.println("a="+a+"\nb="+b);
		*/

        int a=3;
        int b=4;
        a+=b;//相当于a=a+b;
        System.out.println("a="+a+"\nb="+b);
        a=3;
        a*=b+3;//相当于a=a*(b+3)
        System.out.println("a="+a+"\nb="+b);

    }
}

算术运算符

  • 注意:
    • 1:/ 除 6/4=1 6/4.0=1.5
    • 2: %取模(求余) 6%4=2
    • 3:+ 6+‘a’=103 6+“a“=6ª
    • 4:++ a=2;b=++a+9; a=2;b=a+++9;
    • +:字符串相加,只要有一个操作数是字符串,自动变为字符串相连
      在这里插入图片描述
二元运算符类型提升:
  • 整数运算:
    • 如果两个操作数有一个为Long, 则结果也为long
    • 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
  • 浮点运算:
    • 如果两个操作数有一个为double, 则结果为double.
    • 只有两个操作数都是float, 则结果才为float.
  • 一元运算符(++, --):
int a = 3;
int b = a++; //执行完后,b=3。先给b赋值,再自增。
int c = ++a; //执行完后,c=5。先自增,再给b赋值

赋值运算符

  • 基本赋值运算符
  • 扩展赋值运算符
  • 算术运算符和赋值运算符结合
    在这里插入图片描述

关系运算符

  • 关系运算符用来进行比较运算
  • 关系运算的结果是布尔值:true/false
  • 注意
    • 区分==和=
    • 不等于是!=不是<>
      在这里插入图片描述
代码实例
package com.cwl.base.day01;

/**
 * @program: java_base
 * @description: 测试关系运算符
 * @author: ChenWenLong
 * @create: 2019-11-05 15:08
 **/
public class TestOperator02 {

    public static void main(String[] args) {
        int  a  = 3;
        System.out.println(a==3);
        System.out.println(a!=3);
        System.out.println(a<5);

        char  b = 'a';
        char  b2 = 'c';


        System.out.println((int)b);
        System.out.println(0+b);
        System.out.println(0+b2);
        System.out.println(b<b2);

    }
}

逻辑运算符

  • 逻辑运算符与布尔操作数一起使用,组成逻辑表达式
  • 逻辑表达式的结果是布尔值
  • &和&&的区别
    • “&”:无论任何情况,“&”两边的表达式都 会参与计算。
    • “&&”: 当“&&”的左边为false,则将不会计 算其右边的表达式。即左false则false
  • “|”和“||”的区别与“&”和“&&”的区别类似
    在这里插入图片描述
代码示例
package com.cwl.base.day01;

/**
 * @program: java_base
 * @description: 逻辑运算符
 * @author: ChenWenLong
 * @create: 2019-11-05 15:08
 **/
public class TestOperator03 {

    public static void main(String[] args) {
        boolean   b1 = true;
        boolean   b2 = false;
        System.out.println(b1&b2);
        System.out.println(b1|b2);
        System.out.println(b1^b2);
        System.out.println(!b2);

        //短路
//		int  c = 3/0;
        boolean   b3 = 1>2&&2<(3/0);  //短路与,第一个操作数的值为false,则不需要在计算后面的操作数
        System.out.println(b3);


    }
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!