Java 基础数据类型
Java 提供的基础数据类型(也称内置数据类型)包含:整数类型、浮点类型、字符类型、布尔类型。
整数类型
整数类型变量用来表示整数的数据类型。整数类型又分为字节型(byte)、短整型(short)、整型(int)、长整型(long)这四种。
byte字节型
8 位,用于表示最小数据单位,如文件中数据,-128~127。
short短整型
16位,-32768~32767
int整型
32位,-2的31次-1~2的31次方
long长整型
64位
浮点类型
浮点类型用来表示小数的数据类型。浮点分为单精度型(float)和双精度型(double)。
主要就是精度区别,双精度型精度高于单精度型,但是浮点数是不精确的,不能对浮点数进行精确比较。
字符类型
主要用于字符集
布尔类型
一个表示逻辑值的基本数据类型,值为true和false
包装类型
为什么存在包装类型呢?
Java 中通过new 一个对象存储在堆中,然后通过栈中的引用来使用这些对象。但是对于一些基本类型,比如int,如果通过new的方式存储在堆里就很浪费资源,因为Java中直接将这些基本类型的变量值存储在栈中。
但是Java是一个面向对象的编程语言,基本类型并不具有对象的性质,因此我们使用包装类型,就是为了让基本类型也具有对象的性质。比如往ArrayList中放东西时,int等的基本类型是放不进去的,因为容器装的都是object,因此就需要基本类型的包装器类了。
包装类型跟基本类型有什么区别呢?
| 区别 | 基本类型 | 包装类型 |
| 声明方式 | 不需要new关键字 | 需要使用new来申请在堆中分配存储空间 |
| 存储方式和位置 | 变量值直接存储在栈中 | 将对象放在堆中,然后通过栈中来引用 |
| 初始值 | int初始值0,boolean为false | 初始值为null |
| 使用方式 | 直接使用即可 | 常在集合等中使用,如List,Map |
包装类和基本数据类型的对象关系
| 基本类型 | 包装器类型 |
| boolean | Boolean |
| char | character |
| int | Integer |
| byte | Byte |
| short | Short |
| long | Long |
| float | Float |
| double | Double |
Java 基础数据类型的更多相关文章
- Java基础-数据类型应用案例展示
Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 谈谈Java基础数据类型
Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...
- Java基础数据类型二进制转换
前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...
- java基础-数据类型之殇
一 前言 Java的数据类型分为2种,分别是基本数据类型和引用数据类型:java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型:面试常问的java8大基本数据类型其实是基本数 ...
- [未完成]关于java基础数据类型中的一些总结
java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- JAVA基础数据类型
JAVA的数据类型粗略分两种 1.基本数据类型 整数类型: byte,short,int,long 浮点类型: float,double 字符类型: char 布尔类型: boolean 基本语法格式 ...
随机推荐
- String,StringBuffer,StringBuilder
String是字符串常量:StringBuffer,StringBuilder是字符串变量 StringBuffer是线程安全的且效率低:StringBuilder是线程不安全的故效率高 操作少量字符 ...
- .Net中Task使用来提高代码执行效率
技术不断更新迭代,更高效的执行效率越来越被重视,所以对Task的使用进行了简单使用做了整理与大家分享. .Net 中有了Task后使多线程编程更简单使用和操作,下面粘上代码进行简单说明: /// &l ...
- cdn 的配置及原理
CDN概况 CDN的全称是Content Delivery Network,即内容分发网络. CND加速主要是加速静态资源,如网站上面上传的图片.媒体,以及引入的一些Js.css等文件. CND加速需 ...
- 固定Linux虚拟IP地址
由于我的开发环境是在VMWare虚拟机里安装Centos,然后在host文件中设置拦截,这样就可以直接跳转虚拟机的CentOS,但是虚拟机的IP地址总是会变,就要随时修改host文件,很麻烦.决定虚拟 ...
- python_django__验证码
验证码:在用户注册/登陆时使用,为了防止暴力请求,减轻服务器压力,也是防止csrf的一种方式. 运行环境:python django 对应template模块htm函数: 登陆页面: <!DOC ...
- react css拓展 使用less
react 之中使用less 其实质只需要看一下resct 使用css的配置项,就能明白个大概了 第一步 还是下载 npm i less less-loader -save 下载less 和 ...
- springBoot项目mybatis中加入缓存
1:maven: <!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache-core --> <dependenc ...
- 【latex】latex基础
文档边距.间距调整 边距调整 \usepackage{geometry} %设置页边距的宏包 \geometry{left=3.0cm,right=2.5cm,top=2.5cm,bottom=2.5 ...
- Ngui之UI框架的层级处理
#region 处理层级问题 void DepthIncrease(UIWndBase uiWnd) { DepthIncrease(uiWnd.transform, UIFlag); } publi ...
- Scala 学习2
去map里面的数据 scala> val map = Map("a"->1, "b"->2, "c"->3) map ...