首页 > 其他分享 >一道关于局部变量、成员变量以及传参的经典题目

一道关于局部变量、成员变量以及传参的经典题目

时间:2023-10-03 16:00:11浏览次数:30  
标签:传参 obj1 题目 ++ 局部变量 传递 int Test test

public class Test {
    static int s;
    int i;
    int j;

    {
        int i = 1; 
        i++;
        j++;
        s++;
    }

    public void test(int j) { 
        j++;
        i++;
        s++;
    }

    public static void main(String[] args) {
        Test obj1 = new Test();
        Test obj2 = new Test();
        obj1.test(10);
        obj1.test(20);
        obj2.test(30);
        System.out.println(obj1.i + "," + obj1.j + "," + obj1.s);
        System.out.println(obj2.i + "," + obj2.j + "," + obj2.s);
       
} }

 

问程序启动后会输出什么?

 

答案:

 2,1,5

1,1,5

 

解释:

1. 构造方法里面不是静态代码块,所以都是局部变量,这就是为什么test方法执行后i的值会被重置。

2. test方法所传的形式参数不是赋值,test(20)不是给j赋值20的意思,这只是值传递而不是引用传递。

3. 第二次调用test方法后,由于j是局部变量,所以默认的值是0,并且会重置。

 

值传递和引用传递:

 值传递是指将实际参数的副本传递给方法或函数的形式参数。在方法或函数的内部,

 对形式参数进行任何修改都不会影响实际参数的值。Java中的基本数据类型(如整型、字符型、布尔型等)都是通过值传递进行传递的

 引用传递相反,数组、字符串、自定义类等都是通过引用传递进行传递的

 

标签:传参,obj1,题目,++,局部变量,传递,int,Test,test
From: https://www.cnblogs.com/xialang/p/17741216.html

相关文章

  • http get 请求,path请求参数有数组类型的参数,怎么传参
    内容来自对chatgpt的咨询当在HTTPGET请求中传递数数组类型的参数时,需要按照一定的格式进行编码。并且具体的格式可能会根据后端的实现和预期的格式进行变化。这里有两种常见的方法:方法一:相同参数名,多次出现在URL中,后面每一个数组元素都用相同的参数名。例如,如果你有一个名......
  • C/C++中的ACM题目输入处理——简单易上手
    这里就不按其他文章的以各种情况为分类方法,而是以方法本身为分类办法。因为有一些方法是不同情况通用的,比如已知数量数字的输入和未知数量数字的输入,其实可以用同一种办法。输入C/C++:scanf正则表达式头文件<stdio.h>或<cstdio>普通使用时,语法为scanf("%d",&a),当遇到空格符、......
  • 结对项目:自动生成小学四则运算题目
    用Python实现一个自动生成小学四则运算题目的命令行程序 软件工程计科21级12班(广东工业大学-计算机学院)作业要求结对项目作业目标熟悉结对编程 成员姓名班级学号黄翼山计算机科学与技术2021级2班3119004783扎恩哈尔·吾兰计算机科学......
  • 结对项目:用Python实现自动生成小学四则运算题目的程序
    Python实现四则运算程序软件工程计科21级1.2班作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13016作业目标完成结对项目:四则运算;熟悉团队协作的方法和模式github链接:https://github.com/howdnb/howdnb项目成员信息姓名学号......
  • 结对项目:实现一个自动生成小学四则运算题目的命令行程序
    1作业摘要与结对伙伴介绍1.1作业摘要这个作业属于哪个课程所属课程链接这个作业要求在哪里作业要求链接这个作业的目标<熟悉软件工程流程,把握PSP流程框架,精进测试代码和性能改进的能力>Github链接1.2结对伙伴信息姓名学号彭学智3121004878......
  • 结对项目:Java实现自动生成小学四则运算题目
    结队项目软件工程所在班级队伍成员谢昊天(3121004672)林育鑫(3121004660)作业要求[要求](([个人项目-作业-计科21级12班-班级博客-博客园(cnblogs.com)](结对项目-作业-计科21级12班-班级博客-博客园(cnblogs.com))))作业目标实现一个自动生成......
  • 实现自动生成小学四则运算题目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13016这个作业的目标结对项目GitHub链接1.PSP表格PSP2.1PersionalSoftwareProcessStages预估......
  • 结对项目:自动生成小学四则运算题目
    这个作业属于哪个课程计科21级12班软件工程这个作业要求在哪里作业链接这个作业的目标结对项目github链接PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划3060Estimate估计这个任务需要多少时间3060Deve......
  • 结对项目:自动生成四则运算题目
    结对项目:自动生成四则运算题目项目成员:李奇龙3121004869李钰平3121004870github地址:作业仓库这个作业属于哪个课程点击这里这个作业要求在哪里点击这里这个作业的目标与队友共同完成结对项目——四则运算生成器一、PSP表格PSP2.1PersonalSoftwar......
  • 结对项目:实现一个自动生成小学四则运算题目的命令行程序
    结对项目软件工程首页-计科21级12班-广东工业大学-班级博客-博客园作业要求结对项目-作业-计科21级12班-班级博客-博客园作业目标实现一个自动生成小学四则运算题目项目成员3121004692甘盛培3121004702李梦承GitHubGitH......