栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的变量

之前写了这样一串代码:

int sum=0;
for (int i=2;i<=1000;i++){
            
            for(int j=1;j<=i/2;j++){
                if(i%j==0){
                    sum+=j;
                }
            }
            if(sum ==i){
                System.out.print(i+" ");
            }
        }

目的是求1-1000内的所有完数, 但是在代码运行之后却什么也没有输出

当时看了好半天也没有发现自己哪里错了,后来在老师的帮助下才发现是我忽略了局部变量的作用域,每次回到外层for循环时,sum的值是不会重新初始化的,从而导致了后面所求的sum值一直都是错的。改正之后代码如下:

for (int i=2;i<=1000;i++){

            int sum=0;
            for(int j=1;j<=i/2;j++){
                if(i%j==0){
                    sum+=j;
                }
            }
            if(sum ==i){
                System.out.print(i+" ");
            }
        }

这样,在每次计算一个新的数字的因子之和时,sum值都会重新初始化为0,解决了上面的问题

经过这道题后我认识到了自己对变量认识的不足,于是去网上又学习了一下各种变量的区别。

全局变量是定义在类的里面,方法和语句块之外,可以在前面加权限修饰符,在访问全局变量时,可以用类名.全局变量名访问,也可以创建类的实例对象后用实例对象名.全局变量名访问

局部变量定义在方法和语句块以内,必须手动初始化后才可以使用,作用域仅限于一对大括号以内,不能加权限修饰符,每次重新进入到方法或者语句块时,该方法或者语句块下的局部变量都会重新初始化

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号