Java循环中变量声明的考量:重置与累积的差异

上周,我的朋友在 Java 面试中重复时遇到了困难。

内部声明,每次迭代都会重置初始值。
像2 02 3 年3 月1 4 日一样,在计算素因数时,我在每个外循环i和内循环j之前将count设置为0。
这样count只统计当前i的元素。
4 月8 日经证实,该文章准确无误。

在外部声明,变量值会累加。
我记得我在 5 月 2 0 日写的 bug 示例。
在每个外循环开始时计数没有重置。
结果,所有数字的因数都被加在一起了。
6 月1 日调试后发现根本无法判断素数。
这个教训是深刻的。

使用内部声明执行独立计算。
例如,7 月 1 5 日,我正在计算每个数字的时间乘积。
我必须每次在循环中打开一个新的 tempProduct,否则结果会出现偏差。
由你决定。

结果累积或维护状态,外部声明。
9 月1 0日,我统计了数组的总和,仅使用总和并向外相加。
为了找到 1 0 月 5 日的最大值,我们还使用 max 将该值写在外面。
这个用得很多。

注意两点:一是要了解变量的作用,二是每次循环时外部变量都需要重置。
上次我在 1 1 月 2 2 日写代码时,我忘记了 tempList.clear()。
结果,数据被污染,调试时间也很长。
由你决定。

顺便说一句,1 2 月3 日,我只是在想,基本类型的内部和外部声明没有太大区别,但频繁创建复杂对象需要考虑GC压力。
我不确定这部分的确切数字,这取决于情况。
没关系。

java里的变量是用来干什么的,请简单描述,最好通俗易懂。

这个问题要从Java底层逻辑说起。
我们先来说说面向过程的变量。
这一点和C语言中是一样的。
这是一个临时存储位置。
数据处理完就结束了,就像我们吃饭用的筷子,用完就收起来。

我们来谈谈面向对象的变量,这是Java的一个特性。
它不是临时存储,而是存在于对象中。
无论你使用与否,它都是有意义的。
就像人的手脚一样,无论你是用眼睛看文章,还是用嘴说话,你的手脚总是有用的,对吗?
我在做Java项目的时候深刻体会到了这一点。
例如,一个学生班级有姓名、年龄、成绩等成员变量。
无论您当前的操作是查找成绩还是编辑姓名,这些变量都很重要。
它们构成了学习者对象的基本属性。

此外,面向对象变量的另一个好处是它们可以继承。
例如,如果有一个继承于学生类的教师类,那么教师类就可以拥有学生类的所有成员变量,这比面向过程的变量要灵活得多。

所以,面向对象的变量就像Java语言的基石,让我们的编程更加模块化、面向应用。
无论如何,这取决于你,我认为这个概念相当重要。
我还在思考这个问题。

java用的是实参还是形参

嘿,在Java中,调用方法时,形参和实参都要使用。

形参就是定义方法时写的变量名吧?例如,void add(int a, int b) 中的 a 和 b 就是形参。
它们只是占据一个位置并等待您在调用方法时传递值。
作用是让内部方法知道你打电话给我的时候打算发给我什么类型的数据,发多少。
方法执行后,形参可以对传递的值做一些事情。

特别之处在于,这个东西只能作为方法的一部分使用。
一旦该方法完成,它所占用的内存就会消失并被遗忘。

实参是你调用方法时传递的具体值。
例如,如果调用add(3 , 5 ),则3 和5 是实际参数。
作用就是将你的数据传递给方法,让方法处理它。
实际参数可以是具体的数字,如1 0,也可以是变量,如int x = 2 0;或计算表达式。
当调用时,它的值被确定并传递给形式参数。

特点是调用时就确定值,传递给形参。
在方法中,我们如何改变形参,比如a = a + 1 ?这个改变对参数本身没有影响,除非你通过引用传递对象,那么改变的是对象的内容,这是不同的。

简单来说,形参和实参是一起使用的。
形式参数写在方法定义中,告诉我我想要什么数据。
实际参数写的是调用方法的时候,发送什么数据给我。
当方法执行时,形参可以使用传递的值作为实参。
但请记住,对于基本数据类型,如果形式参数发生变化,实际参数不会相应变化。