• Java中运算符一些注意事项


    我们都说知识是连贯的,第一章博客阿涛教了兄弟们安装合适的软件和Java开发者工具,并且把我们Java中整个程序真正跑起来给兄弟们看了;第二章博客阿涛给兄弟们说了数据类型与变量,就是把我们Java中的基点交给了大家,那么今天这节课我就打算教给大家如何把我们Java中的数据交互起来,这需要用到我们的运算符的我知识!


    那么运算符运算符,顾名思义,我们们进行运算的符号。运算符可不仅仅局限于加减乘除哦~~我们来讲几个特别的点!

    %符号

            System.out.println(1.1%5);
            System.out.println(-10%3);
            System.out.println(10%-3);
    
    • 1
    • 2
    • 3

    对于这三行代码,相信刚刚学完C语言的兄弟们一定是一脸那啥哈!就我们现在观察到的,% 符号的操作数是可以是小数以及负数的,那么具体的结果是什么呢?
    在这里插入图片描述
    我给兄弟们的建议是,不要试图心算,我们的数学能力并没有我们想象中的那么高超,不妨拿出纸笔,就像整数的除法那样子,我们就来算上一算!!

    关系运算符

    1.== 2.!= 3.< 4.> 5.<= 6. >=
    我们的关系运算符就是这六个了,需要特别注意的是,凡是我们关系运算符算下来的结果都是Boolean类型的,关系式为真是true,反之为false。
    在这里插入图片描述
    兄弟们觉着这行代码为什么会报错呢!
    因为我们讲的,关系运算下来的结果是一个Boolen类型的,前面的3<5算下来其实就是一个true了,请问true何德何能能够与6比较大小呢?

    逻辑运算符的短路

    逻辑运算符总共有三个:
    1.&& 2.|| 3.!
    具体的用法和C语言中的用法一摸一样,我们主要讲的是一些需要特别注意的地方,就比如这里的短路现象!
    在这里插入图片描述
    注意看这张图:程序下面一片红说明大概率是我们的代码出现问题了……
    这种情况下兄弟们千万不要慌张,从某种意义上,程序爆红是一件好事,如果编译器自己蔫坏,明明知道你错了,还不告诉你,那才是最要命的事情吧……
    一处是我们的错误类型,这里就是算术错误;二处是Ideal自己给我们的一个错误原因,除上了一个零;三处是指明了我们发生错误的行数!
    很明显,编译器就是想告诉你,0是不可以被用来作为除数的!
    在这里插入图片描述
    那么这一行是一个什么情况?双标的Ideal?明知道发生了错误也不告诉我们?
    其实并不是的,这里是因为我们使用了***&&*** 这个符号,这个符号表示只有左右两个布尔表达式同时为真,这个整体才会为真,那么这里我们可以看到,通过第一个布尔表达式已经可以判断出我们if后面的真假了,这就像你明明知道无论你做什么,你们两个人都是不可能的了,你还会做出下一步吗?也许我会,但是我们的编译器不会!
    同样的道理对于***||*** 来说,只要能判断出第一个布尔表达式为真,那么我们就不会进行下一步的判断了!

    你知道>>和<<,那你知道>>>和<<<吗?

    这些你看到了箭头其实就是我们的位操作符,这里的位就是我们常说的二进制位,具体的运算方法,我们在C语言里面有详细的讲解,这里不浪费大家的时间!
    那么对于>>>表示的是无符号右移,也就是说,高位不管符号位,全部补零;那这个呢<<<,无符号左移?哈哈,左移了,最高位又不是没有数字顶替了,哪里会有什么无符号左移一说呢?注意啊,是没有<<<的!!!

    运算符的优先级

    这里我可以去百度给兄弟们复制粘贴一张很漂亮的图片,但是没有必要!!
    对于运算符的优先级,其实我们并没有必要去死记硬背,我们完全可以根据我们自己的需求,再合适的地方加上( ),这不方便吗?

    好了,那么这一章节我觉得重要的几个点都给兄弟们说过了,其实我觉得这样的博客的效率会大大提高,无论对于我自己,还是对于读者来说,都是一种解脱吧!
    百年大道,你我共勉!

  • 相关阅读:
    Android Studio编译旧的app代码错误及解决方法
    【控制原理】使用C语言模拟simulink算法仿真
    jsonschema脚本测试
    Python完整教程
    逆强化学习
    STM32cubeMX配置FreeRTOS-51、USB-U盘读写
    初步了解nodejs语法和web模块
    kafka broker
    介绍 PIL+IPython.display+mtcnn for 音视频读取、标注
    深入理解 Java 泛型
  • 原文地址:https://blog.csdn.net/Ricardo_M_CYT/article/details/127762265