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 = "nhooo";  // 声明并初始化字符串 s

double pi = 3.14159; // 声明了双精度浮点型变量 pi

char x = 'x';        // 声明变量 x 的值是字符 'x'。

Java语言支持的变量类型有:类变量:独立于方法之外的变量,用 static 修饰。

示例变量:独立于方法之外的变量,不过没有 static 修饰。

局部变量:类的方法中的变量。

示例

public class Variable{

static int allClicks=0;    // 类变量

String str="hello world";  // 实例变量

public void method(){

int i =0;  // 局部变量

}

}

Java 局部变量局部变量声明在方法、构造方法或者语句块中;

局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;

访问修饰符不能用于局部变量;

局部变量只在声明它的方法、构造方法或者语句块中可见;

局部变量是在栈上分配的。

局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

示例 1

在以下示例中age是一个局部变量。定义在pupAge()方法中,它的作用域就限制在这个方法中。

package com.nhooo.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.nhooo.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。变量的值可以在声明时指定,也可以在构造方法中指定;

示例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.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("nhooo");

empOne.setSalary(1000.0);

empOne.printEmp();

}

}

以上示例编译运行结果如下:$ javac Employee.java

$ java Employee

名字 : nhooo

薪水 : 1000.0

类变量(静态变量)类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。

无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。

静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和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的变量类型,下一章节中我们将介绍Java修饰符的使用。

java 变量类型_Java 变量类型相关推荐

  1. 大数据 java 代码示例_Java变量类型与示例

    大数据 java 代码示例 Java变量 (Java variables) Variables are the user-defined names of the memory blocks, and ...

  2. java变量数据类型_Java——变量和数据类型

    变量 变量就是一个临时存储数据的空间.那么我们把数据存在内存空间里面,怎么取呢? 举例说明: 我们可以把旅馆的一个个房间看作一个存储空间,把房间的名字"101"看成变量名,把房间类 ...

  3. java变量数据类型_java变量与数据类型

    第二章 变量与数据类型 变量 变量的概述 变量是指内存中的一个存储区域,该区域要有自己的名称(变量名).类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值. 每个变量都有自己的作用范围 ...

  4. java 正整数类型_Java 整数类型

    Java教程 - Java整数类型 Java字节类型 最小的整数类型为byte.byte类型变量在使用来自网络或文件的数据流时非常有用. 字节变量通过使用byte关键字声明.下面声明两个字节变量b和c ...

  5. java的整数类型_java整数类型

    public class Test2_9 { public static void main(String args[]){ //java有4种整数类型:byte,short,int,long //j ...

  6. java成员变量定义_java变量之成员变量和局部变量以及它们的运行机制

    Java语言根据变量定义位置的不同,将变量分为成员变量和局部变量.成员变量指的是定义在类中(方法外)的变量,局部变量指的是定义在方法中的变量.同时成员变量以是否用static修饰分为类变量和实例变量. ...

  7. java枚举类型转换_java枚举类型enum值与整数的转换

    java编程中偶尔会用到枚举,为了直观,我们通常将枚举值设置为形象的单词,方便理解和使用.枚举类型相当于数据库 中字典表,但是枚举只有字典表的值,缺少其他用来表示和值一一对应的字段,当我们在数据库中保 ...

  8. java枚举数字_Java枚举类型的使用,数值的二进制表示

    一.Java枚举类型的使用 首先请看这段代码: packagejava上课;public classEnumTest {public static voidmain(String[] args) { ...

  9. java 声明变量 初始化_Java变量的声明和初始化

    Java 语言是强类型(strongly typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明.后使用. 指定类型的变量只能接受类型与之匹配的值. 这意味着每个变量和每个表达式都有一个在 ...

最新文章

  1. exchange2003防垃圾邮件设置
  2. 【数字信号处理】线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 使用递推方法证明 )
  3. 2.两个VLAN通过一个交换机与路由器的连接
  4. 设置为true有什么区别_海绵与珍珠棉有什么区别?天南包装小编为您分析
  5. mysql float的缺点 (不适用于高精度数据)
  6. el-select回显
  7. 【Vue】实例对象的生命周期(方法详解)
  8. TensorFlow LeNet5
  9. Linux之相关英文缩写含义
  10. Atitit。Tree文件解析器的原理流程与设计实现  java  c# php js
  11. Day001 20210206
  12. android 盒子刷机,DIY封装Android盒子刷机镜像
  13. zune自搭虚拟服务器离线升级,Zune 30g 购买/使用 个人经验贴,希望可以帮到有需要的烧友~...
  14. Java判定身份证号码的合法性
  15. 2020计算机应用基础终结性考试,2019-2020年电大考试《计算机应用基础》形成性考核.docx-文档在线预览...
  16. 重磅!《中国DevOps现状调查报告(2021年)》正式发布!(附报告获取方式)
  17. 支付宝架构有多牛?还没看完我就跪了...
  18. python协同过滤可以预测吗_基于用户的协同过滤推荐算法原理-附python代码实现...
  19. python股票分析论文_股票分析与资产组合(python)
  20. 【web渗透思路】框架敏感信息泄露(特点、目录、配置)

热门文章

  1. 人脑认知计算模型简介(上)
  2. swin transformer 转 onnx
  3. 第十六届智能车竞赛全国总决赛究竟该怎么举办讨论中的“混沌”现象
  4. 机器学习——正则化线性回归和偏差/方差(Matlab代码实现)
  5. html 让按钮立体,纯CSS3打造立体质感按钮
  6. c语言---15 循环语句do while()
  7. Oh my God, 连jQuery都放弃IE了!
  8. 每日一题——输入某年某月某日,判断是这一年的第几天
  9. maya批量操作mel_MAYA运行单个MEL命令方法图文介绍
  10. 直流无刷电机c语言程序,无位置传感器的直流无刷电机调速控制程序(一)