java基础3:变量

变量,常量,作用域。

变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须要申明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type    varName [=value] [{,varName[=value]}];
//数据类型 变量名=值;可以使用逗号隔开并来并声明多个同类型变量;
//例如下面的代码
public class Demon04 {
  public static void main(String[] args){
     int a=10;
     int b=2;
     int c=3;
     String name="王哲文";
     char x='x';
     double pi=3.14;
  }
}

我们可以通过变量来操控内存中的数据

假设在内存上有一块空间,变量指的是这个空间,但是在空间中存什么东西是不确定的。

空间是本身就存在的但是需要添加变量,需要添加数据类型例如整型的A,B,C,为了区分A,B,C我们就需要变量名。

注意事项:

  • 每个变量都有类型,类型可以是基本类型也可以是引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明必须以分号结束。


变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Variable{
    static int allClicks=0;//类变量
    String str="hello world";//实例变量。
    
    public void method(){
        int i=0;//局部变量
    }
}

类变量

需要加一个关键词:static:静态的。

public class Demo05 {
    //**************************
           static double salary=2005;
    //*****************************
    //写了之后直接用,不需要初始化
    //*****************************
    String name;
    int age;
    //但是要用到这两个的话就不简单了
    //*****************************
    public static void main(String[] args) {
        int i = 10;
        System.out.println(i);
        //局部变量:方法,语句块在{}内
        //使用之前必须申明且必须初始化值
        //*******************************
        //变量类型  变量名字=new Demo05();//相当于把自己给拿到了,这个变量就是他自己
         Demo05 demo05 =new Demo05();
         System.out.println(demo05.age);
        System.out.println(demo05.name);
        System.out.println(salary);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AIk0QYmp-1631008911362)(D:\JAVA学习图片\java变量常量作用域\03.png)]


类变量之后还会讲到他是从属于类的,会随着类的出现而出现,随着类的消失而消失。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o1erA2jk-1631008911366)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\image-20210904085647790.png)]

删去static后变量会报错。

在没有学后续课程时不要用new定义变量统统用static.

实例变量

和类变量差不多但是没有关键词static。

由上可知实例变量在方法的外面,类的里面。

从属于对象,即从属于类。

写了之后直接用,不需要初始化,但是这个类型的默认值

数值类型一般是0;0.0;

布尔值的默认值是false;

除了基本类型其余都是null.

public class Demo05 {
    //写了之后直接用,不需要初始化,但是这个类型的默认值
    //*****************************
    String name;
    int age;
    //但是要用到这两个的话就不简单了
    //*****************************
    public static void main(String[] args) {
        int i = 10;
        System.out.println(i);
        //局部变量:方法,语句块在{}内
        //使用之前必须申明且必须初始化值
        //*******************************
        //变量类型  变量名字=new Demo05();//相当于把自己给拿到了,这个变量就是他自己
         Demo05 demo05 =new Demo05();
         System.out.println(demo05.age);
         System.out.println(demo05.name);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V5D5jyMl-1631008911368)(D:\JAVA学习图片\java变量常量作用域\02.png)]

局部变量

在方法里面。

//属性简单理解为变量
//main方法
public class Demo05 {
    public static void main(String[] args) {
      int i = 10;
       System.out.println(i);
        //局部变量:方法,语句块,只在在{}内有效
        //使用之前必须申明且必须初始化值
    }
      //其他方法
      public void add(){
          System.out.println(i);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZ8Z7iLG-1631008911370)(D:\JAVA学习图片\java变量常量作用域\01.png)]

在其他方法中找不到i。

常量

  • 常量:初始化之后不能再改变值!不会变动的值。

  • 常量可以理解为特殊的变量,值被设定后,在程序运行过程中不允许被改变。

  • 格式: final 常量名=值

例如:final double PI=3.14.
常量名一般使用大写字符

public class Demo06 {
    static final double PI=3.1415926;
    public static void main(String[] args){
        System.out.println(PI);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1NX4PdZ-1631008911372)(D:\JAVA学习图片\java变量常量作用域\05.png)]

public class Demo06 {
    final static double PI=3.1415926;
    public static void main(String[] args){
        System.out.println(PI);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gbslPtHe-1631008911374)(D:\JAVA学习图片\java变量常量作用域\06.png)]

发现调换final顺序均能运行。

原因是final是修饰符,不存在先后顺序 。

double PI=3.1415926之前的都是修饰符

变量命名规范

  • 所有变量·,方法,类名:见名知意!
  • 类成员变量:首字母小写和驼峰原则(除了第一个单词以外,后面单词首字母大写如lastName)
  • 局部变量:首字母小写和驼峰原则。
  • 常量:大写字母,如果字母很多加下滑线。
  • 类名:首字母大写,和驼峰原则。
  • 方法名:首字母小写和驼峰原则:run(),runRun(.)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值