广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 4174 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
righer
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x12
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
文章表情[Java] [求助]这段JAVA的程式码有一个地方不懂 麻烦能解说一下吗?[已解决~感恩^^]
import javax.swing.JOptionPane;
public class Welcome{
public static void main(String args[])
{
String n1,n2;
int f1,f2,sum=0 ;
n1=JOptionPane.showInputDialog("请输入一个整数");
n2=JOptionPane.showInputDialog("请输入一个整数");
..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



[ 此文章被righer在2005-03-11 16:33重新编辑 ]


献花 x0 回到顶端 [楼 主] From:台湾中华电信 | Posted:2005-03-11 05:05 |
PeterPan 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x1 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

在 main() 里面宣告的变数称为「自动变数」,必须设值﹝初始化﹞才能使用,如果只有单纯宣告它,它并不会被分配memory address。

这题例子举的不好,所以你会看不出来,我另外举个小例子:
public class Test{
  public static void main(String[] args){
    int sum;
    sum++;
    System.out.println(sum);
  }
}
以上的source code无法编译成功,会出现error message:variable sum might not have been initialized

所以自动变数一定要在宣告sum之后给它一个值﹝初始化﹞,才能使用,以下两种方式都算是初始化↓
int sum;
sum = 0;
int sum = 0;

你的助教举的例子等同于以下的 source code↓
import javax.swing.JOptionPane;
public class Welcome{
  public static void main(String args[]){
    String n1,n2;
    n1 = JOptionPane.showInputDialog("请输入一个整数");
    n2 = JOptionPane.showInputDialog("请输入一个整数");
    int sum = Integer.parseInt(n1) + Integer.parseInt(n2);
    JOptionPane.showMessageDialog(null,"sum = "+sum,"result",JOptionPane.PLAIN_MESSAGE);
  }
}
所以 sum 等于是宣告就直接初始化﹝初始化的数值等于 user 输入的两个数值相加﹞,也难怪会让你弄糊涂了这个观念。

SCJP蛮喜欢考这个观念,我可以作证,因为我去考的时候就遇到好几题相似的题目,然后问你编译会不会过?

此文章被评分,最近评分记录
财富:30 (by codeboy) | 理由: 恩..你说的很有道理~好答案!!


神:在多项技术领域,具有不可取代性且拥有高度权威
魔:在某项技术领域,具有不可取代性且拥有高度权威
妖:有高度实战经验,且在专业领域上具有domain-Knowledge
侠:在技术层面上有过人专业能力
人:可以独立运作、设计暨开发系统
虫:coder only (my level)
献花 x0 回到顶端 [1 楼] From:台湾数位联合 | Posted:2005-03-11 12:08 |
righer
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x12
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

恩 感谢大大的解答 原来如此 这样看我就懂了~
因为我们老师教半学期的C 就要我们学JAVA
C还不太懂的说 就要学JAVA...
我还要继续加油~

SCJP这个是什么呀?


献花 x0 回到顶端 [2 楼] From:台湾中华电信 | Posted:2005-03-11 16:31 |
PeterPan 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x1 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

SCJP 全名是 Sun Certified Java Programmer,简单来说就是SUN的基础程式设计认证。
要取得本项认证的程式设计人员,必须具备的能力包括使用Java 2 Platform、Standard Edition (J2SE),展示其熟悉基础Java程式设计语言。

你的老师也许想让你们每种语言都会一些,再自己挑一个深造吧,加油啰。


神:在多项技术领域,具有不可取代性且拥有高度权威
魔:在某项技术领域,具有不可取代性且拥有高度权威
妖:有高度实战经验,且在专业领域上具有domain-Knowledge
侠:在技术层面上有过人专业能力
人:可以独立运作、设计暨开发系统
虫:coder only (my level)
献花 x0 回到顶端 [3 楼] From:台湾数位联合 | Posted:2005-03-11 17:08 |
mmpo
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

java宣告不指定的话(针对的型别是int)...初使化是会自动给0

不过这个也要看版本跟设定的不同而会有所不同吧...

因为在我的电脑里是这样的情况,不过即然有大大说一定要人工上的初使化...我想大概是和我的电脑上的设定或版本有所不同吧

但针对选写程式的习惯上,最好要有这个动作

sum是f1加上f2的结果......如果你不能包证sum是0的话....那相加的结果也一定会有错误

所以不管是不是会自动初使化成零....好的习惯应该还是一开始初使化指定其为0会比较好


献花 x0 回到顶端 [4 楼] From:台湾中华电信 | Posted:2005-03-13 22:52 |
ooxx123
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

请问大大...
Sun Certified Java Programer
SUN是什么意思阿   ~"~a


献花 x0 回到顶端 [5 楼] From:台湾亚太线上 | Posted:2005-07-09 18:03 |
pbnttttt
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

SUN   就是创造出java这种程式语言的公司
ㄏㄏ 吃水果要拜树头  这是一定要知道的唷


献花 x0 回到顶端 [6 楼] From:未知地址 | Posted:2005-07-13 15:02 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.056505 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言