Java数据类型
来源:互联网 发布:淘宝一口价能随便改吗 编辑:程序博客网 时间:2024/05/16 08:51
Java是一门面向对象的高级语言,但也保留了基本数据类型和运算符这些面向过程的元素。如何平衡对象和简单数据类型之间的抉择,被认为是设计面向对象语言所面临的挑战。Java很出色的完成了这个挑战。
Java中有八种基本数据类型,见下表:
数值类型byteshortcharintlongfloatdoubleboolean长度(字节)1224848
1
包装器ByteShortCharacterIntegerLongFloatDoubleBoolean短字节类型向长字节类型转换,大多为无损转换。需要说明的有以下几点:
- Java数据类型不存在unsigned;
- byte、short、char的单目数学运算的返回结果自动转型为int类型,即byte b = 0; b+1的结果为int类型,而b++结果为byte类型,b += 3也是合法的语句;
- Java的浮点数遵从IEEE754标准,int转float,long转double不是无损的(虽然得到同样大小的结果,却可能失去一定的精度)。而byte、short、char转float是无损的,byte、short、char、int、float转double也是无损的。
- boolean值域只有两个值:false,true。
- float、long、和double在赋值时,若所赋的值为数字常量后紧跟上"f"、"l"、"d"(大写也可)。
- float赋值时,若所赋的值为浮点数字面值常量,则必须在数字后边加“f”或“F”。float f = 1.0;将不能通过编译。
- long在赋值时,若所赋的值为常整数,建议加上大写字母“L”,因为“l”在有些文本阅读器下,看着像“1”。
- 啰嗦一句:注意越界和正负值域不对称。x > y 不完全等同于 -x < -y, x > y 不完全等同于 x - y > 0。当然,这一点在实际的编程中,基本是被忽略的。保留这种意识还是有必要的。
Java为基本数据类型设计了包装器,使得基本数据类型在必要时,能够参与到对象层次的操作中来。本文表中给出了各种基本数据类型的包装器。常见的使用这些包装器的场景,有泛型、对象引用等。泛型主要体现在容器的使用上,使得我们可以定义一个整形数字的链表,或者key-value的Map使用基本数据类型。
基本数据是可以直接访问的,而对象则只能通过引用来访问。Java对基本数据类型的设计方式,使得既可以实现高效编程,又能够建立对象模型,而不用担心对简单数据类型的性能会产生负面影响。
下面来说说java对象。
java对象只有String能够进入常量池(常量池位于堆中),每个class文件对应一个常量池,类的全限定名、方法名、字面常量等都作为String对象在这个区域。
其他对象(其他类和非常量池中的String)都是在栈空间持有一份引用,引用指向堆里的对象占用的实际空间。实际空间包含锁状态、hash值、类型引用等,这些空间是8bytes,数组的是12bytes。如果对象还有属性,则需要另外分配空间。
- JAVA数据类型
- Java数据类型
- java数据类型
- Java数据类型
- Java 数据类型
- java数据类型
- Java数据类型
- java数据类型
- java数据类型
- Java 数据类型
- Java 数据类型
- JAVA数据类型
- java数据类型
- java数据类型
- Java数据类型
- Java数据类型
- Java数据类型
- java 数据类型
- Android的数据存储
- 1.iText生成PDF报表_简介与安装
- POJ_2296题解
- mysql 跨表更新数据的几种操作
- SGU 107
- Java数据类型
- 【2019 数列有序!】
- Spring基于注解的缓存配置--EHCache AND OSCache
- Reverse Polish Calculator (逆波兰计算器)方案的分析——如何解决问题,从需要到实现
- 技术人员如何创业《一》—— 产品及想法
- 跳过登陆窗体的一种思路
- 华为公司2014届校园招聘软件类上机考试样题
- [东南大学][C++][何洁月]教程内容:
- Java获取客户端真实IP地址的两种方法