for循环或while循环、方法或方法参数列表里定义的局部变量,在其内的代码块执行完毕后就被销毁了,不能再用了。
1. A方法的局部变量a作为B方法的传入参数,在B方法内对该传入参数的运算不会对A方法的局部变量a产生影响。见下代码:
public class ArrayReference
{
public static void changeReferValue(int in)
{
in+=1;
System.out.println("\n"+in);
}
public static void printarr(int in)
{
System.out.println(in);
}
public static void main(String[]args)
{
int in=10;
changeReferValue(in);
printarr(in);
}
}
//第一个打印值是11,第二个打印值还是10
2. 方法内调用方法出现变量重名的情形,分清谁是成员变量谁是局部变量。
setCat方法的传入参数weight是该方法的局部变量,而其内部调用的getCat方法,其中的weight是成员变量。
public class TestCat
{
public static void main(String[]args)
{
Cat.setCat(2.3f);
}
}
class Cat
{
private static float weight;
private static void getCat()
{
System.out.println("猫的体重是"+weight);
}
public static void setCat(float weight)
{
if(weight>0)
{
Cat.weight=weight;
getCat();
}
else
{
Cat.weight=10.0f;
System.out.println("输入值不合法,设为默认值");
getCat();
}
}
}
3. 成员变量、局部变量重名的情形下,在方法内对该重名变量的运算是默认针对局部变量的,而不是成员变量,除非特别指明是针对成员变量进行的。
public class ArrayReference
{
int int=3;
public static void changeReferValue(int in)
{
in+=1;
System.out.println("\n"+in);
}
public static void printarr(int in)
{
System.out.println(in);
}
public static void main(String[]args)
{
int in=10;
changeReferValue(in);
printarr(in)
}
}
//第一个打印值是11,第二个打印值还是10
4. 接上面第3条,特别指明是针对成员变量进行的运算。见下码
public class draft
{
static int in=3;
public static void changeReferValue(int in)
{
in+=1;
System.out.println("\n"+in);
draft.in+=1;
System.out.println("\n"+in);
System.out.println(draft.in);
}
public static void printarr(int in)
{
System.out.println(in);
}
public static void main(String[]args)
{
int in=10;
changeReferValue(in);
printarr(in)
}
}
//第一个打印值是11,第二个打印值还是11,第三个打印值是4,第四个打印值是10
5. 接上面第1条的内容:在B方法内对a的运算会影响到A中a的情形,则是使用return,将运算后的值返回到A方法内,见下代码:
public class ArrayReference
{
public static int changeReferValue(int in)
{
in+=1;
System.out.println("\n"+in);
return in;
}
public static void printarr(int in)
{
System.out.println(in);
}
public static void main(String[]args)
{
int in=10;
in=changeReferValue(in);
printarr(in);
}
}
//第一个打印值是11,第二个打印值则也是11
标签:int,void,局部变量,System,20241213,static,全局变量,public,out
From: https://blog.csdn.net/abgdc/article/details/144460562