java中的变量及变量类型转换

             java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。java中的变量都属于一特定的数据类型,使用前必须申明,申明后必须赋初值。变量的分类:

            (1)按声明的位置分位:局部变量和成员变量。局部变量表示方法和语句块内部定义的变量,局部变量必须进行初始化;成员变量表示方法外部,类内部定义的变量,java默认对成员变量进行初始化,所以在定义时可以不赋初值。

            (2)按照所属的数据类型分位:基本数据类型和引用数据类型。基础数据类型有数值型(byte、short、int、long、float和double)、字符型(char)、布尔类型(boolean)。byte占1个字节、short占2个字节、int占4个字节、long占8个字节、float占4个字节、double占8个字节,char采用unicode编码占2个字节,boolean由jvm决定;引用类型包括类、接口和数组。

            (3)对象的创建和引用:必须使用new关键字来创建对象,使用“.”访问对象的成员或方法,同一类的不同对象具有不同的存储空间,同一类的每个对象共享该类的方法(非静态方法是针对每个对象进行调用,即调用的时候必须使用new关键字创建该类的对象,再由该对象调用该方法)。

几个注意点:

            (1)声明为long类型的时候,要在末尾加“l”或者“L”,因为java中看到所有的整数默认为int,如果这样的语句      long a = 8888888888 ,此时java中把该整数当作int,就会截断出错。

            (2)声明为float类型必须在数字后面加f,同样,java中看到所有的小数当作double类型,此时就会报错。即使1.2这种小数也不行,计算机小数只是一个近似的表示。

            (3)boolean类型不能转换为任意类型。

            (4)大的类型转换为小的类型,必须加强制转换符,除了int能转byte、short和char(但是不能超过范围)。

            (5)基本数据类型在内存中占一块区域(分配在栈空间),引用类型占两块区域(除了基本类型之外,即四类八种,其他的所有都是引用类型,一块在栈空间,一块在堆空间)。

              java中类的对象时引用类型,占有两块区域,例如下面这行代码:

                               class C{

                                         main()

                                         {

                                                 C c1 = new C();//c1是一个引用存储在栈空间中,指向堆内存的对象的空间(就是说c1其实是指针,即在java中其实是指针无所不在啊),但是平时就称c1是一个对象,其实它是对象的一个引用,即对象一定是new出来的,位于堆内存。

                                          }

                                }

注:在堆内存中存在没有引用指向的对象,垃圾收集器会将它收集掉。

在java中,同一个类的对象有不同的成员变量存储空间(在堆中),当然静态成员变量除外。但是,同一个类的对象共享类的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值