码迷,mamicode.com
首页 > 编程语言 > 详细

java===java基础学习(3)---数据类型转换,运算符级别,枚举类型

时间:2018-02-27 15:02:51      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:结果   color   枚举类   int   static   sof   http   运算符   ack   

数据类型转换:

有的时候,程序需要将数据类型,比如 int + float ,结果是float, 这里的int就被转换为float类型,属于合法转换。

Java中的合法转换如下图:

技术分享图片

红色表示无信息丢失的转换,橙色表示可能有进度损失的转换。

package testbotoo;

public class shuzhileixingzhuanhuan {
    
    public static void main(String[] args){
        
        int n = 123456789;
        float f = n;        //int类型转换为float类型
        System.out.println(f);

        //强制类型转换
        double x = 9.9997;
        int nx = (int) x ; //强转操作,这样就能截断小数部分 nx = 9
        
        //当然我们也可以进行舍入运算,用到的是Math.round()方法
        double x1 = 9.9997;
        int nx1 = (int) Math.round(x1);
        System.out.println(nx1);
        
        //运算级别
        a && b || c 等价于  (a && b) || c
        a += b += c 等价于   a += (b += c)
        运算级别如下图所示:
        

        
    }

}

转换规则:

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

                                      摘自:《java核心技术》3.5.5

强制换换:

double x = 9.9997;
int nx = (int) x ; //强转操作,这样就能截断小数部分 nx = 9
        
//当然我们也可以进行舍入运算,用到的是Math.round()方法
double x1 = 9.9997;
int nx1 = (int) Math.round(x1);
System.out.println(nx1);

 

运算符的级别:

        a && b || c 等价于  (a && b) || c
        a += b += c 等价于   a += (b += c)

 如下图所示:

技术分享图片

 

 

 

 

 

 

java===java基础学习(3)---数据类型转换,运算符级别,枚举类型

标签:结果   color   枚举类   int   static   sof   http   运算符   ack   

原文地址:https://www.cnblogs.com/botoo/p/8478568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!