java中八大基本数据类型详解
1.基本数据类型的分类
java中的类型分为基本数据类型和引用类型,今天我们讨论的是java中的八大基本数据类型。
基本数据类型可以分为三类:1.数值类型。2.字符类型。3.布尔类型。
数值类型又分为:1.整数类型。2.浮点数类型。
整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean
2.基本知识
基本类型 | 大小(字节) | 默认值 | 封装类 |
byte | 1 | 0(byte类型) | Byte |
short | 2 | 0(short类型) | Short |
int | 4 | 0 | Integer |
long | 8 | 0L | Long |
float | 4 | 0.0f | Float |
double | 8 | 0.0d | Double |
boolean | - | false | Boolean |
char | 2 | \u0000(空白字符) | Character |
3.注意
1.每一种基本数据类型都有其对应的封装类型,封装类型是引用类型,且默认值都为null
2.计算机中能处理的最小单位是字节,1字节=8bit,根据字节计算出每种基本数据类型所占的位数,可以计算出每种基本数据类型所表示的范围,如short类型占2字节,即16bit,能表示数的个数:2^16=65536
3.java中的数值为带符号数值,需要用一个bit来表示符号位,所以有正负之分,如short表示的数是从-32768-32767
4.char的默认值为\u0000,是一个空白字符,但是和空格,null都是不同的
5.void是一种特殊的基本数据类型,它的封装类为Void,有些书籍将void也划分进基本类型中,所以是9种基本类型,这也是没错的,因为基本数据类型在栈区分配空间,引用类型在堆区分配空间,而Void是是一个不可实例化的类,所以将它归为基本数据类型。不过我们通常说的基本数据类型只有8种。
6.关于boolean类型的大小,由于JVM并没有专门为boolean类型设计指令,在编译过后,boolean类型使用的是int类型来表示true或者false,占了4个字节,而在boolean数组中使用的是short类型来表示,每个元素占了1个字节,所以boolean类型到达占用几个字节,要看具体情况
7.基本数据类型在编译时就能够确定所需空间,而引用类型要根据运行时的情况来具体分配空间
java中八大基本数据类型详解的更多相关文章
- Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- JAVA中的GC机制详解
优秀Java程序员必须了解的GC工作原理 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只 ...
- java中list和map详解
一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedList Set下有HashSet ...
- 关于Java中null的十点详解
对于每一个Java程序员来说,null肯定是一个让人头痛的东西,连Java的发明者都承认这是一项巨大的设计失误,今天就来总结一下Java中关于null的知识. 1.null不属于任何类型,可以被转换成 ...
- Java中的枚举使用详解
转载至:http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html package com.ljq.test; /** * 枚举用法 ...
- Java中getBytes()方法--使用详解
getBytes()方法详解 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这表示在不同的操作系统下,返回的东西不一样! 1. str.getByte ...
- HTTP协议报文、工作原理及Java中的HTTP通信技术详解
一.web及网络基础 1.HTTP的历史 1.1.HTTP的概念: HTTP(Hyper Text Transfer Protocol ...
随机推荐
- jquery 设置占位符
<script type="text/javascript"> $(document).ready(function(){ $('.inputfiel ...
- 【读书笔记】C++Primer---第一章
1.标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号“”括起来:
- Angular教程测试运行过程中产生的一些问题
主要问题就是最后一个HTTP Demo需要angular-in-memory-web-api模块: TS2307:Cannot find module 'angular-in-memory-web-a ...
- websocket通信 实现java模拟一个client与webclient通信
发文原由: 熟悉socket通信的同学,对于socket模拟server与client,实现相互通信, 或者使用websocket与java模拟的websocket服务器通信(比如一个聊天室),对于这 ...
- es6(四):Symbol,Set,Map
1.Symbol: Symbol中文意思"象征" Symbol:这是一种新的原始类型的值,表示独一无二的值(可以保证不与其它属性名冲突) Symbol()函数前面不能使用new,因 ...
- C# 获取文件下载的各种方法
public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载 ...
- JavaScript匿名自执行函数~function(){}
原博客:https://blog.csdn.net/yaojxing/article/details/72784774 1.匿名函数的常见场景 js中的匿名函数是一种很常见的函数类型,比较常见的场景: ...
- 树莓派配置watchdog
安装watchdog apt install watchdog 编辑/etc/modules,添加bcm2708_wdog 编辑/etc/watchdog.conf watchdog-device = ...
- 使用on-my-zsh时,php 输出内容后面多个%号
今天用php写个命令行的小工具时,突然发现在echo输出后,总是会多个%号,开始以为是代码的问题,然后新建了一个代码文件: <?php echo 'hello world'; 输出结果: hel ...
- 基于Kafka Connect框架DataPipeline在实时数据集成上做了哪些提升?
在不断满足当前企业客户数据集成需求的同时,DataPipeline也基于Kafka Connect 框架做了很多非常重要的提升. 1. 系统架构层面. DataPipeline引入DataPipeli ...