Day12 局部变量

1 局部变量
1.1 思索代码
class Method9 {
	public static void main(String[] args) {
        int num = 5;
        test(num);
        
        // 5 为什么是5
        System.out.println(num);
    }
    
    public static void test(int num) {
        num = 10;
    }
}
1.2 局部变量概述
局部变量概念
	除class大括号之外,其他大括号以内的变量都可以认为是一个局部变量。
	方法大括号以内,if分支结构以内,switch case结构大括号以内,循环大括号以内
	以上大括号以内全部都是【局部变量】
	
作用域
	当前局部变量能够使用的范围在什么地方
	局部变量有且只能在当前所处大括号以内使用,超出范围无法使用
	
	青岛校区刘磊 和 郑州校区刘磊,没有关系,跨区域
	一个网吧充值会员100块,换一个网吧不能使用,作用域	
	
生存期
	局部变量的生存期也在大括号以内,和作用域一致。

1.3 错误分析讲解
1. 
for (int i = 1; i <= 10; i++) {
    
}

System.out.println(i); // ??? 
Method10.java:7: 错误: 找不到符号
                System.out.println(i); // ???
                                   ^
  符号:   变量 i
  位置: 类 Method10
1 个错误
for (int i = 1; i <= 10; i++) {
    
}

for (int i = 1; i <= 10; i++) {
    
}
不冲突,两个for循环中,i循环变量分别属于不同的大括号以内,不同的作用域空间
 for (int i = 1; i <= 10; i++) {
    for (int i = 1; i <= 10; i++) {
        
    }
}
冲突,在外层for循环中,已经定义了循环变量i,内层循环重新定义了循环变量,也是i,重复定义变量,冲突
  for (int i = 1; i <= 10; i++) {
    if (i > 5) {
        int num = 10;
    }
	System.out.println(num);
}
System.out.println(num);
错误的!!!
    因为num变量定义在if 大括号以内,作用域和生存期有且只在if分支结构大括号以内,超出范围,无效!!!  
    
    
    
    
1.4 总结
1. 关注局部变量的作用域和生存期范围,两者同步,并且都在对应的大括号以内
2. 变量未定义不能使用,要保证代码执行的,从上至下,从左至右原则
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值