基本数据类型定义转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型定义转换相关的知识,希望对你有一定的参考价值。
Java四大基本数据类型:
整型、浮点(小数)型、布尔类型、字符类型
- 整型:
byte、short、int、long
- 数据大小范围:
byte 1个字节 8位(bits)
byte 1个字节 -128~127
short 2个字节 -32768~32767
int 4个字节 -2147483648~2147483647
long 8个字节 -9223372036854775808到9223372036854775807
- 由来:
计算机是以二进制进行运作的 加减乘除在计算机内都是按照加法运算或者位移运算,如1-1在计算机内就是1+(-1)
生活日常是以十进制表示的
1 byte = 8 bits 最高位是符号位
符号位0代表正数 1代表负数 符号位不做计算
0,111,1111 = 20+21+22+23+24+25+26=27-1=127 20=1 21=2 任何数的0次方都等于1;任何数的1次方都等于它本身;
计算机系统中,数值一律用补码表示和存储,程序也是由补码方式运行,
正数0,111,1111 反码 0,111,1111 补码 0,111,1111 127 正数的原码、反码、补码就是其本身;
负数1,000,0000 反码 1,111,1111 补码 1,1000,0000 -128 负数的反码除符号位以外取绝对值,补码在反码的基础上加(模)1 ;
所以负数能多表示一个数 即 -128~127
-1~-128 128个数字 1~127 127个数字 0 1个占位
128 + 127 = 255 最后加上一个0占位 即256 表示的最大信息量就是28
- short以此类推如:
short占2个字节 即16位 最高位符号位不做计算即15位 215 215表示负数最大值 215-1表示正数最大值
负数最大表示范围 -(2(bits-1)) 正数最大表示范围 2(bits-1)-1
int、long同理
- 浮点型:
单精度 float 4个字节 有效数字8位 表示范围:-3.40E+38 ~ +3.40E+38 单精度处理比双精度快
双精度 double 8个字节 有效数字16位 表示范围:-1.79E+308 ~ +1.79E+308 双精度处理比单精度慢
3.40E+38即 3.40*1038,E是指数英文exponent缩写
- 定义变量:
float hello; 这就是定义了一个变量,表示一个float类型的浮点数,变量名是hello
- 初始化变量:
int intro = 45; 在定义变量的时候就给值,这就是初始化变量intro
- 给变量赋值:
先定义了变量long lon,然后再给值lon=2L,这就是给变量赋值
- 基本数据类型转换:
基本数据类型精度由低到高排序 byte<short<int<long<float<double
int a = 1.2 //不能被编译 非法操作 高精度不能自动转换成低精度
double a = 3;//低精度可以自动转换为高精度
float a = 3.4;
/*不能被编译,在java中浮点数默认是double类型,违背了高精度不能自动转换低精度的原则*/
float a = 3.4f; //显式声明浮点数为float类型
- 强制转换:
高精度不能隐式转换为低精度,但可以显式强转低精度类型
int a = (int)1.6;//输出:1
- 计算过程中转换:
int a = 3;int b = a + 3.1f+0.9; /*当一个类型和另一个类型做运算时,运算结果会向高精度转换 接收的类型精度低于了赋值类型精度,那么将报错*/
- 布尔类型:
布尔类型可以表示 真(true)或假(false) 类型是boolean
- 字符类型:
字符类型可以表示 单个字符 字符类型是char
多个字符组成称为字符串 在java中String类型不是基本数据类型 而是类 类是复合类型
一个char类型只能存放1个字符 char是2个字节 可以存放2个字节的1个字符
int test = ‘a‘+‘b‘;//会调用字符所对应的ASCII码数值 进行运算 结果:195
char test = ‘a‘ + ‘b‘;//超出范围找不到对应ASCII码 /*1.会调用ASCII码对应的数值进行运算,再转换成其对应的字符 2. javac在进行运算操作时直接把char当作一个整数运行 */ char test1 = ‘a‘-60;//输出:%
int zhong = ‘中‘; //中文是Unicode码而非ASCII码 结果:20013
以上是关于基本数据类型定义转换的主要内容,如果未能解决你的问题,请参考以下文章
java定义8个基本数据类型,将数据转换成字符串,并在此将字符串转换为基本数据类型