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

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

一、常量的数据类型

  整型默认为int

  若为长整型,则要在末尾加L;例如25L

  浮点型默认为double

  若为单精度浮点型float,则要在后面加F;例如2.36F

二、变量数据类型之间的转换

  1、自动转换

    当数据类型不一样时,会发生数据类型转换

    规则:数据范围从小到大

    特点:无需代码处理,自动完成

byte:       1个字节,数据范围是-128~127之间。

short:      2个字节,数据范围是-32768~32767之间。

int:          4个字节,数据范围是-231次方————+231-1。

long:       8个字节,数据范围为-263———263-1。

float:       4个字节,数据范围在-1.4x10-45——+3.4x1038

double:   8个字节,数据范围在-4.9x10-324——+1.8x10308

boolean: 1/8个字节只有true和false两个取值。

char:       字母数字占1个字节,中文占两个字节;存储Unicode码,用单引号赋值。

    例:float  num1 = 32L;//由上表可知float的数据范围比long大,可以完成自动类型转换

      byte  num2 = 2L;//由上表可知float的数据范围大比long小,不能完成自动类型转换

      int     num3 = 4;

      byte  num4 = 25;//特例:对于byte和short,只要“=”右边的常量没有超过左边数据类型的范围;可以转为对应的数据类型,不会报错

      short  num5 = 34;

      num4 = num3;   //因为num3属于变量,所以不能完成自动类型转换

      num5 = num2 + num5;//在计算过程中,byte,short,char会自动提升为int类型,无需代码完成,所有等号右边是int,左边为short,会报错

    计算过程中转换顺序:

      byte,short,char——>int——>long——>float——>double

  2、强制类型转换

    对于不能完成自动类型转换的数据要进行强制类型转换

    强制类型转换的格式为:数据类型 变量名 = (数据类型)被转数据值;

    例:改正上面红色部分

      byte  num2 = (byte)2L;

      num4 =(byte) num3;

      num5 =(short)(num2 + num5);

    注意事项:

      浮点转成整数,直接取消小数点,可能造成数据损失精度。

      int 强制转成 short 砍掉2个字节,可能造成数据丢失。

      浮点数转换为整数,小数部分会丢失。

 

转载于:https://www.cnblogs.com/haoyujun135/p/11269512.html

你可能感兴趣的文章
android permission
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
实验2-2
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
[置顶] Linux终端中使用上一命令减少键盘输入
查看>>
BootScrap
查看>>
Java实现二分查找
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>
03 线程池
查看>>
手机验证码执行流程
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
jquery的contains方法
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
桥接模式-Bridge(Java实现)
查看>>
303. Range Sum Query - Immutable
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>