zoukankan      html  css  js  c++  java
  • 小康陪你学JAVA--------运算符及表达式的类型转换

    下面列出了各个运算符的优先级的排列,数字越小的表示优先级越高。

        Java还有一些相当简洁的写法,是将算术运算符和赋值运算符结合成为新的运算符,下面列出了这些运算符。

                                      

           当int类型遇上了float类型,到底谁是“赢家”呢?在前面曾提到过数据类型的转换,在这里,要再一次详细讨论表达式的类型转换。

           Java是一个很有弹性的程序设计语言,当上述的情况发生时,只要坚持“以不流失数据为前提”的大原则,即可做不同的类型转换,使不同类型的数据、表达式都能继续存储。依照大原则,当Java发现程序的表达式中有类型不相符的情况时,会依据下列的规则来处理类型的转换。

    1、 占用字节较少的类型转换成占用字节较多的类型。

    2、 字符类型会转换成 int 类型。

    3、 int 类型会转换成 float 类型。

    4、 表达式中若某个操作数的类型为 double,则另一个操作数字也会转换成 double

    类型。

    5、 布尔类型不能转换成其它类型。

    01 // 下面的程序说明了表达式类型的自动转换问题

    02 public class TestJava3_22

    03 {

    04    public static void main(String[] args)

    05  {

    06       char ch = 'a' ;

    07       short a = -2 ;

    08       int b = 3 ;

    09   float f = 5.3f ;

    10       double d = 6.28 ;

    11

    12       System.out.print("(ch / a) - (d / f) - (a + b) = ");

    13       System.out.println((ch / a) - (d / f) - (a + b));

    14  }

    15 }

    输出结果:

    (ch / a) - (d / f) - (a + b) = -50.18490561773532

    先别急着看结果,在程序运行之前可先思考一下,这个复杂的表达式(ch / a)- (d / f) – (b + a)最后的输出类型是什么?它又是如何将不同的数据类型转换成相同的呢?下面是对该程序的执行结构分析:

                                                               

  • 相关阅读:
    memcached客户端memadmin安装使用
    git之一: 在windows下安装git和使用总结
    nginx常用命令
    mysql授权 REVOKE 添加用户等
    mysql密码忘记解决
    个人常用alias
    解决zabbix图形界面中文乱码
    JsonPath的使用
    Httpclient 支持https(转)
    字符串拼接‘+’实现
  • 原文地址:https://www.cnblogs.com/kangshow/p/3884858.html
Copyright © 2011-2022 走看看