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 ...
随机推荐
- 修改访问的后缀contant
设置Struts 2处理的请求后缀及Action调用 1.在struts2中默认处理的请求后缀为action,我们可以修改struts.xml 和struts.properties来修改默认的配置,在 ...
- get请求URL的转码
String name = new String(json.getString("name").getBytes("iso8859-1"),"UTF- ...
- Spring,@Controller,@RequestMapping, @ResponseBody,@RequestParam
1.@Controller,放在类的上方,使类生效; 2.@RequestMapping,,指定一个映射,method为访问方式,headers为含有指定请求头 3. @ResponseBody将返回 ...
- 常常搞不清楚SQLServer中的sp_columns来看一看
The sp_columns catalog stored procedure is equivalent to SQLColumns in ODBC. The results returned ar ...
- sql数据行转列
select CodeName FROM CodeDictionary where CodeCategory_ID=138结果: ) GROUP BY CodeName SET @sql='selec ...
- threesum
算法题 问题描述:在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的 例子: input [-1, 0, -1, 2, 1] Output [[-1, 1 ,0], [-1 ...
- Python_性能测试
使用pip安装Python扩展库memory_profiler from memory_profiler import profile @profile #修饰器 def isPrime(n): if ...
- http响应结构分析
HTTP响应由三个部分组成: 1.状态码(Status Code): 描述了响应的状态.可以用来检查是否成功的完成了请求.请求失败的情况下,状态码可用来找出失败的原因.如果Servlet没有返回状态码 ...
- nuget的问题, NuGet 程序包还原失败
将项目中的packages.config 中引用移除. 1.使用nuget管理器,进行安装 2.下载对应dll,手动引入项目
- Java的锁
今天练习了Java的多线程,提到多线程就基本就会用到锁 Java通过关键字及几个类实现了锁的机制,这里先介绍下Java都有哪些锁: 一.Java实现锁的机制: Java运行到包含锁的代码时,获取尝 ...