JAVA语言之Java复习(3)运算符和表达式
小标 2019-02-18 来源 : 阅读 822 评论 0

摘要:本文主要向大家介绍了JAVA语言之Java复习(3)运算符和表达式,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之Java复习(3)运算符和表达式,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之Java复习(3)运算符和表达式

运算符主要是指进行特定操作的符号。如:+。  
表达式是指用运算符连接起来的式子叫做表达式。如:20+5,a+b。  
Java世界中运算符主要分为以下几类:算术运算符、赋值运算符、比较运算符、逻辑运算符和三元运算符。  
一、 算术运算符  
加(+):四则运算的加法  
减(-):四则运算的剑法  
乘(*):四则运算的乘法  
除(/):四则运算的除法  
取模(%):常说的求余数  
注意事项:  



  1. 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。


  2. 只有对于整数的除法来说,取模运算才有余数的意义。


  3. 在进行运算时,首先计算得到表达式的结果,然后在进行后续操作。


  4. 四则运算的加号对于char类型来说,在计算之前,char类型会被提升为int类型,然后在进行计算。



  5. 对于字符串String类型来说,加号代表字符串连接操作。并且任何数据类型和字符串进行连接操作,结果都会变成字符串。 
    可以看一下代码示例:


    public class TestOperator {
    public static void main(String[] args){
        //两个常量之间的数学运算
        System.out.println(20+30);
        //两个变量之间的数学运算
        int a = 20;
        int b = 5;
        System.out.println(a-b);
        //并且变量和常量之间可以混合使用
        System.out.println(a*10);

        int x = 10;
        int y = 3;
        //因为x和y都是整数,除数的结果也是整数。所以结果会进行截断。
        int result1 = x/y;
        System.out.println(result1);

        int result2 = x%y;
        System.out.println(result2);
        //浮点数也可以进行运算
        double result3 = x + 2.5;
        System.out.println(result3);
    }
    }


    算术运算符还有两种特殊的运算符,就是自增运算符(++)、自减运算符(--)。  
    基本含义:  
    自增运算符让变量的值增加1,自减运算符是让变量的值减1。  
    使用格式:  
    写在变量名称前,或者写在变量名称之后。如:++num或num++。  
    使用方式:  



  6. 单独使用:不和其他任何操作混合,自己独立称为一个步骤。


  7. 混合使用: 和其他操作混合,例如与赋值混合,或者与打印操作混合等。
    两种使用方式区别:


  8. 在单独使用的时候,前++和后++没有任何区别。也就是说++num和num++结果是完全一样的。



  9. 在混合使用的时候,有重大区别:  
    A. 如果是前++,那么变量马上加1,然后拿着结果进行使用。可以称作,先加后用。  
    B. 如果是后++,那么首先使用变量本来的数值,然后在让变量加1,可以称作,先用后加。  
    注意事项:  
    只有变量才能使用自增、自减运算符,常量不可用。  
    请看以下示例:


    public class TestPlus {
    public static void main(String[] args) {
        //字符串类型的变量基本使用
        //数据类型 变量名称 = 数据值;
        String str1 = "Hello";
        System.out.println(str1);
        System.out.println("Hello" + "World");

        String str2 = "Java";
        System.out.println(str2 + 20);

        //优先级问题
        System.out.println(str2 + 20 + 30);

        //自增自减
        int num1 = 10;
        System.out.println(num1);
        ++num1;//单独使用,前++
        System.out.println(num1);
        num1++;//单独使用,后++
        System.out.println(num1);

        int num2 = 20;
        //混合使用,前++,变量马上变为21,然后打印输出
        System.out.println(++num2);
        System.out.println(num2);

        int num3 = 30;
        //混合使用,后++,先使用变量原值30,打印输出,然后变量加1,变为31.
        System.out.println(num3++);
        System.out.println(num3);

        int num4 = 40;
        //混合使用,前--,变量马上变为39,然后赋值result1
        int result1 = --num4;
        System.out.println(result1);
        System.out.println(num4);

        int num5 =50;
        //混合使用,后--,先使用变量原值50,赋值result2,然后变量减1,变为49.
        int result2 = num5--;
        System.out.println(result2);
        System.out.println(num5);

        int x = 10;
        int y = 20;
        int result3 = ++x + y--;
        System.out.println(result3);
        System.out.println(x);
        System.out.println(y);
    }
    }


    二、 赋值运算符  
    赋值运算符分为两种:  
    一是基本赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量。  
    二是复合赋值运算符:  
    +=: 例如 a += 1 相当于 a = a + 1  
    -=:  例如 b -= 4 相当于 b = b - 4  
    =:  例如 c = 5 相当于 c = c * 5  
    /=:  例如 d /= 6 相当于 d = d / 6  
    %=:  例如 e %= 7 相当于 e = e % 7  
    注意事项:



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



  11. 复合赋值运算符其中隐含了一个强制类型转换。
    请看示例:


    public class TestEqual{
    public static void main(String[] args) {
        int a = 10;
        a += 5;
        System.out.println(a);

        int x = 10;
        x %= 3;
        System.out.println(x);

        byte num = 30;
        //num += 5 相当于 num = num +5;
        //也就是byte = byte + int;
        //右边表达式会先把byte自动转换称为int,最后进行强制转换成byte.
        //所以复合赋值运算符帮我们做了一个强制类型转换
        num += 5;
        System.out.println(num);
    }
    }


    三、 比较运算符  
    == 比较符号两边数据是否相等,相等结果就是true。  
    <  比较符号左边的数据是否小于右边的数据,如果小于,结果就是true。



    比较符号左边的数据是否大于右边的数据,如果大于,结果就是true。  
    <= 比较符号左边的数据是否小于等于右边的数据,如果小于等于,结果就是true  
    = 比较符号左边的数据是否大于等于右边的数据,如果大于等于,结果就是true。
    != 比较符号两边数据是否相等,不相等结果就是true。 





