【Java】数据类型

基本数据类型

布尔类型Boolean:取值只能为true或者false,经常用来做条件判断。

字符类型char:存放字符常量、底层使用16位无符号整型表示。

整型族:包括byte(8位)、short(16位)、int(32位)、long(64位),默认是int,长整形需要加 L 区分。

浮点型族:包括float(32位)、double(64位),默认是double,浮点型常量字面值可使用科学计数法。

为什么要定义使用阶码?

因为浮点数的定义导致的,也是浮点数的表示需求产生的。浮点数是属于有理数中某特点子集的数的数字表示,在计算机中用以近似表示某个任意实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。

做高精度浮点型运算,尽量使用 java.math.BigDecimal

引用数据类型

String:类类型,其值用双引号引起来

数组数据类型:

接口数据类型:

  • java.lang 包下的类可以不用 import 直接使用
  • + 对 String 类型是做字符串连接操作
  • import 将别人写的类,导入到当前程序中使用

不同进制的数据

二进制:由0,1组成,以0b(b可以小写也可以大写)开头

八进制:由0,1, ,7组成,以0开头                                                                                                                                                 

十进制:由0,1, ,9组成,整数默认是十进制的

十六进制:由0,1, ,9,a,c,d,e,f(大小写均可以),以0x开头

ep:输出不同进制表示100的数据。0b100 --> 4,0100 --> 64,100 --> 100,0x100 --> 256

任意进制到十进制的转换

任意进制到十进制的转换原理:把系数 * 基数的权次幂相加即可。系数就是每一位上的数据。基数为X进制,基数就是X。权从右手边第一位,0开始编号,对应位上的编号即为该位的权。

ep:0b 11000 --> 0*2^0 + 0*2^1 + 0*2^2 +1*2^3 + 1*2^4 = 8+16 = 24

十进制到任意进制的转换原理:除积倒取余,在倒取余的时候从上向下取

ep:

原码

原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

ep:通过一个字节,也就是8个二进制位表示 +7 和 -7,7转化为二进制后为 111

0(符号位)0000111, 1(符号位)0000111

反码

正数的反码与其原码相同。负数的反码是对其原码逐位取反,但符号位除外。

ep:00000111, 11111000

补码

在计算机中,数都以补码的形式存放。

正数的补码与其原码相同。负数的补码是在其反码的末位加1。负数的补码求原码:符号位为1,其余各位取反,然后在其末位加1。

ep:00000111, 11111001

操作符

赋值操作符

int a = 10;

  • 数据类型要匹配
  • 左值只能是变量
  • 复合赋值运算符会将右值的类型隐式地转换为左值的类型,可能会造成数据损失

Instanceof

判断对象是否是某一类类型,不能操作基本数据类型。java.lang.Object 所有类的父类

==

对于基本数据类型,判断值是否相等。对于类类型,判断地址是否相同

内存图讲解字符串比较

 

 

 

 

 

 

 

 

 

 

 

 

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值