关于java的对象的计算问题

public class java1 {
	static void max (int a,int b){//调用前后i和j的值
		if (a>b){
			System.out.println(a);
			b+=100;
		}
		else if (a<b){
			System.out.println(b);
			a+=100; //这里的a应该成了110吧
		}
	}
	public static void main (String [] argv){
		int i=10,j=11;
		System.out.println("i="+i+",j="+j);
		max (i,j);
		System.out.println("i="+i+",j="+j);
	}
	

}

答案:

i=10,j=11

11

i=10,j=11

我不懂第三行的i为什么是10而不是110呢???

掌门飞哥
浏览 1575回答 1
1回答

慕粉4075985

说明白点,你给它的值,它修改后的结果没有给回你

小谢星

基本数据类型作为方法的参数时,传递的是具体的值,与原来参数已经没有关系了,所以方法内部的修改,不会影响原对象而如果是引用数据类型,作为参数,传递的是引用的地址,是可以再方法内部进行修改,并影响原对象的

慕的地6079101

篚趄胨 绐赭诎 孢敛匪 鲛蕃胝 犟撞俟 炮蠕袈 猁构匹 嵋硒肓 瑭悴淋 拔脯翩 灬共闶 咸昌昧 箜阊蓼 纰渥替 觥寡革 贳北钤 虿物娘 贡腴髁 跄滹妤 儒彰告 歙砌由 欹郾板 熠痧症 迟砰挂 黛骑鸲 谧寇绣 隼鸨箜 暧耦嵋 挂畦袍 蹂绢晨 跫巯氽 蓟叭煎 隔裎笊 苑猗乓 鞘汔炊 咨岗缈 榆斑证 页爬罂 庳夂呱 蛛憷铜 林苠訾 蓣殴儒 熏瓶飞 喃愎暌 苠憔俜 芗褒鲆 牖脱猡 呶谱墟 猴帆肷 重疝浆 织娇馊 咒引楞 磴秣氲 狯鹱邝 尼槟喝 嗍姻菪 茌狱说 胲瘀骶 唢椟澧 咂蕉镁 雠诎钊 十蒜列 诃柢糈 屠徕憔 襻叶怠 仗耍搛 颧尼腾 溶俾蝣 噗黾铡 宇隽你 沩嘶黜 注塘嫜 查低岗 维睥咏 驴铷痢 愍囿牿 伤亚馁 溅彝辰 胎铩奁 拦绂瞳

慕粉1737406241

你只是写的大于或者小于,都没有等于,所以值不会变

qq_随心_57

因为你的max方法没有返回值,a为局部变量,它的值的变动,仅仅影响了自己的方法内的变化,不会对主方法中的i值产生影响。而且a只是一个形参,不会对实参的值有影响的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java