编程语言与高级语言虚拟机杂谈仮 2018-03-07
2018-03-07
一、JAVA的命名规则
变量命名必须满足一系列的条件,不能随意命名
变量命名只能使用字母 数字 $ _
变量第一个字符 只能使用 字母 $ _
变量第一个字符 不能使用数字
注:_ 是下划线,不是-减号或者—— 破折号
int a= 5; int a_12= 5; int $a43= 5; int a434= 5; //第一个是数字,是不行的 int 34a= 5;
public class Hero { //使用完整单词命名,易于理解 String name; float hp; float armor; int moveSpeed; }
public class Hero { //使用缩写,不易理解 String n; float h; float a; int m; }
什么是关键字
比如int, short, class 这些单词已经被java 赋予了特殊的含义,这些就是关键字。不能用直接来作为变量名
比如class
int class = 5;
class 是关键字
但是可以包含
比如
int class5 = 5;
public class HelloWorld { public static void main(String[] args) { int class5 = 5; } }
中文也是可以用来命名变量的,但是在实际工作中。。。别这么干。。。
public class 苍老师 { public void 开展教学工作(){ System.out.println("雅蠛蝶"); } public static void main(String[] args) { 苍老师 苍 = new 苍老师(); 苍.开展教学工作(); } }
二、JAVA的作用域
变量处于不同的位置,有不同的名称
分别是
字段,属性
参数
局部变量
不同名称的变量,其作用域是不一样的
当一个变量被声明在类下面,变量就叫做字段或者属性、成员变量、Field比如变量i,就是一个属性。
那么从第2行这个变量声明的位置开始,整个类都可以访问得到
所以其作用域就是从其声明的位置开始的整个类
public class HelloWorld { int i = 1; int j = i; //其他的属性可以访问i public void method1(){ System.out.println(i); //方法1里可以访问i } public void method2(){ System.out.println(i); //方法2里可以访问i } }
如果一个变量,是声明在一个方法上的,就叫做参数
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数
public class HelloWorld { public void method1(int i){ //参数i的作用域即方法method1 System.out.println(i); } public void method2(){ System.out.println(i); //method2 不能访问参数i } int j = i; //类里面也不能访问参数i }
声明在方法内的变量,叫做局部变量;其作用域在声明开始的位置,到其所处于的块结束位置
public class HelloWorld { public void method1() { int i = 5; //其作用范围是从声明的第4行,到其所处于的块结束12行位置 System.out.println(i); { //子块 System.out.println(i); //可以访问i int j = 6; System.out.println(j); //可以访问j } System.out.println(j); //不能访问j,因为其作用域到第10行就结束了 } }