注意事项:



  1. 比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false。


  2. 如果进行多次判断,不能连着写。  

    public class TestCompare {
    public static void main(String[] args) {
        System.out.println(10>5);
        iint num1 = 10;
        int num2 = 15;
        System.out.println(num1 < num2);
        System.out.println(num1 >= 30);
        System.out.println(num2 <= 50);
        System.out.println(num2 <= 15);
        System.out.println(num2 == 15);
        System.out.println(num1 != 15);
        //java不支持连着进行比较,可以使用下节的逻辑比较符进行。
        //System.out.println(4 < num1 < 20);
    }
    }


    四、 逻辑运算符  
    与 &&  全都是true,才是true; 否则就是false  
    或 ||  至少一个是true, 就是true; 全都是false,才是false  
    非 !  本来是true,变成false;本来是false,变成true。  



注意事项:



  1. 逻辑运算符只能用于Boolean值。


  2. 与、或需要左右各自有一个Boolean值,但是取反只要有唯一的一个Boolean值即可。  


  3. 与、或两种运算符,如果有多个条件,可以连续写。


  4. 与、或具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省性能。  
    五、 三元运算符  
    Java中根据数据的多少可以分为:
    一元运算符: 只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减--  
    二元运算符: 需要两个数据才可以进行操作的运算符。例如:加减乘除  
    三元运算符: 需要三个数据才可以进行操作的运算符。



格式: 数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B  
流程:  
首先判断条件是否成立:  
如果成立为true,那么将表达式A的值赋给左侧的变量  
如果不成立为false,那么将表达式B的值赋给左侧的变量


注意事项:



  1. 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。



  2. 三元运算符的结果必须被使用。


    public class TestThreeVar {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int max;
        //判断a>b是否成立,如果成立将a的值赋给max,如果不成立将b的值赋给max.
        max = a > b ? a : b;
        System.out.println(max);

        //两个表达式的值必须同时符合左侧数据类型的要求。
        //int result = 3 > 4 ? 2.4 : true;

        //并且三元表达式不能直接使用
        //a > b ? a : b 
    }
    }



   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程