博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java数据类型 及 转换原则
阅读量:5108 次
发布时间:2019-06-13

本文共 1364 字,大约阅读时间需要 4 分钟。

一、数据类型分类:主要分为 基本类型、引用类型两大类;

 

二、基本类型 转换原则 

1、类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。

  a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:
  (1)布尔型和其它基本数据类型之间不能相互转换; 
  (2)byte型可以转换为short、int、、long、float和double; 
  (3)short可转换为int、long、float和double; 
  (4)char可转换为int、long、float和double; 
  (5)int可转换为long、float和double; 
  (6)long可转换为float和double; 
  (7)float可转换为double; 

   另外还有是直接数的赋值:先通过直接数判断其类型,然后基本原则和上面谈到的赋值原则基本一致;只是直接数是整数时特殊一点,当在可表示范围内时,可以直接赋值给 byte short char三种类型;

  

 

 

b、算术运算 中的类型转换:1 基本就是先转换为高位数据类型,再参加运算,结果也是最高位的数据类型;2 byte short char运算会转换为Int;

(1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。 

(2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。 

(3)如两操作数均不为double或float,当操作数之一为long,、则另一操作数先被转换为long,再参与算术运算。 

(4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。

特殊: 

(1)如采用+=、*=等缩略形式的运算符,系统会自动强制将运算结果转换为目标变量的类型。

  (2)  当运算符为自动递增运算符(++)或自动递减运算符(--)时,如果操作数为byte,short或char类型不发生改变;

 

三、引用类型 转换原则

  1、基本类型 与 对应包装类 可自动转换,这是自动装箱和折箱的原理;    

Integer c1 = new Integer(1);        Integer c2 = 2;        int cc = new Integer(3);        //另:String 与 基本类型的互转        int i = Integer.parseInt("13");        int ii = Integer.valueOf("12");        String s1 = String.valueOf(123);        String s2 = Integer.toString(i);        String s3 = "" + i;

  2、两个引用类型间转换:

    1、子类能直接转换为父类 或 接口类型;

    2、父类转换为子类要 强制类型转换;且在运行时若实际不是对应的对象,会抛出ClassCastException运行时异常;

  

转载于:https://www.cnblogs.com/mzzcy/p/7052663.html

你可能感兴趣的文章
基于node/mongo的App Docker化测试环境搭建
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
Activiti入门 -- 环境搭建和核心API简介
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>