运算符

1.算术运算符

    *运算符

        *对常量和变量进行操作的符号成为运算符

    *表达式

        *用运算符把常量或变量连接起来符合Java语法的式子就可以成为表达式

        *不同运算符连接的式子体现的是不同类型的表达式

    *常用运算符

        *算术运算符

        *赋值运算符

        *关系运算符

        *逻辑运算符

        *三元运算符

    *算术运算符概述

        *什么是算术运算符

                *就是对常量或变量进行操作的符号

        *算术运算符有哪些

                * +,-,*,/,%,++,--

        *案例

package com.text_01;
/*
 * 运算符:对常量和变量进行操作的符号
 * 表达式:用运算符连接起来的符合java语法的式子。不同类型的运算符连接起来的式子是不同的表达式。
 * 		举例:定义两个int类型的变量a,b,
 * 			a + b
 * 
 * 运算符分类:
 * 		算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符。
 * 
 * 算术运算符:
 * 		+,-,*,/的基本使用
 */
public class OperatorDemo {
	public static void main(String[] args) {
		// 定义两个变量
		int a = 3;
		int b = 4;

		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);

		// 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算
		System.out.println(3 / 4.0);
		System.out.println(3.0 / 4);
	}
}

    *算术运算符取余和除法的区别

            * %:取余运算符,得到连个数相除的余数.

            * /:除法运算符,得到两个相除数据的商.

            *使用场景:%可以用来判断数据是否整除.

        *案例

public class OperatorDemo2 {
	public static void main(String[] args) {
		int a = 5;
		int b = 3;

		System.out.println(a / b);
		System.out.println(a % b);
	}
}

    *字符和字符串参与加法操作

         *字符参与运算

                *其实是拿该字符对应的数值来操作

                    * 'a'-----97

                    * 'A'-----65

                    * '0'-----48

         *字符串参与运算

                    *做的是字符串的拼接

                    *字符串和其他类型的数据做加法时,结果为字符串类型.

            *案例

package com.text_02;
/*
 * 整数的加法。
 * 字符参与加法操作。拿字符在计算机中底层存储对应的数据值来参与运算的。
 * 		'0'		48
 * 		'a'		97
 * 		'A'		65
 * 字符串参与加法操作。
 * 		这里的+其实不是加法,而是字符串连接符。
 */
public class OperatorDemo3 {
	public static void main(String[] args) {
		// 整数加法
		int a = 10;
		int b = 20;
		System.out.println(a + b);
		System.out.println("------------------");

		// 字符参与加法操作
		char c = '0';
		char c2 = 'a';
		System.out.println(a + c);
		System.out.println(a + c2);
		System.out.println("------------------");

		// 字符串参与加法操作
		System.out.println("hello" + a);
		System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接
		System.out.println(a + b + "hello");
	}
}
    *算术运算符++和--的用法

        *++,--运算符:对变量做加1或者减1的操作.

        *++或者--既可以放在变量的后面也可以放在变量的前面(单独使用的时候,无论在前还是在后,结果都是一样的)

        *如果++或者--在变量的后面,先操作变量后++后者--

        *如果在前面就是先进行运算后操作

      *案例
public class OperatorDemo4 {
	public static void main(String[] args) {
		int a = 10;
		System.out.println("a:" + a);

		// 单独使用
		// a++;
		// ++a;
		// System.out.println("a:" + a);

		// 参与操作使用
		// int b = a++;
		int b = ++a;
		System.out.println("a:" + a);
		System.out.println("b:" + b);
	}
}

    2.赋值运算符

        *赋值运算符分类

            *基本的赋值运算符: =

            *扩展的赋值运算符: +=,-=,*=,/=,%=

            *+=: a+=20;相当于a=(a的数据类型)(a+20);

            *案例

package com.text;
/*
 * 赋值运算符:
 * 		A:基本	=
 * 		B:扩展	+=,-=,*=,...
 * 
 * +=:
 * 		a+=20;
 * 		相当于
 * 		a = (a的数据类型)(a + 20);
 */
public class OperatorDemo {
	public static void main(String[] args) {
		// 把10赋值给int类型的变量a
		int a = 10;

		// += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
		a += 10;// 相当于a = a + 10
		System.out.println("a:" + a);
		System.out.println("----------------------");

		short s = 10;
		// s += 20; // 相当于 s = s + 20;
		s = (short) (s + 20);
		System.out.println("s:" + s);
	}
}
3.关系运算符

    *基本使用及注意事项

      *关系运算符包含一下内容

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

            *关系运算符的结果都是Boolean类型,也就是true或false

      *案例

package com.text;

