JAVA学习之数据类型概述

数据类型作用

声明变量。

基本数据类型

四大类八小种
1.整数型:byte, short, int, long
2.浮点型:float, double
3.布尔型:boolean
4.字符型:char

整数型几个或者浮点型几个的区别:占用的空间大小不同

计算机储存单位

1 byte = 8 bit
1 bit就是一个二进制位

类型字节数
byte1
short2
int4
long8
float4
double8
boolean1
char2

取值范围:
byte : [-27~27-1]
short : [-215~215-1]
int : [-231~231-1]、[-2147483648 - 2147483647]
long : [-263~263-1]
float : [-231~231-1]
double : [-263~263-1]
boolean : true、false
char : [0~216-1]、[0 - 65535]

计算机中,一个二进制位最左边的是符号位,0为正,1为负。

整数型

在java中整数型字面量有4种表示形式:十进制、二进制0b、八进制0、十六进制0x。

int型整数赋值给byte、short、char 类型变量且没有超出相应的取值范围时,会自动转换成相应的数据类型。
若超出,则需要强转,例如c2。

byte、char、short做混合运算时,各自先转换成int再做运算。

char c1 = 97;
char c2 = (char)65536;

输出结果为c1为a.

自动类型转换

小容量可以直接赋值给大容量,称为自动类型转换;
大容量不能直接赋值给小容量,需使用强制类型转换符进行强转。编译无错误,但运行时可能会损失精度。

Java中数据的字面量默认是int型,例如:

short i = 128;

128就是int型,将其赋值给i时会强转为short型,若超出被赋值类型范围,会报错。

多种数据类型做混合运算时,最终结果类型是“最大容量”对应的类型。char + short + byte 除外,因为它们会各自先转换成Int型再做运算。

浮点型

float 单精度
double 双精度
BigDecimal精度更高(用于财务方面),但属于引用数据类型

任意一个浮点型都比整数型空间大

Java中人一个浮点型数据默认被当作double来处理,如果要float型的话,在字面量后面加F/f。

布尔型

boolean不能参与类型转换

引用数据类型

字符串型String属于引用数据类型,不属于基本数据类型。

什么是字符编码

字符编码是人为定义的一套转换表,规定了一系列的文字对应的二进制。

字符编码涉及到编码和解码两个过程,编码和解码必须采用同一套字符编码方式。

英文对应的字符编码是ACSII码
‘a’ -> 97
‘A’ -> 65
‘0’ -> 48 (文字’0’)

简体中文的编码方式:
GB2312 、 GBK 、 GB18030

繁体中文: big5(大五码)

Java采用Unicode编码方式,支持全球所欲的文字。具体实现包括:UTF-8、UTF-16、UTF-32

转义字符

""表示转义
\t 键盘上的tab键
\u表示后面面是字符的Unicode编码

补充:计算机底层部分知识

1.计算机在任何情况下都只能识别二进制;
2.计算机在底层存储数据的时候是以二进制的补码形式存储的。(理由:补码形式效率最高)
3.一个正数,二进制源码、反码和补码是相同的;
一个负数,

byte i = -1;
//源码
10000001
//反码(符号位不变,其它位取反)
11111110
//补码(反码+1)
11111111
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值