数据类型相关知识

java中数据类型
整型类型:

  • 字节类型(byte):1个字节 范围:-128-127
  • 短整型(short):2个字节范围:-32768~32767
  • 基本 整型(int):4个字节
    范围:-2147483648~2147483647
  • 长整型(long):8个字节 范围: -2^63 -> 2^63-1

1.字节是计算机中表示空间大小的基本单位.
2.计算机使用二进制表示数据.
3.我们认为 8 个二进制位(bit) 为一个字节.
4.符号位,1表示负数,0表示正数

计算范围:
  1.在计算机中存储的为数据的补码8个二进制位表示,最高位为符号位,
  则最大为01111111 11111111 为2^7-1,最小表示为10000000 00000000,-2^7
  
  2.利用代码

public class Variable{
	
	public static void main(String[] agrs){
		System.out.println(Byte.MAX_VALUE);
		System.out.println(Byte.MIN_VALUE);
	}		
}

结果:127~ -128

浮点型

  • 单精度浮点数(float):4个字节
  • 双精度浮点数(double):8个字节

内存布局按IEEE 754 标准

其他类型

  • 字符类型(char):2个字节
  • 字符串类型(String):由多个字符组成,是一种引用类型
  • 布尔类型(boolean):两种取值true,false 、

变量的作用域:

当前的变量定义所在的代码块(大括号内)

类型转换:

不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行.

例子:

int a = 10;
long b = 20;
a = b; // 编译出错, 提示可能会损失精度.
b = a; // 编译通过.

int 和 boolean 是毫不相干的两种类型, 不能相互赋值.(不兼容类型)

例子:

int a = 10;
boolean b = true;
b = a; // 编译出错, 提示不兼容的类型
a = b; // 编译出错, 提示不兼容的类型

使用字面值常量赋值的时候, Java 会自动进行一些检查校验, 判定赋值是否合理

例子:

byte a = 100; // 编译通过
byte b = 256; // 编译报错, 提示 从int转换到byte可能会有损失

注意: byte 表示的数据范围是 -128 -> +127, 256 已经超过范围, 而 100 还在范围之内

如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失.

例子:

int a = 0;
double b = 10.5;
a = (int)b;//范围大的转换位小范围

结语:如有不足,请多指教

你可能感兴趣的:(数据类型相关知识)