/*
 * 关系运算符:
 * 		==,!=,>,>=,<,<=
 * 		关系运算符的结果是boolean类型。
 * 
 * 注意:
 * 		千万不要把==写成=
 */
public class OperatorDemo {
	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		int c = 10;

		System.out.println(a == b);
		System.out.println(a == c);
		System.out.println("-----------------");
		System.out.println(a != b);
		System.out.println(a != c);
		System.out.println("-----------------");
		System.out.println(a > b);
		System.out.println(a > c);
		System.out.println("-----------------");
		System.out.println(a >= b);
		System.out.println(a >= c);
		System.out.println("-----------------");

		int x = 3;
		int y = 4;
		// System.out.println(x == y);
		// System.out.println(x = y);// 把y赋值给x,把x的值输出
		boolean bb = (x == y);
		// 报错
		// boolean cc = (x = y);
		int cc = (x = y);
	}
}
4.逻辑运算符

    *逻辑运算符概述

        *逻辑运算符有哪些

                * &,|,!,^,&&,||

        *逻辑运算符一般用于连接Boolean类型的表达式或值

        *&逻辑与:一方为false则都为false

        *|逻辑或:一方为true则都为true

        *^逻辑异或:相同的对比结果为false.不同为true

        *!逻辑非:取反值

        *案例
package com.text_01;
/*
 * 逻辑运算符:用于连接关系表达式。
 * &,|,^,!
 * &&,||
 * 
 * 与:&	有false则false
 * 或:|	有true则true
 * 异或:^ 相同则false,不同则true。(男女朋友)
 * 非:!	true则false,false则true
 */
public class OperatorDemo {
	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		int c = 30;

		System.out.println((a > b) & (a > c));// false & false
		System.out.println((a < b) & (a > c)); // true & false
		System.out.println((a > b) & (a < c)); // false & true
		System.out.println((a < b) & (a < c)); // true & true
		System.out.println("---------------");
		System.out.println((a > b) | (a > c));// false | false
		System.out.println((a < b) | (a > c)); // true | false
		System.out.println((a > b) | (a < c)); // false | true
		System.out.println((a < b) | (a < c)); // true | true
		System.out.println("---------------");
		System.out.println((a > b) ^ (a > c));// false ^ false
		System.out.println((a < b) ^ (a > c)); // true ^ false
		System.out.println((a > b) ^ (a < c)); // false ^ true
		System.out.println((a < b) ^ (a < c)); // true ^ true
		System.out.println("---------------");
		System.out.println((a > b)); // false
		System.out.println(!(a > b)); // !false
		System.out.println(!!(a > b)); // !!false
	}
}

    *&&和&的区别

        *最终结果一样

        *&&具有短路效果,左边为false是右边不执行

    *||和|的区别

        *最终结果一样

        *||具有短路效果,左边是true右边不执行

        *案例
package com.text;

/*
 * &&和&的结果一样
 * ||和|的结果一样
 * 
 * &&和&的区别:
 * 		&&如果左边是false,右边不执行。
 * 		&无论左边是true还是false,右边都会执行。
 */
public class OperatorDemo2 {
	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		int c = 30;

		System.out.println((a > b) && (a > c));// false && false
		System.out.println((a < b) && (a > c)); // true && false
		System.out.println((a > b) && (a < c)); // false && true
		System.out.println((a < b) && (a < c)); // true && true
		System.out.println("---------------");
		System.out.println((a > b) || (a > c));// false || false
		System.out.println((a < b) || (a > c)); // true || false
		System.out.println((a > b) || (a < c)); // false || true
		System.out.println((a < b) || (a < c)); // true || true
		System.out.println("---------------");

		int x = 3;
		int y = 4;
		// System.out.println((x++ > 4) & (y++ > 5)); // false & false
		System.out.println((x++ > 4) && (y++ > 5)); // false && false
		System.out.println("x:" + x);
		System.out.println("y:" + y);
	}
}

5.三元运算符

    *三元运算符概述

        *格式:(关系表达式)?表达式1:表达式2;

            *如果条件为true,执行表达式1,反之执行表达式2

        *案例

package com.itheima_05;
/*
 * 三元运算符:
 * 
 * 格式:
 * 		(关系表达式)?表达式1:表达式2;
 * 执行流程:
 * 		A:计算关系表达式的值,看是true还是false
 * 		B:如果是true,表达式1就是运算结果
 * 		      如果是false,表达式2就是运算结果
 */
public class OperatorDemo {
	public static void main(String[] args) {
		int a = 10;
		int b = 20;

		int c = (a > b) ? a : b;
		System.out.println("c:" + c);
	}
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值