博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
变量的作用范围
阅读量:5245 次
发布时间:2019-06-14

本文共 1200 字,大约阅读时间需要 4 分钟。

1.类中所有变量的默认修饰符是private。

2.局部变量必须先初始化才能使用,全局变量(类的成员变量)可以不初始化,默认值为0;

1 static void Main(string[] args) 2         { 3             //M(); 4             //M1(); 5             //M2(); 6  7             int m; 8             if (n > 5) 9             {10                 m = 1;11             }12             else13             {14                 m++;15             }16 17             Console.ReadKey();18         }19 20         static int n = 10;
View Code

如上代码,局部变量m没有赋值,所以不能使用m(m++报错)。

 

Q:

如图中的代码,输入的结果是?(10,11,12)

1 class Program 2     { 3         static void Main(string[] args) 4         { 5             M(); 6             M1(); 7             M2(); 8             Console.ReadKey(); 9         }10 11         static int n = 10;12 13         static void M()14         {15             Console.WriteLine(n);16         }17 18         static void M1()19         {20             n++;21             Console.WriteLine(n);22         }23 24         static void M2()25         {26             n++;27             Console.WriteLine(n);28         }29 30     }
View Code

n初始化的值是10,调用M1后,赋值一次,n=11,调用M2后,赋值一次,n=12.不要与值类型传参混淆了。(值类型传递的是副本,所以最初的n的值不会改变,这是错误的思想,这里是赋值,不是传参)。

转载于:https://www.cnblogs.com/wesley168/p/6375680.html

你可能感兴趣的文章
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
CSS与Theme的作用——Asp.Net
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
20165115 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
WPF自定义集合控件概述与遇到的问题
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
pytest的参数化测试
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
安装Pygame和pip的艰辛之路
查看>>
Hibernate的实体类为什么需要实现 java.io.Serializable 接口
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
Min Stack
查看>>
老鸟的Python入门教程
查看>>
Ubuntu下非常给力的下载工具--uget+aria2
查看>>
Nginx配置
查看>>
棋盘覆盖问题
查看>>