目录
- 大括号括起来的就是代码块
- 变量的作用域
- 理解作用域和命名空间
- for 循环嵌套
1. 大括号括起来的就是代码块
- 代码块的示例
- 有名字的代码块—— if-else 代码块,for 循环代码块,main 方法代码块
- 代码块也叫体,比如 for 循环体,main 方法体
- 代码块以嵌套
2. 变量的作用域
- 代码块里创建和使用变量
- 代码块里可以使用外层代码块的变量
- 代码块里创建变量
- 不能在外层代码块里使用内层代码块的变量。是否可以使用变量,也称作变量在某个代码块的可见性。也就是说,外层代码块创建的变量对内层代码块可见。内层代码块中创建的变量对外层代码块不可见。
- 内层命名空间不可以重复定义外层代码块的变量,但是可以使用外层代码块的变量
- 代码块无论嵌套多少层,都遵守上述变量可见性的
public class CodeBlock {
public static void main(String[] args) {
int outer = 100;
{
int inner = 10;
System.out.println("outer变量的值是" + outer + "。inner变量的值是" + inner + "。");
}
// System.out.println(inner); // 找不到 inner
int a1 = 1;
{
int a2 = a1 + 1;
{
int a3 = a2 + 1;
}
{
int a3 = a2 + 10;
}
System.out.println(a2);
}
}
}
outer变量的值是100。inner变量的值是10。
2
3. 理解作用域和命名空间
- 作用域和命名空间
- 同一个命名空间中的变量不可以重名
- 为了避免变量名冲突,所以必须有命名空间
4. for 循环嵌套
- 计算乘法表
- 两个数相乘,外层循环代表乘数,内层是被乘数。
- 循环嵌套,变量名不可以重复。
- 使用 break 语句让输出的乘法表更简洁。
- 使用 String 变量,做 String 的加法。
public class MultiTable {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
String line = "";
for (int j = 1; j <= 9; j++) {
if (i < j) {
break;
}
line = line + j + "*" + i + "=" + (j * i) + "\t";
}
System.out.println(line);
}
}
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
课外补充:
Python 代码实现九九乘法表。
for i in range(1, 10):
line = ""
for j in range(1, 10):
if i < j:
break
line = line + f"{j} * {i} = {i * j}\t"
print(line)