java运算符

本文详细介绍了Java中的算数运算符、赋值运算符、关系运算符和逻辑运算符的使用规则,包括自动类型提升、三目运算符以及位运算符的概念。特别强调了在运算过程中数据类型的转换和精度问题,以及Scanner类在输入处理中的应用。同时,提到了字符串拼接的特性和三目运算符的语法结构及其返回值规则。
摘要由CSDN通过智能技术生成

一.算数运算符:+、-、*、/、%、++、--

1.知识点:基本使用

1.++a:先自增1,再使用,a++:先使用,再自增1

2.——,减1,原理与++一致

2.知识点:深入算数运算符

//案例一:byte做运算,会自动向上转型成int类型再做运算

//案例2:short做运算,会自动向上转型成int类型再做运算 ​ //案例3:除了byte和short类型,其余的数值型做运算会向上转型成取值范围大的类型再做运算 ​ //案例4:浮点型做运算有可能会失去精度,在工作用浮点数做运算都用BigDecimal去操作 ​ //案例5:char类型做运算,会获取字符的ASCII ​ //案例6:分号代表一条执行语句的结束,不管先加还是后加都得加,所有i++;和++i;是没有区别的

3.赋值运算符:=、+=、-=、 *=、/= 、 %=

注意: 1.short类型的变量s与int类型的数字字面量(如1)做运用的结果为int类型的数据,赋值给short类型的变量s会报错

4.关系运算符:==、!=、>、>=、<、<=

总结: 1.关系运算符的结果都是boolean类型,true或者 false 2.不要将==用成=

3.boolean不能与其他类型兼容

5.逻辑运算符:

&与, &&短路与,|或, ||短路或,^异或,!非

1.//&与:前后两者都接boolean值 //两个条件都成立(true),结果才为true

  1. /&&短路与:前后两者都接boolean值 //两个条件都成立(true),结果才为true

  2. //& :判断前者为false后,还会判断后者 //&&:判断前者为false后,不会判断后者,所以效率更高

  3. //|或:前后两者都接boolean值 //两个条件有一个成立(true),结果就为true

  4. //||短路或:前后两者都接boolean值 //两个条件有一个成立(true),结果就为true

  5. //| :判断前者为true后,还会判断后者 //||:判断前者为true后,不会判断后者,所以效率更高

  6. //^异或:前后两者都接boolean值 //两个条件相同为false,不同为true

  7. //!非:置反,true变成false,false变成true

  8. 总计: 1.逻辑运算符运行结果都是boolean类型 2.&、&&、|、||、^ 两侧都是boolean类型数据

    4.学习Scanner的使用

    1.导包:import java.util.Scanner

    //1.创建Scanner类的对象 Scanner scan = new Scanner(System.in); //2.输入数据 int i = scan.nextInt();//输入int数据 double d = scan.nextDouble();//输入double数据 String str = scan.next();//输入字符串

5.知识点:字符串拼接 +

    +两侧都是数值:此符号为算数运算符
    +有一侧是字符串或者两侧都是字符串:此符号为字符串拼接符    

6.知识点:三目运算符的基本使用及表达式

1.表达式含义: 5+6:算数表达式 5>6:关系表达式 true&&true:逻辑表达式

2.三目运算符/三元运算符

        语法结构:
            数据类型 变量 = (表达式)?值1:值2;
        理解:
            表达式结果必须是boolean类型
                true - 将值1赋值给变量
                false- 将值2赋值给变量

返回值规则: 1.值1和值2都是常量的情况,返回值的类型为取值范围大类型 2.值1和值2都是变量的情况,返回值的类型为取值范围大类型 3.值1和值2有一个是常量有一个是变量的情况: 常量是否在变量所属类型的取值范围里 在 - 就按照变量所属类型返回数据 不在- 就按照常量所属类型返回数据

7.知识点:位运算符 & | ^ << >> >>>

        概念:将十进制的数据转换为二进制再做运算

1.//&与:同位比较,两者为1,结果才为1

2.//|或:同位比较,两者有1,结果就为1

3.//^异或:同位比较,两者相同为0,不同为1

注意:& | ^ : 前后两者都是boolean值,该符号为逻辑运算符 & | ^ : 前后两者都是数值,该符号为位运算符

  1. //<<左移:整体向左移动n位,用n个0补位

  2. //>>右移:整体向右移动n位,用n个符号位补位

  3. //>>>无符号位右移:整体向右移动n位,用n个0补位 //注意:无符号位右移操作是正数跟右移没有区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值