A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Lam 中级黑马   /  2014-5-5 23:04  /  957 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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. }
复制代码

9 个回复

倒序浏览
我的问题在注释中,谢谢大家帮忙解答!
回复 使用道具 举报
都属于局部变量,但是int x=1属于局部动态变量。因为都是定义在main方法内部。
回复 使用道具 举报
第一个是局部变量,作用域随着for循环结束而结束。
第二个也是局部,只是作用域比第一个长,都是定义在方法内部的。
回复 使用道具 举报
Mr.Ji 发表于 2014-5-5 23:33
第一个是局部变量,作用域随着for循环结束而结束。
第二个也是局部,只是作用域比第一个长,都是定义在方法 ...

啥是全局变量?是不是定义在类中的变量?
回复 使用道具 举报
Lam 发表于 2014-5-6 12:23
啥是全局变量?是不是定义在类中的变量?

在类中定义的,简单来说就是针对一个main方法中,所有的类方法都能调用的变量,就是全局变量,上面那俩都是定义在一个方法中的,别的方法无法调用,个人拙见
回复 使用道具 举报
直接定义在类中的是全局变量,定义在方法中的是局部变量
回复 使用道具 举报
Lam 中级黑马 2014-5-6 21:54:49
8#
谢谢!:handshake
回复 使用道具 举报
Lam 中级黑马 2014-5-6 21:56:16
9#
为什么版主从来不给技术分呢?:'(
回复 使用道具 举报
第一个x是局部变量,只在for循环语句中有效。第二个x不是全局变量,仍然是局部变量,因为它是定义在main方法内部的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马