第二天(上午) 基本数类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二天(上午) 基本数类型相关的知识,希望对你有一定的参考价值。
java的基本数据类型
四类八种
四类
××× byte short int long
浮点型 double float
字符型 char
布尔型 boolean
八种
类型 | 位数 | 取值范围 | |
byte 字节型 | 1byte=8bit | -128~127 | 大概120 |
short 短××× | 2byte=16bit | -32768-32767 | 大概3万2千 |
int 整数型 | 4byte=32bit | -2147483648~2147483647 | 正好超过20亿 基本满足日常需求 |
long 长××× | 8byte=64bit | -9223372036854774808~9223372036854774807 | |
float 单精度浮点型 | 4byte=32bit | 有效数字6到七位 3.4e-45~1.4e38 | |
double 双精度浮点型 | 8byte=64bit | 有效数字35位 4.9e-324~1.8e308 | |
char 字符型 | 2byte | u0000(即为0) uffff(即为65,535) | |
boolean 布尔型 | 1byte | false和true |
注意事项
×××:
通常情况下int类型更常见,而在表示一个很大的数的时候需要用的long byte和short在特定的情况下使用 java会把出现的××× 例如35 默认为int类型
因此我们在表示bye的数字后面加上B 在short的数字后面加上S int什么都不需要加 而且在long类型后面必须加L,否则当数字没有超过int类型是不会报错但是当超过int表示范围的时候就会报错 为什么呢 因为 不加L默认是int,int转为long是安全的,所以会自动转,能编译通过。
(后缀最好写成大写 因为小写l和1难以区分)
浮点型:
float和double的区别就在于精度不同 double的精度更高是flaot的两倍 所以叫双精度浮点型
float类型的数值后面应该加F 没有F的数据默认为double类型。
浮点型的数据是不能完全精确的 所以不能用来表示货币
在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。
这些位的构成如下:
种类-------符号位-------------指数位----------------尾数位----
float---第31位(占1bit)---第30-23位(占8bit)----第22-0位(占23bit)
double--第63位(占1bit)---第62-52位(占11bit)---第51-0位(占52bit)
取值范围主要看指数部分:
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128。
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。
由于float的指数部分对应的指数范围为-128~128,所以取值范围为: -2^128到2^128,约等于-3.4E38 — +3.4E38
精度(有效数字)主要看尾数位: float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8位
字符型:
char通常用来表示单个的字符 通常同来表示字符常量 用utf-16编码描述一个代码单元
java采用Unicode编码 JAVA采用unicode编码来表示,每个字符占两个字节(一个字节有八位),因此可以用十六进制编码表示:比如:char a=‘u0056’; 前128字节与ASCII兼容
建议不要在程序中使用char类型
在定义字符时需要加‘’ 比如 '1'表示字符'1'而不是数值1,char c = ' 1 ';
char a='a'; //任意单个字符,加单引号。
char a='中';//任意单个中文字,加单引号。
char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。
boolean:
布尔值只可以取true或false,不可以用0或者非0来替代,这点和C、C++等不同
部分说明
JAVA各×××类型有固定的表示范围和字段长度,其不受操作系统影响,以保证java的可移植性
java×××常量的表示方法 十六进制 以0x开头
八进制 以0开头(一般不用容易混淆)
二进制 在java7开始 加上0b可以表示(在java7后数字字面加量加下划线是数字更易读如1-000-000编译中会自动去除下划线)
以上是关于第二天(上午) 基本数类型的主要内容,如果未能解决你的问题,请参考以下文章