(三)Java基础语法之运算符

(1)算术运算符(加减乘此处省略)

①除号/:如下面代码所示,要想使除运算结果为小数,则参与除运算的两个数必须至少有一个为小数,例如下面的result5:num2先与0.0做加法运算自动提升类型为double型,再进行除运算,结果输出为double型,保留了小数部分。

int num1=12;

int num2=5;

int result1=num1/num2;

System.out.println(result1);//2

int result2=num1/num2*num2;

System.out.println(result3);//10

double result3=num1/num2;

System.out.println(result3);//2.0

double result4=num1/num2+0.0;

System.out.println(result4);//2.0

double result5=num/(num2+0.0);

System.out.println(result5);//2.4

②除模取余运算 %:结果的符号与被模数(%符号前的数字)的符号相同;经常用来判断能否被除尽的情况。

如果对负数取模,可以把模数所带的负号忽略不计,如5%-2=1。但被模数是负数时不可忽略。

③(前)++:先自增1,后运算

(后)++:先运算,后自增1

注意:自增不会改变本身变量的数据类型

(2)赋值运算

① = :可以连续赋值

②+=、-=不会改变变量本身的数据类型

    例1:

short s1=10;
s1=s1+1;//编译失败,因为s1+1为整型,不能赋给short型
s1+=1;//编译成功,因为+=不会改变变量自身的数据类型 

 例2:

int i=1;
i *=0.1;
System.out.println(i);//0;i依然是整型,不保留小数部分
i++;
System.out.println(i);//1

(3)比较运算符

比较运算符包含:==、!=、>、<、>=、<=、instanceof

比较运算符的结果是boolean类型;并要注意==和=的区别。

(4)逻辑运算符

逻辑运算的结果是boolean型变量。

①逻辑(&)与短路与(&&)的异同:

        相同点:二者都为且的关系,当运算符左边为true时,运算符左右两边的表达式都执行。

        不同点:当运算符左边为false时,&&运算符右边表达式不再执行。

②短路或(||):符号前面是真,符号后面的运算不再执行。

(5)位运算符

位运算符时直接对整数的二进制进行的运算。

位运算符

运算符 运算 范例 << 左移 3<<2=12-->3*2*2=12 >> 右移 3>>1=1-->3/2=1 >>> 无符号右移 3>>>1=1-->3/2=1 & 与运算 6&3=2 | 或运算 6|3=7 ^ 异或运算 6^3=5 ~ 取反运算 ~6=-7

结论:1、位运算符操作的都是整型的数据

           2、<<:在一定范围内,每向左移1位,相当于*2

                >>:在一定范围内,每向右移1位,相当于/2

          3.左移都补0,右移原来是负补1,是正补0

(6)三目运算符

结构:(条件表达式)?表达式1:表达式2;

说明:①条件表达式的结果为boolean类型;

           ②如果表达式为true,则执行表达式1;如果表达式为false,则执行表达式2;

           ③表达式1和表达式2为同种类型,要求一致;

           ④三元运算符可以嵌套使用。

三元运算符和if-else的联系与区别:

①三元运算符可简化if-else语句 

②三元运算符要求必须返回一个结果

③if后的代码块可有多个语句

另外,凡是可以使用三元运算符的地方,都可以改写为if-else语句,反之不成立;如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符,因为简洁、执行效率高。

最后,对于运算符的优先级问题,可以不用特意去记,可以自行给想要优先运算的地方加小括号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值