亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

【JAVA小白】 問關于變量一開始沒有賦值結果錯誤的疑問

【JAVA小白】 問關于變量一開始沒有賦值結果錯誤的疑問

拉莫斯之舞 2019-01-17 00:56:38
代碼如下: package com.helloworld; public class HelloWorld { public static void main(String[] args) { int index; //定義了一個變量index for (int i = 0 ; i < 10 ; i++) { if (i == 5 ) { index = i; //當i等于5的時候,賦值給index } System.out.println("index是" + index); //系統顯示這里錯誤,但是我有點不明白, //不是明明已經給index復制了么,為什么錯誤 } } } 只有把一開始的變量聲明,int index 改成index index = 0 錯誤才消失。但是這個我有點不明白,我明明在里面賦值了,為什么是錯的?
查看完整描述

2 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

使用時"有可能"未被賦值就是編譯錯誤. 編譯器的控制流分析不夠就是這樣了

查看完整回答
反對 回復 2019-03-01
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

(1)在java中,類的成員變量不用初始化即可直接使用,JVM會自動初始化,原始變量如int char short long byte初始化為0,float double初始化為0.0,boolean初始化為false,對象初始化為null。

(2)在方法內的變量是局部變量,JVM不會給其分配默認值,局部變量必須要我們為其賦初始值,否則將得到編譯錯誤的提示。

class A{
    int i;  //成員變量,JVM自動初始化為0
    public static void main(String[] args) {
        int j = 0; //局部變量。 必須自己賦初始值,否則會報錯。
    }
}
查看完整回答
反對 回復 2019-03-01
  • 2 回答
  • 0 關注
  • 465 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號