JAVA数据类型

位、字节、字符

  • 位(bit):计算机中最小的单位,计算机只认识二进制数表示的0和1,一个0或者一个1即表示为一位
  • 字节(Byte):计算机处理数据的基本单位,是一个八位的二进制数
  • 字符 :指的是计算机中使用的英文、数字、符号、中文汉字

数据单位

  • 1bit 表示一位
  • 1Byte = 8bit /(1B = 8b)
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

变量概念

  • 变量就是系统为程序分配的一块内存单元,用来储存各种类型的数据,变量名则代表着这块内存中的数据
  • 根据所存储的数据类型不同,变量所占用的内存大小也不同
  • 变量的值可以随时改变

常量概念

  • 常量也是代表某块内存中的数据,和变量的区别就在于常量所代表的内存中的数据是固定的,一旦确定就不能改变
  • 直接使用的数据类型对象,或者通过final修饰的数据类型就是一个常量,常量不允许重名和重复赋值。
'char'
"String"
9
9.0f
final int i = 0;
null

基本数据类型

java提供了八种基本数据类型。其中有六种数字类型(四个整数类型,两个浮点(小数)类型),一种单字符类型,还有一种布尔(判断)类型

数字类型

整数类型

byte
byte b = 1;
  • byte 数据类型的长度为八位,1字节
  • 取值范围是 -128(-2^7)~ 127(2^7-1)
  • 默认值为0
short
short s = 1;
  • short 数据类型的长度为十六位,2字节
  • 取值范围是 -32,768(-2^15)~ 32,767(2^15-1)
  • 默认值为0
int
int i = 1;
  • int 数据类型长度为三十二位,4字节
  • 取值范围是 -2,147,483,648(-2^31)~ 2,147,483,647(2^31-1)
  • 默认值为0
long
long l = 1L;
  • long 数据类型长度为六十四位,8字节
  • 取值范围是-9,223,372,036,854,775,808(-2^63)~ 9,223,372,036,854,775,807(2^63 -1)
  • 默认值是0L
  • 使用long类型时数字后面需要加字母L,L理论不区分大小写但是小写容易与数字1混淆,

浮点(小数)类型

因为计算机只认0和1的原因,是没办法直接表示小数的。计算机在存储小数时,实际存储的是三个部 分:符号,整数部分,小数部分(能够计算出近似值的科学计数法)。因为存储长度有限,所以当精度 很高时,使用floatdouble会出现丢失精度的情况出现

float
float f = 1.0f;
  • float 数据类型为单精度,长度三十二位,4字节
  • 默认值是0.0F
  • 使用float类型时数字后面必须要加字母F,不区分大小写,否则会报错
double
double d = 1.0d;
  • double数据类型为双精度,长度六十四位,8字节
  • 默认值是0.0D
  • 使用double类型是数字后面需要加字母d,不区分大小写,有些情况下可以缺省(不写)
内存存值扩展

byte型的127 在内存中是 0111 1111 byte型的-128 在内存中是 1000 0000, 为什么? 从表面上看,1000 0000 应该是 -0 才对。但是-0和0其实是一个意思,不可能用两种方式来表示一个 值,为了节省空间,于是java把1000 0000看做-128。这样byte可以表示256个数字,是2的8次方

布尔(判断)类型

boolean
boolean b = true;
  • boolean 数据类型表示真或假,1字节
  • boolean类型只有两个值true(真)/ false(假)
  • 默认值是false

单字符类型

char
char = 'a';
  • char 类型为单一的2字节Unicode字符
  • 取值范围是\u0000(十进制等效值为 0)~ \uffff(即为 65535);
  • 默认值是0,即空字符
  • char数据类型可以存储任何字符
  • char类型的值需要被单引号(’ ')包裹

引用数据类型

String

String s = "a";
  • String 类型代表字符串类型,即多个字符串联
  • String类型的值需要被英文版的 " " 双引号包裹
  • 默认值为null 即空
  • 一个字符串可以存储0到任意个的任意字符
  • 在java中字符串可以与字符串,或者字符串与其他数据类型使用等号(=)进行拼接操作,方便我们对字符串进行处理
String str1 = "Hello";
String str2 = "World";
String str3 = str1 + ',' + str2; //Hello,World

基本数据类型和引用数据类型的区别

基本数据类型传递的时候传递的是真实的值,而引用数据类型传递的是内存地址
String相对特殊,虽然传递的是内存地址,但是因为String是final修饰的常量,不可修改。所以每次修改String变量的时候,实际上是创建了一个新的String对象替换我们原本的String引用
除了String之外,其余的引用数据类型,只要不是final修饰的,在进行传值或者赋值的时候都是传递的内存地址,对其进行修改都会影响其中的数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值