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

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

    java是强类型语言,必须为每一个变量声明一种类型。

    一、共有8种基本类型:4种整型,2种浮点型,1种字符型,1种布尔类型。位(bit)是计算机最小单位,用0或1表示,也就是2进制。1个字节(byte)是8位。

    1. 整型:表示没有小数部分的数值,可以是负数。

类型 存储需求 取值范围
byte 1字节 -128~127
short 2字节 -32768~32767
int 4字节 -2147483648~2147483647(正好超过20亿)
long 8字节 -9223372036854775808~9223372036854775807

    通常情况下,int最常用。特殊情况下,例如地球上的居住人数,那就要使用long,要加后缀L(推荐)或者l。byte和short用于特定场合,例如底层文件处理

    2. 浮点类型:表示有小数部分的数值,可以是负数。不能出现正无穷大、负无穷大、NaN(不是一个数字)的情况。

类型 存储需求 取值范围
float 4字节 大约±3.40282347E+38F(有效位数为6~7位)
double 8字节 大约±1.79769313486231570E+308(有效位数为15位)

    double的数值精度是float的两倍,通常情况下都采用double。如果需要使用float类型,要加后缀F(推荐)或者f。没有后缀的浮点型数值,默认为double类型

    3. 字符型char:占2字节。表示单个字符,用单引号括起来,例如'A',但有些Unicode字符需要两个char值。在java中,char类型描述了UTF-16编码中的一个代码单元。不建议在程序中使用char类型,除非确实需要处理UTF-16代码单元。最好将String作为抽象数据类型。

    4. 布尔类型boolean:只有true(成立)和false(不成立)两个值,用来判断逻辑条件。

    二、相互间的转换

    b38e5aaaeb997677e194780ce1bdef1d56a5f10e

    以上都是小转大,属于自动转换,其中:实线箭头表示无精度损失的转换,虚线箭头表示可能有精度损失的转换。如果是大转小,需要强制类型转换,也有可能有精度损失。

int a = 10;  double b = 10.5;  /**   \* ①a从int类型自动转换为double类型   \* ②计算a+b   \* ③得到double类型的值   */  double num0 = a + b;  System.out.println(num0);// 输出20.5  /**   \* ①②③相同   \* ④double类型的值赋给int类型,强制类型转换。   */  int num1 = (int)(a + b);  System.out.println(num1);// 输出20,出现精度丢失的情况。

    对两个数值进行运算操作,需要先将两个操作数转换为同一类型,然后再进行计算:

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

    
即double>float>long>int,但long占8个字节,float占4个字节,但为什么实际上float会比long大呢?

转载地址:http://osssl.baihongyu.com/

你可能感兴趣的文章
Python3.x 操作Mongodb
查看>>
Zookeeper集群搭建(简单)(29)
查看>>
初识Comet技术
查看>>
linux tar命令简介
查看>>
利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大
查看>>
Qt5和OpenGL一概述
查看>>
CKEditor4 自動清除內容標籤問題的解決方法
查看>>
统计出现频率最高的十个单词的程序性能分析
查看>>
在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境
查看>>
CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务
查看>>
Linux下限制本机网卡带宽的方法
查看>>
Linux下MySQL数据库常用基本操作
查看>>
greenplum presto impala选型与测评
查看>>
Ubuntu 17.10 +Nginx +Mysql +PHP 环境搭建
查看>>
如何让自己的Asp.Net程序运行在免费的云计算空间OpenShift上面
查看>>
OC基础第一天
查看>>
Git clone远程分支
查看>>
PHP5.3.20配置后发生未知 FastCGI 错误 错误代码 0x800736b1解决办法
查看>>
SELECT可输入可选的实现方法
查看>>
隐藏列tableoid
查看>>