3/365 java 数据类型 变量 常量

1.整数表示的前缀:基于X进制

二进制:0b

八进制:0

十六进制:0x

2.浮点数比较

float m = 0.1f;
double n = 1.0/10;
System.out.println(m==n);

经典面试题,逻辑上两个数是一样的,但是由于浮点数的存储方式,会引入舍入误差,此时代码会打印false。

所以不能使用==来严格判断两个浮点数是否相等。

一般有两种方法来判断两个浮点数是否相等:

  • Math.abs(m-n) < threshhold(譬如0.000001)  (这个方法用各种语言都通用)
  • 使用BigDecimal 类,内置的compareTo() 方法对两个浮点数进行比较,会忽略小数点后的位数

3.字符编码

Unicode编码:16bit   字符表共2^16个字符   U0000 -- UFFFF

数字对应字符,例如  'a' = 97 = 0x61

char类型变量存储的时候是存储数字

eg:    println('\u0061')  会输出 'a'

转义字符: "\t"会输出制表符  "\n"会输出换行符

4.类型转换

强制类型转换:(类型)变量名   高 --> 低      有可能出现内存溢出,或者精度降低的问题

自动类型转换:无需操作,直接转换  低 --> 高

不能对bolean类型进行转换

5.变量作用域

局部变量:作用域在method内,必须初始化后才可以使用

实例变量:作用域在class内,如不初始化,会被赋予类型的默认值(0, 0.0, false, null),从属于类,使用时:类名.变量名  eg:  tigger.food

类变量:带有关键字static,可以直接使用(变量名),从属于类

6.常量

final 类型名 变量名(通常大写) = XX;

修饰符不区分先后顺序: public final static int a = 10;

类型名前的都是修饰符

7.变量的命名规范

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值