注:
① 在同一个方法里面定义两次相同的变量,编译会报错
②在同一个Java文件里面定义两次相同的类,编译会报错
java中的成员变量和全局变量有什么区别?
注:java中就没有全局变量这个概念,只分为成员变量和局部变量。
Java里层的代码块可以更改外部代码块的变量的值吗?Python里面是需要global申明才能修改全局变量的值的
答:具体得参考变量前面的修饰关键字来看
一 . 变量的分类:成员变量与局部变量
在方法体外,类体内声明的变量都称为成员变量。
在方法体内部声明的变量都称为局部变量。
局部变量: 形参(方法中的形参、构造器中的形参)、方法局部变量(在方法内部定义的变量、在构造器内部定义的变量)、代码块局部变量(在代码块内定义) 就这三种
注:局部变量声明了后,不赋值,不用它,放在那儿也行,不报错
二.
int a ;
system.out.println(a);
//以上在编译阶段就会报错,变量一定要初始化后才能用
a = 11 ;
system.out.println(a);
//以上在编译阶段就会报错,变量一定声明类型后才能用
① int a; //变量声明
a = 11; //变量初始化
或
② int a = 11; //变量声明和初始化
三.变量的作用域
变量都是定义在其作用域内的,在作用域内,它是有效的,出了作用域就没效了
具体怎么调用这些变量还得参考变量前面的关键字来看
{ } 这个是一个作用域
{ { } } 里面的大括号可以引用外层大括号的变量和修改外层大括号的变量值
注:Python里面修改上层变量值需要global 或 nonlocal 声明才行,不然报错
同一个作用域内,不能定义相同的变量,不然编译会报错
注:Python里面相同的变量名,后者会覆盖前者
① int a = 11;
int a =12;
以上在编译时报错
② int a = 11;
a = 12 ;
以上这个没问题,相当于重新赋值了
------------------------------------------------------------------------------------------------------------变量在内存里面分配的大小:
详解:
/pla1949/p/7834351.html