变量

变量

  • 变量是怎么:就是可以变化的量!(假设内存里有个空间,位置是确定的,但是空间里要存什么还不确定)(衣柜鞋柜,鞋柜放鞋,放各种品牌的鞋)

       type varname [=value][{,varname[=value]}];//不建议一行定义多值
    //数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量
    //int     a    = 10;
    //鞋柜    鞋    =  NIKE;
    
  • Java是强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的存储单元,其基本要素包括变量名,变量类型和作用域。

    注意事项

    • 每个变量都有类型,类型可以是基本类型(8大基本类型),也可以是引用类型(学过的String类型)

    • 变量名必须是合法的标识符(a-z,A-Z,$,_)

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

      public class DEMO06 {
          public static void main(String[] args) {
              //int a,b,c
              int a=1;
              int b=2;
              int c=3;//程序可读性,最好不要叠在一起表示
              String name = "sgz";
              char d = 'X';
              double e = 3.14;
              System.out.println(a);
              //作用域
          }
      }
      

    变量命名规则

    • 所有变量、方法、类名:见名知意
    • 类成员变量(int monthSalary = 23000;):首字母小写和驼峰原则 ,如monthSalary,除了第一个单词以外,其余单词首字母大写
    • 局部变量:(在方法里面的):首字母小写和驼峰原则
    • 常量:大写字母和下划线
    • 类名:首字母大写和驼峰原则(写的DEMO就不符合规范,后面注意要写成Demo)
    • 方法名:首字母小写和驼峰原则;run()

    局部变量

  • 在一个方法(函数)的两个{ }之间起作用的变量,使用前必须声明(int q = 6;)和初始化值

    image-20220704214421153

    public class DEMO07 {
    
        //属性:变量
    //实例变量
        //main方法
         public static void main(String[] args) {
             //局部变量:一个方法的两个大括号之间,使用前必须声明和初始化值
         int i=10;
         System.out.println(i);
    
    
        }
        //其他方法
        public void add(){
     // System.out.println(i);//输出不了,因为i是局部变量,只在其所在上下俩{}内有用
    
        }
    }
    
    
    • 注意点:不要把其他函数(方法)写进上一个函数(方法里),如下:

image-20220704213637948

修改add函数位置,即注意{ }的里外顺序,修改如下:

image-20220704213717416

实例变量

  • 实例变量的作用域更大(如可以使用在多个方法里),我们把实例变量放在类(此数名DEMO07)里面,方法的外面。是从属于对象的,如果不自行初始化,会输出这个类型的默认值 0, 0.0
    • int默认值0
    • 布尔值默认值false
    • 除了基本类型(8大),其余的默认值都是null 空
import org.omg.CORBA.PUBLIC_MEMBER;

public class DEMO07 {
       static String name;
       static int age;//实例(全局)变量不像局部变量写了就能用
    //main方法
    public static void main(String[] args) {

        //变量类型  变量名字 = new DEMO07();
        DEMO07 demo07 = new DEMO07();//鼠标放在分号后面,alt 回车回车 返回一个demo07
        //把这个类拿到,通过new这个类返回一个demo07
        System.out.println(DEMO07.age);//alt+shift+回车=把非静态量变为静态量
        System.out.println(DEMO07.name);

    }
}

​ -关于会出现的问题:无法从静态上下文中引用非静态变量

image-20220705000835104

​ - 解决办法,即把age变成静态量

image-20220705000607318

类变量

  • 加上static关键词,从属于类·,在方法外面,但可以在方法里直接输出

  • 在方法外面的变量全部加static变成类变量,方便调用

    public class DEMO08 {
    
        //类变量  static
        static double salary = 10000;
    
        public static void main(String[] args) {
            System.out.println(salary);//可以直接输出salary
          
        }
    }
    

常量

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

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

    final 常量名 = 值;
    final double PI = 3.14;
    
  • 常量一般使用大写字符

    import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
    
    public class DEMO08 {
    
        //常量
           static final double PI = 3.14;//final static double PI = 3.14也可以
           //都加static使用,不需要new
           final static int SGZ =666;
           //final作为修饰符,不存在先后顺序,最终定义,不与更改
    
        public static void main(String[] args) {
            System.out.println(PI);
            System.out.println(SGZ);
            
        }
    }
    
    
    • 修饰符不存在先后顺序,(变量类型double前面的都是修饰符)
posted @ 2022-07-05 16:23  来自土木的一员  阅读(45)  评论(0)    收藏  举报