黑马程序员技术交流社区

标题: 变量问题 [打印本页]

作者: Lam    时间: 2014-5-5 23:04
标题: 变量问题
本帖最后由 Lam 于 2014-5-9 09:39 编辑
  1. class ForDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for (int x=0;x<3 ;x++)    <b> </b><font color="#ff0000">//变量 int x=0  是否是局部变量?作用域如何?</font>
  6.                 {
  7.                         System.out.println("x="+x);
  8.                 }
  9.                 int x=1    <font color="#ff0000">//变量 int x=1  是否是全局变量?作用域如何?</font>
  10.                         while(x<3)
  11.                         {
  12.                                 System.out.println("x="+x);
  13.                                 x++;
  14.                         }
  15.         }
  16. }
复制代码

作者: Lam    时间: 2014-5-5 23:10
我的问题在注释中,谢谢大家帮忙解答!
作者: 大恶魔先森~    时间: 2014-5-5 23:24
都属于局部变量,但是int x=1属于局部动态变量。因为都是定义在main方法内部。
作者: Mr.Ji    时间: 2014-5-5 23:33
第一个是局部变量,作用域随着for循环结束而结束。
第二个也是局部,只是作用域比第一个长,都是定义在方法内部的。
作者: Lam    时间: 2014-5-6 12:23
Mr.Ji 发表于 2014-5-5 23:33
第一个是局部变量,作用域随着for循环结束而结束。
第二个也是局部,只是作用域比第一个长,都是定义在方法 ...

啥是全局变量?是不是定义在类中的变量?
作者: Mr.Ji    时间: 2014-5-6 17:06
Lam 发表于 2014-5-6 12:23
啥是全局变量?是不是定义在类中的变量?

在类中定义的,简单来说就是针对一个main方法中,所有的类方法都能调用的变量,就是全局变量,上面那俩都是定义在一个方法中的,别的方法无法调用,个人拙见
作者: 时光♪微凉    时间: 2014-5-6 18:17
直接定义在类中的是全局变量,定义在方法中的是局部变量
作者: Lam    时间: 2014-5-6 21:54
谢谢!:handshake
作者: Lam    时间: 2014-5-6 21:56
为什么版主从来不给技术分呢?:'(
作者: 嘿~~    时间: 2014-5-6 22:24
第一个x是局部变量,只在for循环语句中有效。第二个x不是全局变量,仍然是局部变量,因为它是定义在main方法内部的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2