Module: (Java) 子例程:过程和函数 - 1


Problem

9 /11


局部和全局变量

Theory Click to read/hide

通常需要使用仅在子程序中使用的附加变量。此类变量称为本地(或本地),只能在创建它们的子例程内进行操作。
 

Local variable scope 是声明它的花括号块

Java中的主程序也是一个子程序,所以在main()中声明的所有变量都是局部变量 
其他子程序对其他子程序的局部变量一无所知。

因此,可以将变量的作用域(scope)限制在真正需要它的子程序中。在编程中,这种技术称为封装  - 隐藏变量不被外部更改。

如果有必要声明一个在程序中任何地方(在任何子程序中)都可见的变量,则此类变量在所有子程序之外声明(参见下表中的程序 3)
此类变量称为全局

在Java中,当程序启动时,所有的全局变量都会自动置零(布尔变量变为false)


分析三个程序: <正文> 显示在屏幕上

Problem

编写一个带有参数 n 的程序,显示一棵树冠高度为 n 的圣诞树
主程序必须包含变量n的值的输入和过程的调用

例子
1) 在这个程序中,变量 i 是局部变量。在子程序中声明局部变量 2) 这里即使主程序中有变量i(值为7),也会新建一个值为5的局部变量i。 
当你运行这个程序时,屏幕会显示值75
3) 这个程序有一个全局变量i。它的值可以在子程序和主程序中改变
该过程将使用全局变量 i 并为其分配一个等于 2 的新值。值 2
静态无效测试() {  诠释我= 5; System.out.println(i); } 静态无效测试() {  诠释我= 5;   System.out.println(i); } public static void main(String[] args) { { 诠释我= 7;   System.out.println(i);  测试(); } 公共课主要{ 诠释我; 静态无效测试() {  我 = 2; } public static void main(String[] args) { { 测试(); System.out.println(i); }
<头> <日># <正文>
输入 输出
1 5 <前>     o    哦  呜呜呜  呜呜呜 呜呜呜