JAVA数据类型及字符编码
文章目录
- 一、数据类型作用
- 二、数据类型有哪些
- 三、基本数据类型占字节数
- 四、数据类型取值范围
- 五、字符编码
一、数据类型作用
数据类型是用来声明变量的,程序在运行过程中根据不同的数据类型分配不同大小的内存空间。
二、数据类型有哪些
JAVA数据类型分为基本数据类型和引用数据类型,基本数据类型一共有8种,除了基本数据类型外其他都是引用数据类型。
基本数据类型有*:
整数型:byte、int、short、long
浮点型:double、float
布尔型:boolean
字符型:char(必须用单引号括起来)
引用数据类型有:
类(Class)
接口(Interface)
数组
三、基本数据类型占字节数
- 1字节 = 8bit
1byte = 1字节 = 8bit
1short = 2字节 = 16bit
1int = 4字节 = 32bit
1 long = 8字节 = 64bit
1 double = 8字节 = 64bit
1 float = 4字节 = 32bit
1 char = 2字节 = 16bit
1 boolean= 1字节 = 8bit - 1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
四、数据类型取值范围
byte:[-27 ~ 27-1]即 [-128 ~ 127],共256个不同的数字。默认缺省值为0。
byte是一个字节,8个比特位,所以byte可以存储的最大值是:01111111
在计算机中,一个二进制最左边的是符号位,当为0时表示正数,当为1时表示负数。所以byte类型的最大值是:01111111
short:[-215 ~ 215-1]即[-32768 ~ 32767],默认缺省值为0。
int:[-231 ~ 231-1]即[-2147483648 ~ 2147483647],默认缺省值为0。Java中,整数默认为int类型。
long:[-263 ~ 263-1],默认缺省值为0L。
float:[-231 ~ 231-1],默认缺省值为0.0f。
doube:[-263 ~ 263-1],默认缺省值为0.0。Java中小数默认为double类型 - 小数结尾可以添加D/d作为标记。
boolean:[-27 ~ 27-1],默认缺省值为false。
char:[0 ~ 2^16-1]即[0 ~ 65535],默认缺省值为’\u0000’。存储用的就是utf-16。
short和char实际上容量相同,但是char可以表示更大的数字,因为char表示的是文字,文字没有正负之分,所以char可以表示更大的数字。
五、字符编码
- 对于8种基本数据类型来说,其中byte,short,int,long,float,double,boolean,这7种类型计算机表示起来比较容易,因为他们都是数字。其中布尔类型只有两个值true和false,实际上true和false分别在C++中对应的是1和0,1为true,false为0。
对于char类型来说计算机表示起来比较麻烦,因为char对应的是文字,每一个国家的文字不一样,文字不能直接通过“自然算法”转换成二进制。这个时候字符编码诞生了。 - 什么是字符编码?
字符编码是人为的定义的一套转换表。在字符编码中规定了一系列的文字对应的二进制。字符编码其实本质上就是一本字典,该字段中描述了文字与二进制之间的对照关系。
字符编码涉及到编码和解码两个过程,编码和解码的时候必须采用同一套字符编码方式,不然就会出现乱码。 - 字符编码的发展过程?
(1). 起初的时候计算机是不支持文字的,只支持科学计算。实际上计算机起初是为了战争而开发的,计算导弹的轨道…
后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文对应的字符编码方式是:ASCII码。
ASCII码采用1byte进行存储,因为英文字母是26个。(键盘上所有的键全部算上也超不过256个。1byte可以表示256种不同的情况。所以英文本身在计算机方面就占有优势。)
‘a’ —> 97
‘b’ —> 98
‘c’ —> 99
‘A’ —> 65
‘B’ —> 66
‘0’ —> 48
‘1’ —> 49
(2).随着计算机语言的发展,后来国际标准组织制定了ISO-8859-1编码方式,又称为latin-1编码方式,向上兼容ASCII码。但不支持中文。
(3).后来发展到亚洲,才支持中文,日文,韩文…中文这块的编码方式:GB2312<GBK<GB18030 (容量的关系)以上编码方式是简体中文。繁体中文:big5(台湾使用的是大五码。)
(4).在java中,java语言为了支持全球所有的文字,采用了一种字符编码方式叫做unicode编码。unicode编码统一了全球所有的文字,支持所有文字。具体的实现包括:UTF-8、UTF-16、UTF-32 - 将字符转换数字的过程称之为编码 — 编码表
ISO-8859-1 - 西欧码表 - 1个字节表示1个字符
gb2312 - 国标码 - gbk - 2个字节表示1个字符 - 收录了常见的简体汉字以及一部分常见的繁体汉字
Unicode编码体系 - 收录了世界上常见语言的基本字符 - 规定了一系列的编码规则
utf-8-> 3个字节表示一个字符
utf-16 -> 2个字节表示1个字符
注意:规定无论哪张码表兼容西欧码表
JAVA数据类型及字符编码相关推荐
- 数据类型和字符编码的关系
参考:http://blog.csdn.net/loveyesir/article/details/6367722 看了这篇文章,我开始想数据类型和字符编码的关系: 一:字符编码(ascii等):规定 ...
- python对浮点类型的数据进行格式化_(自用)Python Log2 数据类型、字符编码、格式化...
数据类型 1.整数 十六进制可以使用0x+数字0-9(字母a-f). 2.浮点数 一般使用科学计数法,用e代替10,比如1.2e5,为1.2×10^5. 3.字符串 可以使用单引号' ',或者双引号& ...
- python可以处理任何字符编码文本_python数据类型、字符编码、文件处理
介绍: 1.什么是数据? 例:x=10,10是我们要存储的数据 2.为何数据要分不同的类型? 数据是用来表示状态的,不同的状态用不同的类型的数据去表示 1.数据类型 1.数字(整形,长整形,浮点型,复 ...
- java linux urlencode_java字符编码转换研究(转)
1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...
- python数据类型及字符编码
一.python数据类型,按特征划分 1.数字类型 整型:布尔型(True,False).长整型(L),会自动帮你转换成长整型.标准整型 2.序列类型 字符串(str).元组(tuple).列表(li ...
- 第二篇 Python数据类型、字符编码、文件处理
一.引子 1.什么是数据? x=10,10是我们要存储的数据 2.为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型的分类 数字(×××,长×××,浮 ...
- java的内部字符编码
转自:http://singleant.iteye.com/blog/686383 本周遇到一个java乱码问题,于是对java的编码问题做了一些实验和了解.简单分析如下: 先看下如下代码: Java ...
- java ascii码转字符_一文让你读懂JAVA.IO、字符编码、
1 JAVA.IO字节流 inputstream.png LineNumberInputStream和StringBufferInputStream官方建议不再使用,推荐使用LineNumberRea ...
- 数据类型、字符编码、文件处理
阅读目录 一 引子 二 数字 三 字符串 四 列表 五 元组 六 字典 七 集合 八 数据类型总结 九 运算符 十 字符编码 十一 文件处理 十二 作业 一 引子 1 什么是数据? x=10,10是我 ...
最新文章
- SAP MM 标准的采购订单预付款功能介绍
- html 音乐播放透明,HTML如何设置video为不透明背景
- 究竟是什么在影响着我?
- 测试手机信号格数软件,超详细教程之教你如何查询手机信号的强度
- ajax传递数组,后台更新
- 双子星IPTV管理系统源码
- linux内存管理总结
- 阿里云十年新战略发布!达摩院加持,阿里技术全部开放,20亿补贴小程序
- FLASH AS3 TextField
- python之---子类父类属性之间的关系
- 在windows 2008下面使用dynamipsgui
- [软件工程] UML 用例图详解
- 解决——zip压缩包解压后的文件全是乱码问题
- ArcGis将2000国家大地坐标系转WGS84
- Linux 部署 Oracle xe-21c
- 测试架构需要具备哪些能力
- KE-之单机案例分析
- 原创 使用docker 安装CVAT并使用
- https网站打不开如何解决
- 刷题集--郁闷的出纳员
热门文章
- Django 之 Cookie判断是否已登陆(写成类)
- 【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验
- Linux 查找指定文件并删除
- 讨论MySQL丢失数据的几种情况
- 一个数据应用闭环(转载)
- C++中extern关键字使用 http://blog.csdn.net/sruru/article/details/7951019
- 终于搞定T43上的Access Connection了!
- qt调用html里面的函数吗,QT和JS的互相调用例子
- 集群资源分配_分析下 Node.js 关于集群的那些事
- Nacos外部mysql数据库支持(推荐做)