JavaSE笔记之多种运算符

一、算数运算符

1、四则与取模运算

何为四则与取模运算?即四则运算,加(+)减(-)乘(*)除(/)取模(%)

对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商,不看余数。

只有对于整数的除法,取模运算符才有余数的意义。

代码举例:

public class Operator{
    public static void main(String[] args){
        //常量运算
        System.out.println(10 + 20);//输出结果为30

        //变量运算
        int num1 = 10;
        int num2 = 20;
        
        System.out.println(num1 - num2);//输出结果为-10
     
        System.out.println(num1 * num2);//输出结果为200

        int num3 = 10;
        int num4 = 3;

        int result1 = num3 / num4;
        System.out.println(result1);//输出结果为3
        
        int result2 = num3 % num4;
        System.out.println(result1);//输出结果为1,取余数,俗称模。
        
    }
}

2、加号的多种用法

常见用法:

①、对于数值,即加法。

②、对于字符char类型,char会被提升为int,再进行计算。

③、对于字符串String,任何数据类型和字符串进行加法时,表示字符串连接。

代码举例:

public class Operator{
    public static void main(String[] args){
        String str1 = "A";
        String str2 = "B";

        System.out.println(str1 + str2);//输出结果为:AB

        System.out.println(str1 + 1);//输出结果为:A1
        System.out.println(str1 + (1 + 1));//运算优先级改变时,输出结果为:A2
    }
}

3、自增自减运算符

自增运算符与自减运算符,即++,--;

基本含义:变量涨一个数字1,或者变量减一个数字1。

使用格式:写在变量名之前,或者写在变量名之后。举例:++num,num++。

使用方式:

单独使用:不和其他操作混合,独立成为一个步骤,即++num,num++。

混合使用:和其他操作混合,与赋值等操作混合。

使用区别:

单独使用:无区别,++num与num++完全一致。

混合使用:区别很大,如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用,即【先加后用】
                         反之如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】,即【先用后加】

注意事项:

                只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能用。

代码举例:

public class Operator {
	public static void main(String[] args) {
		int num1 = 10;
		System.out.println(num1); // 10
		++num1; // 单独使用,前++
		System.out.println(num1); // 11
		num1++; // 单独使用,后++
		System.out.println(num1); // 12
		System.out.println("=================");
		
		// 与打印操作混合的时候
		int num2 = 20;
		// 混合使用,先++,变量立刻马上变成21,然后打印结果21
		System.out.println(++num2); // 21
		System.out.println(num2); // 21
		System.out.println("=================");
		
		int num3 = 30;
		// 混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31
		System.out.println(num3++); // 30
		System.out.println(num3); // 31
		System.out.println("=================");
		
		int num4 = 40;
		// 和赋值操作混合
		int result1 = --num4; // 混合使用,前--,变量立刻马上-1变成39,然后将结果39交给result1变量
		System.out.println(result1); // 39
		System.out.println(num4); // 39
		System.out.println("=================");
		
		int num5 = 50;
		// 混合使用,后--,首先把本来的数字50交给result2,然后我自己再-1变成49
		int result2 = num5--;
		System.out.println(result2); // 50
		System.out.println(num5); // 49
		System.out.println("=================");
		
		int x = 10;
		int y = 20;
		// 11 + 20 = 31
		int result3 = ++x + y--;
		System.out.println(result3); // 31
		System.out.println(x); // 11
		System.out.println(y); // 19
		
		// 30++; // 错误写法!常量不可以使用++或者--
	}
}

二、赋值运算符

1、基本赋值运算符:右侧数据赋值给左侧,例:int a = 30;

2、复合赋值运算符:

+=          a+=3           等价于          a = a + 3;

-=            a-=3           等价于          a = a - 3;

*=           a*=3           等价于          a = a * 3;

/=            a/=3           等价于          a = a / 3;

%=       a%=3           等价于          a = a % 3;

注意事项:

1、只有变量才能使用赋值运算符,常量不能进行赋值。

2、复合赋值运算符其中隐含了一个强制类型转换。

代码示例:

public class Operator{
    public static void main(String[] args){
        int a = 10;
        
        a+=5;     
        System.out.println(a);//输出结果为15

        int b = 10;
        
        b %=3;
        System.out.println(b);//输出结果为1

        byte c = 10;
        c+=5;

        System.out.println(c);//输出结果为15
    }
}

三、比较运算符

等于(==)小于(<)大于(>)小于等于(<=)大于等于(>=)不等于(!=),结果一定是一个布尔值,即true或false。

注意事项:

程序中不允许1

代码示例:

public class Operator{
    public static void main(String[] args){
        //判断       
        System.out.println(5<10);//输出结果为true
        
        //判断
        System.out.println(5<=5);//输出结果为true

        //判断
        System.out.println(5>5);//输出结果为false

        //判断
        System.out.println(5==5);//输出结果为true

        //判断
        System.out.println(5!=5);//输出结果为false

        //以此类推......
    }
}

四、逻辑运算符

1、与(并且)==>&&==>都符合,才是true,具有短路效果,从左至右,有一个符合条件将停止进行后续判断,从而节约一定性能。

2、或(或者)==>|| ==>有一个符合,就是true,具有短路效果,从左至右,有一个符合条件将停止进行后续判断,从而节约一定性能。

3、非(取反)==>!==> 本来是 true,变成false;本来是false,变成true

代码示例:

public class Operator{
    public static void main(String[] args){
        //判断&&
        System.out.println(3 < 4 && 1 < 2);//输出结果为true
        
        //判断||
        System.out.println(3 < 4 || 1 > 2);//输出结果为true

        //判断!
        System.out.println(!true);//输出结果为false
    }
}

五、三元运算符

一元运算符:只需要有一个数据就可以进行操作,举例:取反!、自增++、自减--

二元运算符:需要两个数据才可以进行操作,举例:加法+、赋值=

三元运算符:需要三个数据才可以进行操作。

 

格式:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B

执行流程:

如果成立为true,那么将表达式A的值赋值给左侧的变量;

如果不成品为false,那么将表达式B的值赋值给左侧的变量;

代码示例:

public class Operator{
    public static void main(String[] args){
        int a = 5;
        int b = 6;
        int result  = a > b ? a : b;

        System.out.println(result);//输出结果为:6
    }
}

你可能感兴趣的:(JavaSE)