一些问题。

一些问题。

数据类型按照作用范围分类为:类级,对象实例级,方法级,块级。方法级的变量又叫局部变量。Java中内存划分为几个区域:栈、堆、常量池等。在主方法中定义的局部变量存储在栈中。

在上面这段话中,1. 请老师分别举出数据类型按照作用范围分类的例子。2. 在主方法中定义的变量是否都为局部变量?他们都存在栈中?3. 如果2是对的,那么在类中定义的成员存储情况是怎么样的?(类中的变量、方法、方法中的变量等)

正在回答

登陆购买课程后可参与讨论,去登陆

1回答
public class Demo{
    static int age;//类级因为有static关键字
    String name;//对象实例级,定义在类中没有static 关键字
    public static void main(String[] args){
        int score;//方法级,定义在main方法中
        {
            String color;//块级,定义在一对大括号中,出了大括号就不能被访问
        }
    }
}

以上是第一个问题,关于第二个问题,方法中定义的变量都是局部变量,基本类型变量值保存在栈中,引用类型变量,栈中保存的是对象的地址,而对象是保存在堆中。你可以理解为栈是一排抽屉,如果只是小宝藏(基本数据类型)则直接装在抽屉里,这个抽屉你可以起个变量名(int age = 10)。如果是大宝藏(引用类型)则在抽屉里装的是藏宝图,真正的宝藏(对象)装在堆中,这个抽屉你也可以起个名字(String name = "TOM").

关于第三个问题,等你学习了面向对象部分再理解会好些。

望采纳!

  • 慕容2892559 提问者 #1
    谢谢你。我问的第二个问题这是不是JVM的知识啊?我现在是初识Java语法的小白,是不是以后也有必要了解一下JVM啊?
    2020-03-26 16:14:21
  • 苍星乱舞 回复 提问者 慕容2892559 #2
    如果想要比较透彻的理解是需要学习的,现阶段不用太纠结这一方面的具体实现。但是对于变量的作用域和生命周期,以及基本型数据和引用型数据的不同存储方式要清楚。 请采纳!
    2020-03-26 16:22:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师