java变量与常量
一:变量的定义
1,指可以变化的量,
2java是一种强类型语言,每个变量必须声明其类型
3java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
注:1个变量都有类型,可以是基本类型也,可是引用类型
变量名必须是合法的标识符
变量名是一条完整的语句,因此每一个声明必须以分号结束
二,变量作用域
类变量
类变量也称为成员变量,声明在类中,不属于任何一个方法,作用域是整个类。
例 1
假设在一个类中声明了 3 个变量,下面编写一个测试类输出引起变量的值改变的示例代码。
变量声明代码如下所示:
- public class DataClass {
- int price=100; // 定义类变量 price
- price String name; // 定义类变量 name
- name int num; // 定义类变量 num
- }
测试类代码如下所示:
- public class Test {
- public static void main(String[] args) {
- DataClass dc=new DataCLass();
- System.out.println("name="+dc.name);
- System.out.println("num="+dc.num);
- System.out.println("price="+dc.price);
- }
- }
运行效果如下所示:
name=null num=0 price=100
在本例的第一段代码中定义了 3 个成员变量,并对其中第一个变量 price 进行了初始化,而第二个 name 变量和第三个变量 num 没有进行初始化。由输出结果可以看出,第一个变量的值为显示初始化的值,第二个和第三个变量的值则为系统默认初始化的值。
局部变量
局部变量是指在方法或者方法代码块中定义的变量,其作用域是其所在的代码块。
例 2
声明两个局部变量并输出其值,其实现代码如下:
- public class Test2 {
- public static void main(String[] args) {
- int a=7;
- if(5>3) {
- int s=3; // 声明一个 int 类型的局部变量
- System.out.println("s="+s);
- System.out.println("a="+a);
- }
- System.out.println("a="+a);
- }
- }
上述实例中定义了 a 和 s 两个局部变星,其中 int 类型的 a 的作用域是整个 main() 方法,而 int 类型的变量 s 的作用域是 if 语句的代码块内,其执行结果如下:
s=3 a=7 a=7
方法参数变量
作为方法参数声明的变量的作用域是整个方法。
例 3
声明一个方法参数变量,实现代码如下:
- public class Test3 {
- public static void testFun(int n) {
- System.out.println("n="+n);
- }
- public static void main(String[] args) {
- testFun(B);
- }
- }
在上述实例中定义了一个 testFun() 方法,该方法中包含一个 int 类型的参数变量 n,其作用域是 testFun() 方法体内。当调用方法时传递进了一个参数 3,因此其输出控制台的 n 值是 3。
异常处理参数变量
异常处理参数变量的作用域是在异常处理块中,该变量是将异常处理参数传递给异常处理块,与方法参数变量类似。
例 4
声明一个异常处理语句,实现代码如下:
- public class Test4 {
- public static void test() {
- try {
- System.out.println("Hello!Exception!");
- } catch(Exception e) { // 异常处理块,参数为 Exception 类型
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- test();
- }
- }
三、变量的命名规范
1所有变量,方法,类名,:见名知意
2类成员变量:首字母小写,驼峰原则:somePeople 除第一个单词外,后面的单词首字母大写lastName
3局部变量:首字母小写和驼峰原则
4常量:大写字母和下划线:MAX_VALUE
5类名:首字母大写和驼峰原则:Double.MAX_VALUE
6方法名;首字母小写和驼峰原则:run(),runRun()
常量:固定不变的量
常量值
常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。
整型常量值
Java 的整型常量值主要有如下 3 种形式。
- 十进制数形式:如 54、-67、0。
- 八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -11。
- 十六进制数形式:Java 中的十六进制常数的表示以 0x 或 0X 开头,如 0x100 表示十进制数 256,-0x16 表示十进制数 -22。
整型(int)常量默认在内存中占 32 位,是具有整数类型的值,当运算过程中所需值超过 32 位长度时,可以把它表示为长整型(long)数值。长整型类型则要在数字后面加 L 或 1, 如 697L,表示一个长整型数,它在内存中占 64 位。
实型常量值
Java 的实型常量值主要有如下两种形式。
- 十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。
- 科学记数法形式:如 1.75e5 或 32&E3,其中 e 或 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。
Java 实型常量默认在内存中占 64 位,是具有双精度型(double)的值。如果考虑到需要节省运行时的系统资源,而运算时的数据值取值范围并不大且运算精度要求不太高的情况,可以把它表示为单精度型(float)的数值。
单精度型数值一般要在该常数后面加 F 或 f,如 69.7f,表示一个 float 型实数,它在内存中占 32 位(取决于系统的版本高低)。
布尔型常量值
Java 的布尔型常量只有两个值,即 false(假)和 true(真)。
字符型和字符串常量值
Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。
除了以上所述形式的字符常量值之外,Java 还允许使用一种特殊形式的字符常量值来表示一些难以用一般字符表示的字符,这种特殊形式的字符是以开头的字符序列,称为转义字符。
注意:这里表示字符和字符串的单引号和双引号都必须是英语输入环境下输入的符号。

浙公网安备 33010602011771号