• 零基础学Java(3)运算符


    运算符

    运算符用于连接值。Java提供了一组丰富的算术和逻辑运算符以及数学函数。
     

    算术运算符

    在Java中,使用算术运算符+、-、*、/表示加、减、乘、除运算。当参与/运算的两个操作数都是整数时,表示整数除法;否则,表示浮点除法。整数的求余操作用%表示。例如,15/2=7,15%2=1,15.0/2=7.5
    需要注意,整数被0除将虎产生一个异常,而浮点数被0除将会得到无穷大或NaN结果。
     

    数学函数与常量

    在Math类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函数也不同。
    要想计算一个数值的平方根,可以是一个sqrt方法

    highlighter- Java
    public class FirstSample {
        public static void main(String[] args) {
            double x = 4;
            double y = Math.sqrt(x);
            System.out.println(y);  // 打印结果2.0
        }
    }

    在Java中,没有幂运算,因此需要借助于Math类的pow方法

    highlighter- Python
    double y = Math.pow(x, a)

    将y的值设置为x的a次幂。pow方法有两个double类型的参数,其返回结果也为double类型
     

    数值类型之间的转换

    我们经常需要将一种数值类型转换为另一种数值类型。下图给出了数值类型之间的合法转换

    图中有6个实现箭头,表示无信息丢失的转换;另外有3个虚线箭头,表示可能有精度损失的转换。例如,123456789是一个大整数,它所包含的位数比float类型所能够表示的位数多。当将这个整数转换为float类型时,将会得到正确的大小,但是会损失一些精度。

    highlighter- Java
    public class FirstSample {
        public static void main(String[] args) {
            int n = 123456789;
            float f = n;
            System.out.println(f);
        }
    }

    输出结果

    highlighter-
    1.23456792E8

    当用一个二元运算符连接两个值时(例如n+f,n是整数,f是浮点数),先要将两个操作数转换为同一种类型,然后再进行计算。

    • 如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
    • 否则,如果其中一个操作数是float类型,另一个操作数将会转换为float类型。
    • 否则,如果其中一个操作数是long类型,另一个操作数将转换为long类型。
    • 否则,两个操作数都将被转换为int类型
       

    强制类型转换

    在Java中,允许进行这种数值之间的类型转换,当然,有可能会丢失一些信息。这种可能损失信息的转换要通过强制类型转换来完成。强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。例如:

    highlighter- Java
    double x = 8.997;
    int nx = (int) x;

    这样,变量nx的值为8,因为强制类型转换通过截断小数部分将浮点值转换为整型。
    如果想对浮点数进行舍入运算,以便得到最接近的整数(在很多情况下,这种操作更有用),那就需要使用Math.round方法:

    highlighter- Python
    double x = 8.997;
    int nx = (int) Math.round(x);

    现在,变量nx的值为10。当调用round的时候,仍然需要使用强制类型转换(int)。其原因是round方法返回的结果为long类型,由于存在信息丢失的可能性,所以只有使用显式的强制类型转换才能够将long类型转换成int类型。
     

    结合赋值和运算符

    可以在赋值中使用二元运算符,这是一种很方便的简写形式。例如

    highlighter-
    x += 4;

    等价于:

    highlighter-
    x = x + 4;

     

    自增与自减运算符

    程序员都知道加1,减1是数值变量最常见的操作。在Java中也有:n++将变量n的当前值加1,n--则将n的值减1.++在前会先完成加1;++在后会使用变量原来的值。
     

    关系和boolean运算符

    Java包含丰富的关系运算符

    • 相等使用两个等号==
    • 不相等使用!=
    • &&表示逻辑与运算符
    • ||表示逻辑或运算符

    注意:&&和||运算符,如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了

    最后,Java支持三元操作符?:,这个操作符很有用。如果条件为true,下面的表达式

    highlighter-
    condition? expression1: expression2

    就为第一个表达式的值,否则计算为第二个表达式的值。例如

    highlighter-
    x < y ? x: y

    会返回x和y中较小的一个。
     


    __EOF__

  • 本文作者: Silent丿丶黑羽
  • 本文链接: https://www.cnblogs.com/jiakecong/p/16409818.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    VulnHub DC-7
    蜂蜜什么时候喝,才可以获得蜂蜜更大的好处?真可以治疗咳嗽?
    计算机网络学习笔记-计算机网络体系结构专用术语
    LeetCode算法题解(回溯)|39. 组合总和、40. 组合总和 II、131. 分割回文串
    LLMs资源
    Cholesterol-PEG-Amine CLS-PEG-NH2 胆固醇-聚乙二醇-氨基科研用
    Cyanine5-COOH,Cy5 COOH荧光染料146368-11-8星戈瑞
    【593. 有效的正方形】
    SIT3491ISO具有隔离功能,256 节点,全双工 RS422/RS485 芯片
    基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)
  • 原文地址:https://www.cnblogs.com/jiakecong/p/16409818.html