主要内容

  • 局部变量、实例变量、常量
  • 命名规范
  • switch语句中的穿透现象
  • 带标签的continue(类似于C++中的goto)

笔记详解

局部变量、实例变量、常量

Java的代码都是写在class中的,所以会有局部变量和实例变量的却别。

局部变量是在类的方法中定义的变量,实例变量是在类中定义的变量,也可以叫做类的成员变量或者类的属性。两者之间的定义方式如下:

public class TestVariable {
	public char letterA = 'a';		// 成员变量、实例变量、类的属性
	public static void main(String[] args) {
		char letterB = 'b';		// 局部变量
	}
}

Java中的常量就是不能改变的量,在声明的时候必须进行赋值,且在后面的程序中不能重新赋值和改变,定义常量的方法如下:

final int TEMP= 666;
命名规范

常量的命名规范:一般情况下,常量在命名的时候,全部使用大写字母来命名。如果需要,使用下划线进行分割,实例代码如下:

final double PI = 3.14;
final int MAX_SPEED = 120;
final char LETTER = 'a';

变量的命名规范:首字母小写,采用驼峰式的命名规范,示例代码如下:

int userAge = 22;
String userName = "Tom";

类的命名规范:首字母大写,采用驼峰式的命名规范,示例代码如下:

public class TestVariable{}
switch语句中的穿透现象

在使用switch语句的时候,一定要注意在每一个case语句后面加上 break; ,否则会发生穿透现象,即一个case语句中的内容执行完成之后,会一直往下执行,直到遇到 break;

但是有的时候,我们又可以巧妙的利用switch语句中的case穿透现象,来帮助我们完成一些事情,比如判断26个英文字母中的元音和非元音,具体代码如下:

char letterA = 'a';
char resultLetter;
resultLetter = (char) (letterA + (int) (Math.random() * 26));
switch (resultLetter) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
	System.out.println(resultLetter + "是一个元音");
	break;
default:
	System.out.println(resultLetter + "不是一个元音");
}
带标签的continue(类似于C++中的goto)

在C++中有我们可以使用goto语句进行跳转到任意指定的语句处,在Java中goto语句没有得到正常的使用,但是我们在使用continue的时候,却可以像使用goto语句一样,进行语句的跳转。这样做的主要目的是不仅结束当前的循环,还要结束当前循环之外的其他指定的循环。

例如我们计算100以内的质数的时候,就要用到下面的代码:

// 输出100以内的质数
outer: for (int i = 2; i <= 100; i++) {
	for (int j = 2; j <= i / 2; j++) {
		if (i % j == 0) {
			continue outer;
		}
	}
	System.out.print(i + "\t");
}

如果仅仅是使用 continue ,那么只能结束内部的当前循环,这样是不对的。这个时候我们就要给 continue