Java基础语法_变量类型【多测师_何sir】

变量声明格式

在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 = “runoob”; // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = ‘x’; // 声明变量 x 的值是字符 ‘x’。

局部变量

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

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

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

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

局部变量是在栈内存中分配的。

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

局部变量实例:
实例中age是一个局部变量。定义在pupAge()方法中,它的作用域就在这个方法中。

public class Test{ 
   public void pupAge(){
      int age = 5;
      System.out.println("小狗的年龄是: " + age);
   }
   public static void main(String[] args){
      Test test = new Test();
      test.pupAge();
   }
}

实例变量

实例变量声明在一个类中,但在方法、构造方法和语句块之外;
实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
实例变量可以声明在使用前或者使用后;
访问修饰符可以修饰实例变量;
实例变量对于类中的方法、构造方法或者语句块是可见的。
一般情况下应该把实例变量设为私有。
实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。
变量的值可以在声明时指定,也可以在构造方法中指定,也可以通过方法进行初始
实例变量可以直接通过变量名访问。

类变量

类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
静态变量储存在静态存储区。
静态变量在第一次被访问时创建,在程序结束时销毁。
与实例变量具有相似的可见性。
但为了对类的使用者可见,大多数静态变量声明为public类型。
默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。
此外,静态变量还可以在静态语句块中初始化。
静态变量可以通过:ClassName.VariableName的方式访问。

常量

使用final修饰的类变量则可以称之为常量
常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。
如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

// Java中变量的命名规则:
// 1,只能使用字母,$,_开头
// 2,首字母之后,可以使用字母,$,_,数字的任意组合
// 3,如果变量名称由多个单词组成,那么第一单词的首字母小写,其他单词的首字母大写
// 4,变量名称不可以使用java中的关键字(在IDEA中变橙色的就是关键字)
// 5,变量名称不可以相同
// 6,变量名称的长度,理论上来讲是不限制长度,但是建议命名能达到见明思意的效果
// 7,局部变量只能申明在方法中
// 8,全局变量申明在类里面,方法之外
// 9,访问修饰符不能用于局部变量
// 10,局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
public class Lesson {
    // 声明变量:全局变量包含:实例变量,类变量

    // 实例变量
    private double pi = 3.1415926;

    // 类变量(静态变量)
    // 使用static修饰的全局变量称之为类变量
    public static float height = 1.8f;

    // 申明一个全局变量,不赋值,那么该变量根据变量的类型来确定默认值
    public static boolean flag;

    // 常量 使用final修饰的全局变量则可以称之为常量
    // 常量 就是在申明后,它的值是不可以改变的
    // 所以在申明常量的时候必须初始常量的值。
    // 建议常量的命名使用全大写字母,如果有多个单词则使用下划线_隔开
    final int AGE = 30; // 不规范的常量申明
    // 规范的常量申明格式:
    public final static int PERSON_AGE = 40;

    // 定义了一个demo实例方法
    public void demo() {
        // 在实例方法中可以直接是实例变量

        // 实例变量在实例方法中可以使用(this.实例变量名称) 的形式来进行访问
        System.out.println(this.pi * radius);
        // 在实例方法中可以直接使用类变量

        // 类变量可以直接使用  (类名.类变量名称) 的形式来进行访问
        System.out.println(Lesson4.height * Lesson4.width);
    }

    // 实例变量
    private double radius = 10;

    // 类变量(静态变量)
    // 使用static修饰的全局变量称之为类变量
    public static float width = 1.8f;

    // 创建main方法的快捷方式:psvm
    // 使用了static修饰的方法叫静态方法,也可以叫类方法
    // 在静态方法(类方法)中不可以直接使用实例变量
    public static void main(String[] args) {
        // 声明变量:局部变量
        // 1,声明了一个int类型的变量
        // 2,定义变量的名称位number
        // 3,=为变量赋值
        int number = 13;
        System.out.println("Java中的局部变量number:" + number);
        // 同时申明3个相同类型的变量
        int number1, number2, number3;
        // 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
        // System.out.println(number1);
        // 同时申明3个相同类型的变量并赋值
        byte byte1 = 1, byte2 = 2, byte3 = 3;
        System.out.println(byte1);

        // 在静态方法(类方法)中不可以直接使用实例变量
        // 如果要使用那么必须通过创建类对象,然后通过类的对象来访问使用
        // System.out.println(pi * radius);  错误,不可以直接访问
        Lesson4 lesson4 = new Lesson4();
        System.out.println(lesson4.pi * lesson4.radius);

        // 在类方法中可以直接使用类变量
        System.out.println(height * width);

        // 全局变量有默认值的,不赋值可以直接使用
        System.out.println(flag);
    }

    // 定义了一个静态语句块
    static {
        System.out.println("=========================");
        // 在类方法中可以直接使用类变量
        System.out.println(height * width);

        // 静态块中也不能直接访问实例变量
        // System.out.println(pi * radius);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值