C#中只有局部变量其定义:局部变量存在于声明该变量的语句块或方法结束的大括号({})之前的作用域内;局部变量分为两种:一是类中的局部变量也称为类的字段(以后再说),二是方法中的局部变量
现阶段用到的都是方法内的局部变量,声明格式还是 数据类型 变量名 如: int num;
如上图所示i 的作用域范围只存在于for循环中,for循环之外访问不到该变量,如果在for循环之外使用会报错误 当前上下文中不存在名称“i” ,i的作用域范围在for循环的大括号中即蓝色标注的大括号区域内
k的作用域范围为Main方法中,可以在方法中也可以在for循环中使用,因为变量k声明在比for循环相对更大的范围方法区域中,而for循环也在方法中所以可以使用,方法中的k相当于声明在父级范围,而i声明在for循环中相当于子级,父级中声明的变量,在父级/子级中都可以使用,而子级声明的变量只能在子级使用,k的作用域范围即红色标注的大括号区域内
======for循环嵌套======
for嵌套最经典的面试题就是打印九九乘法表,效果图如下
九九乘法表代码实现如下
for循环嵌套如上图所示,for循环中又有一个for循环与if嵌套类似
外循环控制行,内循环控制列,嵌套循环在内循环输出的总数是外循环*内循环,比如此题中,外循环1-9 9个(控制行的循环是外循环),内循环也是1-9 9个,使用在内循环(控制列的循环是内循环)输出的总数为 9*9=81个;
内循环使用Console.Write()方法输出,不能使用Console.WriteLine()方法,关于它们的区别之前的(012说过),外循环中只有一句Console.WriteLine();用来换行的,可以将此句代码注释,然后运行看下效果
for循环嵌套执行过程:外循环执行一次,内循环执行九次
A的位置{2,2}前面的2是占位符输出的是i*k的结果值,后面的2主要作用是用于输出的对齐三种对齐方式:
{2,2}表示右对齐 输入其他数字试试比如 {2,3}或者{2,5}等(2后面是逗号加数字)
{2,-2}表示左对齐
{2:00}表示位置不够的前面加0以凑齐(2后面是冒号加00)如果是三位数则写成{2:000}
注意:一般嵌套也不要嵌套太多,嵌套时循环次数多的一般都放在内循环,循环次数少的放在外循环,但不绝对,有些情况是与之相反,嵌套次数怎么放自己掌握
练习题实现如下效果,输入数字几就输出几行,效果和下面一样下次讲