Java学习之变量和原始数据类型

Java Primitive data type

变量variable和成员变量field(field也是一个类,此处不讨论)

  • 对象变量,也称作非静态fields,指类实例化后的对象,其变量是单独于每一个对象和类的;
  • 类变量,静态fields,是类中的变量,在有效值域里面有且只有这个变量的存在,即使该类实例化成多个对象,也不影响;
  • 局部变量和形式参数都是存在成员函数的值域里,并且不属于 是fields;

原始数据类型概览。

byte b = 0;			// 这是8bits的有符号整型二补数
short s = 0;		// 这是16bits的有符号整型二补数
int i = 0;			// 这是32bits的有符号整型二补数,开发者比较常用的数据类型
/* java中的unsigned int有些特别,要通过结合Integer class用int型才能用做unsigned int,而且需要用到class的method来做算术操作 */
long l = 0L;		// 这是64bits的有符号有符号整型二补数,后面必须跟L或者l,不然有可能会定义为int
/* unsigned long 同上,结合Long class */
float f = 0.0f		// 这是单精度32bits的IEEE 754标准浮点数,字面值要跟f才能定义为float,否则有可能定义为double
double db = 0.0d	// 这是双精度64bits的IEEE 754标准浮点数
/* 不要直接用关系运算符比较浮点数,不准确的 */
boolean bl = false;		// 布尔判断
char c = '\u0000';		// 16bits unicode字符
/* 如果用“”初始化一个字面值字符串,要用Stirng,并且该String是不变的,有点类似const char*的感觉 */

有时候我们会声明一个数据类型,但是没有赋值,虽然这个习惯不太好,但是还是有人这么做;当只声明没有赋值时,javac编译器会赋默认值,默认值就是上面我用的这些初始值了;但是注意⚠️局部变量就不一定有这些默认初始值所以尽量还是要初始化定义

字面值。

Java有个有意思的地方,但是应该不常用,就是在字面值的digits之间可以用_隔开,注意,是digits之间:

// valid underscore
long creditCardNum = 123_456_789_432L
float pi = 3.1_41_5f;

// invalid underscore
float pi1 = 3_.1415F;
int x4 = 0_x52;
int x7 = 0x52_;

@ 西行修真的伍师弟

更新日志

28/05/2020 updated

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值