0基础学习Java(干货2)

运算符

一,概述

-运算:对常量和变量进行操作的过程就叫运算

-运算符:对常量和变量进行操作时的符号就是运算符

二,运算符的分类:

-算术运算符

-赋值运算符

-比较运算符

-逻辑运算符

-位运算符

-三元运算符

1.算术运算符

-注意:

整数相除只能得到整数
如果我想要得到小数怎么办?就要把数据变成浮点数
/获取除法操作的是商   %获取的是除法操作的余数
+ - * / %  
//定义变量
    int a = 50;//是把50赋值给了int类型的变量a
    int b = 6;
    
    System.out.println(a+b);
    System.out.println(a-b);
    System.out.println(a*b);
    System.out.println(a/b);//0
    //System.out.println((double)(b/a));//1
    System.out.println(b*1.0/a);
    System.out.println(a%b);//拿的是余数
    
 ++ --   
 //定义变量
    int x = 3;
    int y = 4;
    System.out.println("x="+x+",y="+y);
    int a = ++x;
    int b = --y;
    System.out.println("x="+x+",y="+y);
    System.out.println("a="+a+",b="+b);

2.赋值运算符

=       +=       -=      *=      /=       %=

=:基本的运算符,把=右边的数据赋值给左边的变量

其他都是扩展运算符,把=左边和右边做运算,然后把结果赋值给左边

3.比较运算符(关系运算符)

==
!=
< 
>
<=
>=
instanceof  判断是否是类的对象的

-特点:不管我们的操作简单还是复杂,结果必是boolean类型

4.逻辑运算符

&    与and
|    或or
^    异或
!   非 not
&&   and与
||    or或

-逻辑运算符是用来连接boolean类型表达式或者值

举例:     18<age<30        age>18 && age<30

-表达式:就是用运算符把常量后者变量连接起来符号java语法规则的式子

算术表达式  i+j
    比较表单时   i==j

结论:

&:逻辑与:有假则假

|:逻辑或:有真则真

^:逻辑异或:相同为假,不同为真

!:逻辑非:非真则假,非假则真,偶数个本身不改变。

&&:逻辑双与:有假则假

||:逻辑双或:有真则真,结论和单与 单或的结论一样

(&  和 && 的区别:
最终的结果是一样的
&& 具有短路效果,左边是false的时候,右边不再执行
单与:左边不管真假,右边都会执行
双与:左边为真,右边执行,左边为假,右边不执行了

同理|和||
单或:无论左边真假,右边都会执行
双或:左边为假,右边执行,左边为真,右边不执行了。
开发常用  &&   ||)

5.位运算符

<<左移
>> 右移
>>> 无符号右移
&  位于运算符
|  位或运算符
^  位异或运算符
~  反码运算符

-注意:位运算符是直接对二进制进行运算的符号

-要做位运算,先要把数据转成二进制。

6.三元运算符

-格式:

关系(比较表达式)?表达式一:表达式二;

-流程:

如果关系表达式的结果是真,最后计算的结果是表达式一
如果关系表达式的结果是假,最后计算的结果是表达式二

eg:

获取3个数中的最大值

public static void main(String[] args){
    //定义一个变量
    int a = 55;
    int b = 66;
    int c = 88;
    
    //分2步:先比较a和b,拿到较大的
    //再拿a和b中较大的和c比
    int temp = a>b?a:b;
    System.out.println(temp);
    int max = temp>c?temp:c;
    System.out.println(max);
    
    //一步搞定
    //int max2 = a>b?a>c?a:c:b>c?b:c;
    int max2 = (a>b)?((a>c)?a:c):((b>c)?b:c);
    System.out.println(max2);
}

原文 

https://segmentfault.com/a/1190000023119463

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 0基础学习Java(干货2)

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址