Java默认类型,类型转换,常量与变量笔记-阿里云开发者社区

开发者社区> 开发与运维> 正文

Java默认类型,类型转换,常量与变量笔记

简介:

 默认类型:

     java里整数默认是int类型,小数默认是double类型,单个字符默认是char类型,truefalse自然默认的是boolean类型,字符串默认的是String类型。

 

  变量和常量类型转换:

     因为有默认类型,在需要使用其他类型的时候就需要进行类型转换,类型转换中小转大是自动转换,大转小则需要强制转换。例:int i=237196223;short类型接受则需要用强制转换:short s=(int)237196223;

 

变量名申请规则:

申请一个数据类型它在内存中的内存的地址是连续的;变量名存储在命名区域,它所指向的都是内存地址编号,也是一个数据值的代表标识,它就像一个标签代号,如果需要修改调用一个变量,就可以用它的标签名字去调用操作。

变量名的申请可以以下划线和字母开头,数字结尾;不可以以数字开头和特殊字符开头。开发人员就可以使用变量名来进行取值、存放、修改、调用等操作。

 

自动类型转换:

   java中小的数据类型是可以自动转换成大的类型,就像小的杯子里的水倒进大杯子里不用担心水的溢出。例如:byte b=127; short s=b; byte类型比short类型要小转换不丢失精度,所以是可以自动转换的。

 

强制类型转换:

大的数据类型需要转换成小的数据类型就需要通过强制转换了。因为大的杯子里的水要倒进小的杯子里水会溢出来,自然就会损失精度。例如:short s=(byte)128; 输出的结果就是-128,因为强制转换损失了精度。

强制类型转换是在二进制里进行截取的,例如int32位,short16位,int类型强制转换成short类型时截取后面的16位二进制码。

 

变量和常量的介绍:

常量只能赋值一次,常量的值是不可以再改变的,而且如果赋的值是一样的话,指向的都是同一片内存地址,赋的值不一样才去新开辟一个内存地址,常量需要用final关键字声明。变量则是在存储范围中可以任意改变的,能够多次赋值的称为变量。

变量的内存分配是活动的,申请一次分配一次,每次申请都是分配一个新的内存,并且内存地址是独立的。

 

数据类型在内存中有三个层,常量层、标识层、数据层;常量层里自然是用于存储常量里面的值是不可以再改变的,并且赋的值一样的话指向的就是同一个内存地址。标识层里则是变量名,变量名指向的是变量值的地址编号。数据层里都是可变动的数据变量,里面的值可以反复修改或赋值。




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1955641,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章