变量初始化的问题

变量初始化的问题

package qihangli;

public class ForDemo {

 public static void main(String[] args) {
  int ge,shi,bai;
  int sum,ji;
  for(int i=200;i<=300;i++)
  {
   ge=i%10;
   shi=i/10%10;
   bai=i/100;
   sum=ge+shi+bai;
   ji=ge*shi*bai;
   if(sum==12&&ji==42)
   {
    System.out.println("这个数为"+i);
   }
  }
   

 }

}

如上代码所示,我在定义三个数相乘时变量为ji,没有初始化,那么系统会默认一个什么值呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2018-03-07 18:44:53

局部变量是没有默认值的,你可以尝试在  int ge,shi,bai;下写一条输出语句打印ge的值,会发现报错。局部变量必须赋值后才能使用。

祝学习愉快!

  • 提问者 liqihang #1
    那么我在开始的时候没有给sum赋值0,没有给ji赋值1,程序没有报错,那么就是说局部变量在定义的时候可以不进行初始化?
    2018-03-07 19:58:49
  • 好帮手慕珊 回复 提问者 liqihang #2
    局部变量定义的时候不是必须初始化,系统也不会默认给局部变量进行初始化,所以要保证使用局部变量之前,局部变量是有值的才可以。
    2018-03-08 09:17:24
  • 提问者 liqihang 回复 好帮手慕珊 #3
    sum=ge+shi+bai这条语句是在使用sum吗?还是说这条语句相当于是给它初始化
    2018-03-08 09:35:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师