*****代码块“{}”决定变量的作用域*****
在定义变量的语句所属的那层大括号之间,就是这个变量的有效作用范围,(但不能违背变量先定义后使用的原则)
eg1: 错误程序:
public class A{
public static void main(String args[]){
int c=6;
{ int d=2;
}
System.out.println(c);
System.out.println(d);
public static void main(String args[]){
int c=6;
{ int d=2;
}
System.out.println(c);
System.out.println(d);
}
}
}
//无法输出d
正确程序:
public class A{
public static void main(String args[]){
int c=6;
{ int d=2;
System.out.println(d);
}
System.out.println(c);
public static void main(String args[]){
int c=6;
{ int d=2;
System.out.println(d);
}
System.out.println(c);
}
}
}
eg3:错误程序:
public class B{
public static void main(String args[]){
int i,j;
for(i=0;i<2;i++){
j=5;}
System.out.println(i);
System.out.println(j);}
}//无法输出j,错误原因:未初始化j
public static void main(String args[]){
int i,j;
for(i=0;i<2;i++){
j=5;}
System.out.println(i);
System.out.println(j);}
}//无法输出j,错误原因:未初始化j
正确程序:public class B{
public static void main(String args[]){
int i,j=5;
for(i=0;i<2;i++){
}
System.out.println(i);
System.out.println(j);}
}
public static void main(String args[]){
int i,j=5;
for(i=0;i<2;i++){
}
System.out.println(i);
System.out.println(j);}
}
eg3:输出最大值及最小值
错误程序:
public class Maxmin{
public static void main(String args[]){
int x[]={1,7,5,8,9};
int i;
int max;
public static void main(String args[]){
int x[]={1,7,5,8,9};
int i;
int max;
int min;
for(i=0;i<x.length;i++){
max=x[0];
for(i=0;i<x.length;i++){
max=x[0];
min=x[0];
if(x[i]>max) max=x[i];
if(x[i]<min) min=x[i];
}
System.out.println("The value of max is:"+max);
System.out.println("The value of min is:"+min);
}
}
if(x[i]>max) max=x[i];
if(x[i]<min) min=x[i];
}
System.out.println("The value of max is:"+max);
System.out.println("The value of min is:"+min);
}
}
正确程序:
public class Maxmin{
public static void main(String args[]){
int x[]={1,7,5,8,9};
int i;
int max=x[0];
public static void main(String args[]){
int x[]={1,7,5,8,9};
int i;
int max=x[0];
int min=x[0];
for(i=0;i<x.length;i++){
//不能在此处才对max,min赋值 max=x[0],min=x[0];
if(x[i]>max) max=x[i];
if(x[i]<min) min=x[i];
}
System.out.println("The value of max is:"+max);
System.out.println("The value of min is:"+min);
}
}
for(i=0;i<x.length;i++){
//不能在此处才对max,min赋值 max=x[0],min=x[0];
if(x[i]>max) max=x[i];
if(x[i]<min) min=x[i];
}
System.out.println("The value of max is:"+max);
System.out.println("The value of min is:"+min);
}
}