后端 - java - - 数据类型

1、数值型

整数:byte、short、int、long

byte:8位 有符号 二进制补码表示的整数 默认为0 范围 -128(-2^7)~127(2^7-1)

short:16位 有符号 二进制补码表示的整数 默认为0 范围-23768(-2^15)~23767(2^15-1)

int:32位 有符号 二进制补码表示的整数 默认为0 范围-2,147,483,648(-2^31)~2,147,483,647(2^31 – 1) 包装类:Integer

long:64位 有符号 二进制补码表示的整数 默认为0L

范围-9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)用于整数非常大的项目中 定义时默认加上L更加规范:long a = 100000L

小数:float、double

float:32位 单精度 有符号的浮点数 默认值0.0f 范围 ±3.4×10^38  可以表示大概7位小数 精准度并没有那么高

double:64双精度 有符号的浮点数 默认值0.0d 范围 ±1.7×10^308 精准度高 可以表述更大范围的数值 但所占空间大

2、字符型

char类型表示的是一个16 位 Unicode 字符,最小值是 \u0000(十进制为 0);最大值是 \uffff(65535)

char是单个字符 2字节 可修改  string是若干个字符组成的字符串为引用类型(下面有介绍)

3、布尔型

true/false

4、类型转换

隐式转换:范围大的类型可兼容范围小的类型 小可以隐式转换为大 

int a = 10; 
long b = a

强制转换:大转小 但可能会出现溢出或丢失精度

int a = 127;
byte b = (byte) a; // b为127

int a = 128;
byte b = (byte) a // -128
// 二进制中的128为 10000000 在二进制补码中 最高位表示符号 1为负数 所以为-128

int a = 129
byte b = (byte) a // -127
// 二进制为 10000001 因为 10000000为负数 所以在后面再+1就为-(2^7 - 1),即-(128 - 1) = -127

5、引用类型

引用类型,是指除了基本的变量类型之外的所有类型。所有引用类型的默认值都是null

类:

object 所有类的父类(和vue一样 所有对象的原型对象都指向object function除外) 所有类都可以调用object方法,所有类型的变量都可以赋值给object类型的变量

string 创建时会存储在字符串池中 不能改变其值 修改时只会重新创建对象

接口:使用 interface 关键字定义 接口中的方法都默认是 public 的,而且必须是 public 的 变量默认为公有静态常量 不能被实例化(无法new出实例 无构造函数) 不能继承某各类 但可以继承接口 通过 implements 关键字来实现接口,必须重写接口的所有方法

数组:

int [] arr = {1,2,3}; 
int [] arr = new int[3] //[0,0,0]

一旦创建就无法修改长度 可以赋值为null

你可能感兴趣的:(java,java,开发语言)