网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用特定的包在Java中高效处理日.
.制作类似于Title、ALT的提示效果.
.简单的struts应用开发(4).
.Java的中文编程配置心得.
.除岁迎新 Java 2005回顾&2006展望.
.Hibernate的简单Read性能测试.
.开发Java系统程序员要注意的基本.
.JDK1.4非阻塞套接字API概述.
.JDBC连接RAC的配置源代码剖析.
.利用Socket进行Java网络编程(二.
.lastIndexOf 方法.
.Java Applet程序设计基础.
.Enterprise JavaBeans 基础知识简.
.不使用function计算给定两个日期.
.浅析Java中常见的Date类的应用技.
.Java 虚拟机类装载:原理、实现与.
.使用Web服务和Ja.NET来实现互用性.
.关于学习JAVA的一点经验.
.用Java操作Microsoft Excel完美解.
.Java 理论与实践:嗨,我的线程到.

[JAVA]变量作用域的问题

发表日期:2008-1-5



变量作用域的问题:public String getAnswer() {  String myAnswer;  try  {      BufferedReader bfReader=new BufferedReader(new InputStreamReader(System.in));      myAnswer=new String(bfReader.readLine().toString());   System.out.println("你输入的是:"+myAnswer);      }  catch(Exception e){}  return myAnswer;   } }

这个方法总是报错,按以前的思路,myAnawer应已赋值了,怎会是还没赋值?

原来,这就是变量的作用域的问题,我把它改为:

 public String getAnswer() {   String myAnswer=new String(""); //注重这里 /*总结:定义在某个区域内的变量,必须在这个区域中NEW,象本方法,就不能用  String myAnswer;然后再下一层括号中NEW*/  try  {      BufferedReader bfReader=new BufferedReader(new InputStreamReader(System.in));   myAnswer=bfReader.readLine().toString();   //System.out.println("你输入的是:"+myAnswer);      }    catch(Exception e){}  //System.out.println(myAnswer);   return myAnswer; }

因为变量的作用域不能跳出它分配空间的那一对大括号 。

当然,也可以把String myAnswer跳出方法体,直接作为类中的一个变量,那么在方法中也可以直接使用这个变量。如

String myAnswer; public String getAnswer2()  {     try   {       BufferedReader bfReader=new BufferedReader(new InputStreamReader(System.in));       myAnswer=new String(bfReader.readLine().toString());    System.out.println("你输入的是:"+myAnswer);       }   catch(Exception e){}   return myAnswer;     }
上一篇:[Java]基本的学习实例 人气:610
下一篇:[JAVA]Panel 嵌入ScrollPane 人气:656
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