Java学习笔记之变量类型
来源:互联网 发布:js九九乘法表原理 编辑:程序博客网 时间:2024/05/21 08:59
一个变量为我们提供了被命名的存储空间。Java中的每个变量都一个特定的类型,其能够决定变量内存的大小和布局;值的范围可以存储在这个内存中;并且操作集可以应用于该变量。
在使用变量之前,必须先声明该变量。一个变量声明的基本形式如下:
data type variable [ = value][, variable [= value] ...] ;
这里,data type
是Java数据类型之一,variable
是变量名。如果要声明指定类型的多个变量,可以使用逗号分离的列表。
Java中变量的声明和初始化如下:
int a, b, c; // Declares three ints, a, b, and c.int a = 10, b = 10; // Example of initializationbyte B = 22; // initializes a byte type variable B.double pi = 3.14159; // declares and assigns a value of PI.char a = 'a'; // the char variable a iis initialized with value 'a'
本节将介绍Java语言中可用的各种变量类型。这里列出了三种变量:
- 局部变量
- 实例变量
- 类/静态变量
局部变量(Local variables)
- 局部变量是在方法、构造函数或块中进行声明的。
- 当程序进入方法、构造函数或块中时,局部变量就会被创建;而一旦程序退出了方法、构造函数或块时,该变量就会被摧毁。
- 访问修饰符不能用于局部变量。
- 局部变量只能在声明的方法,构造函数或块中可见。
- 局部变量是在堆栈层内部实现。
- 局部变量是没有默认值的,所以在使用之前,必须先声明且初始化赋初值。
如下,age
是一个局部变量,其是在pupAge()
方法内部定义的,故其作用范围仅限于该方法内。
public class Test{ public void pupAge(){ int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]){ Test test = new Test(); test.pupAge(); }}
运行结果:
Puppy age is: 7
下面是age
没有被初始化,结果就报错了。
public class Test{ public void pupAge(){ int age; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]){ Test test = new Test(); test.pupAge(); }}
运行结果:
Test.java:4:variable number might not have been initializedage = age + 7; ^1 error
实例变量(Instance variables)
- 实例变量是在类中,但在方法、构造函数或块之外声明的。
- 当空间被分配给堆中的对象时,将为每个实例变量值创建插槽。
- 当一个对象用
new
关键字被创建时,其实例变量即被创建,而当对象被摧毁时,其实例变量也将被摧毁。 - 访问修饰符可用来修饰实例变量。
- 实例变量对类中所有的方法、构造函数和块都是可见的。通常,建议将这些变量设置为
private
(访问级别)。然而,子类的可见性可通过这些运用访问修饰符的变量给出。 - 实例变量有默认值。对于数字,其默认值为
0
,对于布尔值,其默认值为false
,对于对象的引用,其默认值为null
。其默认值可在声明期间或构造函数中进行分配。 - 实例变量可直接通过调用类里面的变量名来访问。然而,在
static
方法和不同的类中调用时需使用全名,如ObjectReference.VariableName
例:
import java.io.*;public class Employee{ // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName){ name = empName; } // The salary variable is assigned a value. public void setSalary(double empSal){ salary = empSal; } // This method prints the employee details. public void printEmp(){ System.out.println("name : " + name ); System.out.println("salary :" + salary); } public static void main(String args[]){ Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); }}
运行结果:
name : Ransikasalary :1000.0
类/静态变量(Class/static variables)
- 类变量也称为静态变量,其在类中,但在方法、构造函数或块之外利用
static
关键字进行声明。 - 每个类只存在一个类变量的副本,而与被创建的对象个数无关。
- 静态变量除了被声明为常量,很少使用到。常量是被声明为
public
/private
,final
andstatic
的变量。常变量初始化后就不会再改变。 - 静态变量存储在静态内存中。
- 静态变量在程序开始执行时被创建,在程序停止时被摧毁。
- 其可见性跟实例变量类似。然而,大多数静态变量被声明为
public
,因为它们必须对类用户可见。 - 其默认值也和实例变量类似。
- 静态变量可通过调用类名
ClassName.VariableName
进行访问。 - 当类变量声明为
public static final
,其变量名要全部大写;如果静态变量不是public
和final
,其变量名语法与实例变量和局部变量一样。
例:
import java.io.*;public class Employee{ // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args[]){ salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); }}
运行结果:
Development average salary:1000
注意:如果变量是从外部类进行访问,其常变量应该这样访问:Employee.DEPARTMENT
。
0 0
- Java学习笔记之变量类型
- C++学习笔记之变量类型
- Java学习笔记之变量
- Java学习笔记(三)之― Java中的变量、数据类型、运算符、类型转换
- java学习笔记之六——变量的类型转换
- java学习笔记之---java基本类型
- Java学习笔记之Final(Static)变量
- Java学习笔记之本地变量
- c 学习笔记之二 变量的存储类型
- c++学习笔记之变量和基本类型(1)
- c++学习笔记之变量和基本类型(2)
- C学习笔记之:Register(寄存器类型变量)
- Python学习笔记之二 变量以及基本类型
- C++Primer学习笔记之变量和基本类型
- java学习笔记---String类型的变量“相等”
- 【Java学习笔记】解惑:string类型变量“不可变”?
- 【Java学习笔记】基本类型变量的操作
- 学习笔记(变量&基本类型)
- php json转换为嵌套数组array
- 怎样拷贝数组的数据
- Visio画UML用例图
- 学习计算机要懂矛盾论(1)
- Python使用SQLite
- Java学习笔记之变量类型
- 自定义UICollectionViewFlowLayout实现相册功能
- thinkphp框架session redis驱动
- 2. Add Two Numbers
- 判断布尔表达式
- Python 使用简单语法
- Ionic开发之路(二)
- VS2010 + OpenCV2.4.3
- HihoCoder 1269 优化延迟(二分、优先队列)