文章目录

  • 一、数据类型作用
  • 二、数据类型有哪些
  • 三、基本数据类型占字节数
  • 四、数据类型取值范围
  • 五、字符编码

一、数据类型作用

数据类型是用来声明变量的,程序在运行过程中根据不同的数据类型分配不同大小的内存空间。

二、数据类型有哪些

JAVA数据类型分为基本数据类型引用数据类型,基本数据类型一共有8种,除了基本数据类型外其他都是引用数据类型。
基本数据类型有*:
整数型:byte、int、short、long
浮点型:double、float
布尔型:boolean
字符型:char(必须用单引号括起来)
引用数据类型有
类(Class)
接口(Interface)
数组

三、基本数据类型占字节数

  1. 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
  2. 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可以表示更大的数字。

五、字符编码

  1. 对于8种基本数据类型来说,其中byte,short,int,long,float,double,boolean,这7种类型计算机表示起来比较容易,因为他们都是数字。其中布尔类型只有两个值true和false,实际上true和false分别在C++中对应的是1和0,1为true,false为0。
    对于char类型来说计算机表示起来比较麻烦,因为char对应的是文字,每一个国家的文字不一样,文字不能直接通过“自然算法”转换成二进制。这个时候字符编码诞生了。
  2. 什么是字符编码?
    字符编码是人为的定义的一套转换表。在字符编码中规定了一系列的文字对应的二进制。字符编码其实本质上就是一本字典,该字段中描述了文字与二进制之间的对照关系。
    字符编码涉及到编码和解码两个过程,编码和解码的时候必须采用同一套字符编码方式,不然就会出现乱码。
  3. 字符编码的发展过程?
    (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
  4. 将字符转换数字的过程称之为编码 — 编码表
    ISO-8859-1 - 西欧码表 - 1个字节表示1个字符
    gb2312 - 国标码 - gbk - 2个字节表示1个字符 - 收录了常见的简体汉字以及一部分常见的繁体汉字
    Unicode编码体系 - 收录了世界上常见语言的基本字符 - 规定了一系列的编码规则
    utf-8-> 3个字节表示一个字符
    utf-16 -> 2个字节表示1个字符
    注意:规定无论哪张码表兼容西欧码表

JAVA数据类型及字符编码相关推荐

  1. 数据类型和字符编码的关系

    参考:http://blog.csdn.net/loveyesir/article/details/6367722 看了这篇文章,我开始想数据类型和字符编码的关系: 一:字符编码(ascii等):规定 ...

  2. python对浮点类型的数据进行格式化_(自用)Python Log2 数据类型、字符编码、格式化...

    数据类型 1.整数 十六进制可以使用0x+数字0-9(字母a-f). 2.浮点数 一般使用科学计数法,用e代替10,比如1.2e5,为1.2×10^5. 3.字符串 可以使用单引号' ',或者双引号& ...

  3. python可以处理任何字符编码文本_python数据类型、字符编码、文件处理

    介绍: 1.什么是数据? 例:x=10,10是我们要存储的数据 2.为何数据要分不同的类型? 数据是用来表示状态的,不同的状态用不同的类型的数据去表示 1.数据类型 1.数字(整形,长整形,浮点型,复 ...

  4. java linux urlencode_java字符编码转换研究(转)

    1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...

  5. python数据类型及字符编码

    一.python数据类型,按特征划分 1.数字类型 整型:布尔型(True,False).长整型(L),会自动帮你转换成长整型.标准整型 2.序列类型 字符串(str).元组(tuple).列表(li ...

  6. 第二篇 Python数据类型、字符编码、文件处理

    一.引子 1.什么是数据? x=10,10是我们要存储的数据 2.为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型的分类 数字(×××,长×××,浮 ...

  7. java的内部字符编码

    转自:http://singleant.iteye.com/blog/686383 本周遇到一个java乱码问题,于是对java的编码问题做了一些实验和了解.简单分析如下: 先看下如下代码: Java ...

  8. java ascii码转字符_一文让你读懂JAVA.IO、字符编码、

    1 JAVA.IO字节流 inputstream.png LineNumberInputStream和StringBufferInputStream官方建议不再使用,推荐使用LineNumberRea ...

  9. 数据类型、字符编码、文件处理

    阅读目录 一 引子 二 数字 三 字符串 四 列表 五 元组 六 字典 七 集合 八 数据类型总结 九 运算符 十 字符编码 十一 文件处理 十二 作业 一 引子 1 什么是数据? x=10,10是我 ...

最新文章

  1. SAP MM 标准的采购订单预付款功能介绍
  2. html 音乐播放透明,HTML如何设置video为不透明背景
  3. 究竟是什么在影响着我?
  4. 测试手机信号格数软件,超详细教程之教你如何查询手机信号的强度
  5. ajax传递数组,后台更新
  6. 双子星IPTV管理系统源码
  7. linux内存管理总结
  8. 阿里云十年新战略发布!达摩院加持,阿里技术全部开放,20亿补贴小程序
  9. FLASH AS3 TextField
  10. python之---子类父类属性之间的关系
  11. 在windows 2008下面使用dynamipsgui
  12. [软件工程] UML 用例图详解
  13. 解决——zip压缩包解压后的文件全是乱码问题
  14. ArcGis将2000国家大地坐标系转WGS84
  15. Linux 部署 Oracle xe-21c
  16. 测试架构需要具备哪些能力
  17. KE-之单机案例分析
  18. 原创 使用docker 安装CVAT并使用
  19. https网站打不开如何解决
  20. 刷题集--郁闷的出纳员

热门文章

  1. Django 之 Cookie判断是否已登陆(写成类)
  2. 【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验
  3. Linux 查找指定文件并删除
  4. 讨论MySQL丢失数据的几种情况
  5. 一个数据应用闭环(转载)
  6. C++中extern关键字使用 http://blog.csdn.net/sruru/article/details/7951019
  7. 终于搞定T43上的Access Connection了!
  8. qt调用html里面的函数吗,QT和JS的互相调用例子
  9. 集群资源分配_分析下 Node.js 关于集群的那些事
  10. Nacos外部mysql数据库支持(推荐做)