企业网站建设网站有哪些,电子产品网站建设策划,地方门户网站有哪些,营业执照名称查询系统Java 变量类型
在Java语言中#xff0c;所有的变量在使用前必须声明。声明变量的基本格式如下#xff1a;
type identifier [ value][, identifier [ value] ...] ;格式说明#xff1a;type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 …Java 变量类型
在Java语言中所有的变量在使用前必须声明。声明变量的基本格式如下
type identifier [ value][, identifier [ value] ...] ;格式说明type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。
以下列出了一些变量的声明实例。注意有些包含了初始化过程。
int a, b, c; // 声明三个int型整数a、 b、c
int d 3, e 4, f 5; // 声明三个整数并赋予初值
byte z 22; // 声明并初始化 z
String s csdn; // 声明并初始化字符串 s
double pi 3.14159; // 声明了双精度浮点型变量 pi
char x x; // 声明变量 x 的值是字符 x。Java语言支持的变量类型有
类变量独立于方法之外的变量用 static 修饰。实例变量独立于方法之外的变量不过没有 static 修饰。局部变量类的方法中的变量。
实例
public class Variable{static int allClicks0; // 类变量String strhello world; // 实例变量public void method(){int i 0; // 局部变量}
}Java 局部变量
局部变量声明在方法、构造方法或者语句块中局部变量在方法、构造方法、或者语句块被执行的时候创建当它们执行完成后变量将会被销毁访问修饰符不能用于局部变量局部变量只在声明它的方法、构造方法或者语句块中可见局部变量是在栈上分配的。局部变量没有默认值所以局部变量被声明后必须经过初始化才可以使用。
实例 1 在以下实例中age是一个局部变量。定义在pupAge()方法中它的作用域就限制在这个方法中。
package com.csdn.test;public class Test{ public void pupAge(){int age 0;age age 7;System.out.println(小狗的年龄是: age);}public static void main(String[] args){Test test new Test();test.pupAge();}
}以上实例编译运行结果如下:
小狗的年龄是: 7实例 2 在下面的例子中 age 变量没有初始化所以在编译时会出错
package com.csdn.test;public class Test{ public void pupAge(){int age;age age 7;System.out.println(小狗的年龄是 : age);}public static void main(String[] args){Test test new Test();test.pupAge();}
}以上实例编译运行结果如下:
Test.java:4:variable number might not have been initialized
age age 7;^
1 error实例变量 实例变量声明在一个类中但在方法、构造方法和语句块之外 当一个对象被实例化之后每个实例变量的值就跟着确定 实例变量在对象创建的时候创建在对象被销毁的时候销毁 实例变量的值应该至少被一个方法、构造方法或者语句块引用使得外部能够通过这些方式获取实例变量信息 实例变量可以声明在使用前或者使用后 访问修饰符可以修饰实例变量 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见 实例变量具有默认值。数值型变量的默认值是0布尔型变量的默认值是false引用类型变量的默认值是null。变量的值可以在声明时指定也可以在构造方法中指定 实例变量可以直接通过变量名访问。但在静态方法以及其他类中就应该使用完全限定名ObjectReference.VariableName。
实例
Employee.java 文件代码
import java.io.*;
public class Employee{// 这个实例变量对子类可见public String name;// 私有变量仅在该类可见private double salary;//在构造器中对name赋值public Employee (String empName){name empName;}//设定salary的值public void setSalary(double empSal){salary empSal;} // 打印信息public void printEmp(){System.out.println(名字 : name );System.out.println(薪水 : salary);}public static void main(String[] args){Employee empOne new Employee(csdn);empOne.setSalary(1000.0);empOne.printEmp();}
}以上实例编译运行结果如下:
$ javac Employee.java
$ java Employee
名字 : csdn
薪水 : 1000.0类变量静态变量
类变量也称为静态变量在类中以 static 关键字声明但必须在方法之外。无论一个类创建了多少个对象类只拥有类变量的一份拷贝。静态变量除了被声明为常量外很少使用静态变量是指声明为 public/privatefinal 和 static类型的变量。静态变量初始化后不可改变。静态变量储存在静态存储区。经常被声明为常量很少单独使用 static 声明变量。静态变量在第一次被访问时创建在程序结束时销毁。与实例变量具有相似的可见性。但为了对类的使用者可见大多数静态变量声明为 public 类型。默认值和实例变量相似。数值型变量默认值是 0布尔型默认值是 false引用类型默认值是null。变量的值可以在声明的时候指定也可以在构造方法中指定。此外静态变量还可以在静态语句块中初始化。静态变量可以通过ClassName.VariableName的方式访问。类变量被声明为 public static final 类型时类变量名称一般建议使用大写字母。如果静态变量不是 public 和final 类型其命名方式与实例变量以及局部变量的命名方式一致。
实例
Employee.java 文件代码
import java.io.*;public class Employee {//salary是静态的私有变量private static double salary;// DEPARTMENT是一个常量public static final String DEPARTMENT 开发人员;public static void main(String[] args){salary 10000;System.out.println(DEPARTMENT平均工资:salary);}
}以上实例编译运行结果如下:
开发人员平均工资:10000.0注意如果其他类想要访问该变量可以这样访问Employee.DEPARTMENT。
Java 中静态变量和实例变量区别
静态变量属于类该类不生产对象通过类名就可以调用静态变量。实例变量属于该类的对象必须产生该类对象才能调用实例变量。
在程序运行时的区别
实例变量属于某个对象的属性必须创建了实例对象其中的实例变量才会被分配空间才能使用这个实例变量。静态变量不属于某个实例对象而是属于类所以也称为类变量只要程序加载了类的字节码不用创建任何实例对象静态变量就会被分配空间静态变量就可以被使用了。
总之实例变量必须创建对象后才可以通过这个对象来使用静态变量则可以直接使用类名来引用。
例如对于下面的程序无论创建多少个实例对象 永远都只分配了一个 staticInt 变量并且每创建一个实例对象这个 staticInt 就会加 1但是每创建一个实例对象就会分配一个 random 即可能分配多个 random 并且每个 random 的值都只自加了1次。
public class StaticTest {private static int staticInt 2;private int random 2;public StaticTest() {staticInt;random;System.out.println(staticInt staticInt random random);}public static void main(String[] args) {StaticTest test new StaticTest();StaticTest test2 new StaticTest();}
}执行以上程序输出结果为
staticInt 3 random 3
staticInt 4 random 3本章节中我们学习了Java的变量类型下一章节中我们将介绍Java修饰符的使用。