zoukankan      html  css  js  c++  java
  • Java 之 变量

    一、变量

      1、变量的概念  

        •  内存中一个存储区域;
        •  该区域的数据可以在同一类型范围内不断变化;
        •  变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值;

      2、变量的作用

        作用:用于在内存中保存数据。在 Java 中,变量本质上,就是代表一块内存区域,变量中的数据是存储在 JVM 内存中。

      3、使用变量的注意点

        •  Java 中每个变量必须先声明,后使用;
        •  使用变量名来访问这块区域的数据;
        •  变量的作用域:其定义所在的一对 {} 内
        •  变量只有在其作用域内才有效;
        •  同一个作用域中,不能定义重名的变量;

    二、变量的声明与赋值

       变量定义的格式包括三个要素:数据类型、变量名、数据值

      1、声明变量

    语法: <数据类型> <变量名称>
    例如: int var;

      2、变量的赋值

    语法: <变量名称> = <值>
    例如: var = 10;

      3、声明和赋值变量

    语法: <数据类型> <变量名> = <初始化值>
    例如: int var = 10;
    例如:数据类型 变量名称1,变量名称2,变量名称3  = 值,变量名称4,变量名称5 =值2;    //多个相同类型的变量声明并赋值

      

        Tips:

          (1)如果创建多个变量,那么变量之间的名称不可以重复。(在同一作用域内)

          (2)对于 float 和 long 类型来说,字母后缀 F 和 L 不要丢掉。

          (3)java 语言是强类型的编程语言,要求数据类型必须和值的类型相同

          (4)如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。

          (5)没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。

          (6)变量使用不能超过作用域的范围。

            【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。

          (7)可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。

    三、变量的分类

      1、按照数据类型

        对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。

       

            

    类型 含义 数据举例
    整数常量 所有的整数 0,1,578,-6
    小数常量 所有的小数 3.14,-0.1
    字符常量 单引号引起来,只能写一个字符,必须有内容 'a',' ','中'
    字符串常量 双引号引起来,可以写多个字符,也可以不写 "a","hello","中国"
    布尔常量 只有两个值 true、false
    空常量 只有一个值 null

      2、按声明的位置

        变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,也就是变量的生命周期。

        变量的有效方位能够访问该变量的区域,若超出该区域,则在编译的时候出现错误。根据“有效范围”可以分为以下两类:

        在方法体外,类体内声明的变量称为成员变量

        在方法体内部声明的变量称为局部变量

         

         注意:二者在初始化值方面的异同:

        相同:都有各自的生命周期;

        不同:局部变量除形参外,需要显示初始化;

       案例:

        a. 成员变量:在类中定义的变量称为成员变量,成员变量在整个类中都有效。成员变量又可分为两种:静态变量和实例变量。

    1 class var{
    2   int x = 45;
    3   static int y = 80;
    4 }

        x 为实例变量,y 为静态变量(也称类变量)。如果在成员变量的类型前面加上关键字 static 这样的成员变量就称为 静态变量。

       静态变量的有效范围可以跨类,甚至可在整个应用程序之内。对于静态变量,除了能在定义它的类中存取,还能直接以 “类名.静态变量” 的方式在其他类内使用。

       b. 局部变量:在类的方法体重定义的变量,方法内部定义,在 { } 之间的代码中声明的变量称为局部变量。局部变量只在当前代码块有效。

        Tips:局部变量与成员变量同名时,成员变量将被隐藏。即这个成员变量在此方法中暂时失效。

     四、常量

        在程序执行过程中,值不会发生变化的量,即固定不变的量称为常量,也被称为“final”变量。

        常量在整个程序中只能被赋值一次,在为所有的对象共享值时,常量非常有用。

        例如:

    final double PI = 3.14159;       // 声明 double 型的常量PI 并赋值
    

              扩展:final关键字

          其中被 final 关键字修饰的变量称为常量,其实常量的值可以进行改变,不能改变的是这个变量指针与此对象的引用关系。

        案例1:

        

         当我们使用final修饰一个String变量是,刚开始赋予了值“abc”,然后在赋值"abcd"时,这时会产生一个新的字符串对象并指向它,所以编译不通过。

        案例2:

        

         当使用 final 修饰一个 StringBuilder 的变量时,StringBuilder是在原来的对象上面进行操作,不会产生新的对象,所以这时是可以的。

        但是当用 str2 重新指向一个新的StringBuilder对象时,这时就会编译不通过。

        

  • 相关阅读:
    Java基础(九)--反射
    Java基础(八)--String(源码)、StringBuffer、StringBuilder
    Java基础(七)--Exception异常处理
    Java基础(五)--内部类
    Redis系列(十一)--阿里云开发规范
    Java基础(四)--接口和抽象类
    Java基础(三)--final关键字
    生成count个[0-n)不重复的随机数
    Java基础(二)--this关键字及初始化
    十大Intellij IDEA快捷键(附IDEA快捷键详细列表及使用技巧)
  • 原文地址:https://www.cnblogs.com/niujifei/p/13542463.html
Copyright © 2011-2022 走看看