Java攻城记(二)精析常量与变量

补充:
首先我们对上一小节的有关编辑工具EditPlus进行补充。
如何将字节码文件在编译时存放在指定路径和运行时如何找到指定的字节码路径。
1.首先在主方法的路径下建立目录classes
Java攻城记(二)精析常量与变量_第1张图片
2.配置编译环境:
Java攻城记(二)精析常量与变量_第2张图片
1)工具->自定义工具->参数-> -d classes $(FileName) 最后点击 应用。
3.配置运行环境
Java攻城记(二)精析常量与变量_第3张图片
点击“运行”、修改“参数”一栏如图所示、应用、确定。
Java攻城记(二)精析常量与变量_第4张图片
如上图可以看到在我们的字节码文件目录中出现了字节码文件。
注意:classes不能自动生成,需要自己先创建。
一、
记得在上大一的时候老师讲C语言第一次引入了“变量”、“常量”等等一大批天书级别的标称。心想这辈子我可能干不了程序员这行一点灵性都没有,如今毕业都快10年了,一如既往的在这个行业里兴致勃勃的向前冲。有的时候“选择”可能是死磕完之后才是正确的。
常量:关键在这个“常” 就是固定不变的值,编辑的时候写定,编译的时候不可能变,运行的时候也不会变。程序的生命周从生到死都不会变。
1、常量
但是一个“常量”也是有学问的:在Java中可以分为两类
1.1、普通的常量
比如 整数常量(1、2、3、4)、小数常量(1.234)、布尔型常量(false,true)其实就是一个很直接的量,直接给出,需要体会。
1.2、final

final double PI = 3.1415927;
有点类似c/c++的 #define PI 3.1415927

2、变量
2.1、首先变量不是为了变而变,一定是为了方便而变。变量之所以变是为了可以重复被赋值,这样就可以重复被利用。
变量的命名:变量命名多有使用名词,也可以根据公司标准的命名规范。
下面先举一个简单的例子,

public class Variable 
{
	public static void main(String[] args) 
	{
		int a,b;
		a = 1;
		b = 2;
		System.out.println(a);
		System.out.println(b);
	}
}

定义了2个变量a、b 然后赋值a为1,b为2,然后打印输出:
Java攻城记(二)精析常量与变量_第5张图片
a = 1;其实a本身是个常量,把这个常量赋值给a这个int类型变量。
变量初始化后才能使用,初始化后才是真正意义上的分配了空间。
初始化就是给变量赋值。
b同理。
2.2、在声明变量的同时初始化。

public class Variable 
{
	public static void main(String[] args) 
	{
		int a = 1;
		int b = 2;
		System.out.println(a);
		System.out.println(b);
	}
}

2.3、变量的作用域
2.3.1、成员变量
在类中并且在方法外的变量:如下代码注释。
作用范围是在整个定义的类中(类的“{}”中)。
2.3.2、局部变量:方法中的变量
作用范围在成员方法的花括号(“{}”)中;

public class Variable 
{
	//成员变量、字段、属性 (不同时代的人不同叫法,老前辈叫字段的多)
	//这里的static 不能少 原因是 静态区域(public static void main(String[] args) )无法引用非静态变量
	static int age = 18;
	public static void main(String[] args) 
	{
		int age = 30;//局部变量
		System.out.println(age);
	}
}

上述代码在不同的作用域中定义了同一个变量,System.out.println(age); 输出的结果为30.
即便定义了两遍,使用还是以最小作用域为原则(就近原则)为基准。
所谓的花括号(“{}”)也指的是变量定义的位置到“}”结束的范围,意味着变量先定义才能使用。
2.3、变量总结:
我们对变量的理解要远远大于常量,写程序一个重要的用途就是解决重复的工作用机器代替人类,变量其实体现着计算机程序的一个飞跃点。
1)变量初始化后会占用一个内存中的一块实实在在的存储区域;
2)该区域不是随随便便一块,而是有名字:就是我们自定义的变量名(c/c++中可以理解为一个地址标记);大小也是固定的:类型名的大小就是这块区域的大小。
3)变量的意义就是可以被重复利用;
4)该区域只要类型不变,数据值可以任意变化。
5)变量需要先声明并且初始化后方能使用。
6)变量在同一作用域中不能被重复定义。

你可能感兴趣的:(Java)