[Java basic] 03 变量

来源:互联网 发布:杭州知乎电子有限公司 编辑:程序博客网 时间:2024/06/05 18:22

变量的定义


    数学中变量是指没有固定的值、可以改变的数.在计算机中也是大同小异,数学意义上的变量只可以是数字.但是计算机意义上的变量可以存储很多类型的数据,如数字、字符串等.

    在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内存中数据的代词.变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据.

    简单说,变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据.

int  a = 5;int  b = 6;int  c = a + b;

    变量a、b、c指代内存中三块用于存储整数的存储空间,分别用于存储两个整数及这两个整数之和.


    关于变量我们需要注意以下几点:

    1. 变量的声明: 用特定语法声明一个变量,让运行环境为其分配空间.
    2. 变量的命名: 符合Java语言规范,最好有意义.
    3. 变量的初始化: 变量声明后需要为其赋一个初始值才能使用.
    4. 变量的访问: 可以对变量中的数据进行存取、操作,但必须和其类型匹配.

    当需要使用一个变量时,必须对该变量进行声明,变量的声明包含两点: 变量名和数据类型.

int  a;

    int为变量的数据类型,a为变量的名称,当声明如上语句时, JVM 会为该变量在内存中开辟存储空间,不同的变量类型决定了存储空间的结构.

系统内存可大致分为3个区域,系统区(OS)、程序区(Program)和数据区(Data).当程序执行时,程序代码会加载到内存中的程序区,数据暂时会存储在数据区中.

变量的声明

  • 未经声明的变量不能使用
    Java语言语法规定,变量使用之前必须声明,否则会有编译错误.

public static void main(String[] args) {    a = 1;         // 编译错误,变量没有声明     int score = 0;    scord = 10;    // 编译错误     System.out.println(score);}

    从上面的代码中,可以看到出现了两个编译错误,编译错误即为javac过程出现的错误,主要是由于语法问题导致的.

    第一个错误,a =1,是因为该变量没有声明.

    第二个错误,scord=100,是因为前面声明的为score,编译器并未找到scord变量,该错误是因为拼写错误造成的.

  •  一条语句中声明多个同类型变量

   如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔.

public static void main(String[] args) {    int a=1, b=2;     int c, d=3; }

    从上面的代码中,可以看到,第一条语句,声明了两个整型变量,分别赋值为1和2,中间使用逗号分隔,最后以;号结尾.

    第二条语句,声明了两个整型变量,c没有赋初始值,d赋初值为3.

变量的命名

  • 命名需要符合标识符语法要求
    1. 可以由字母、数字、"_"或"$"符组成,但是不能以数字开头.
    2. 中文可以作为变量名,但不提倡使用.
    3. Java大小写敏感.
    4. 不能使用Java保留字.如: int、if、else、for、break等.
int 123go = 100;            // 编译错误,标识符不能以数字开头.int 成绩 = 60;              // 编译没错,标识可以是中文,但不建议使用. int break= 200;             // 编译错误,break是Java保留字.int score = 80;System.out.println(Score);  // 编译错误,Java大小写敏感,Score变量没有声明.
  • 命名需见名知意,且符合Java规范

    在java语言中,对于变量、常量、方法、类、包等等都有名字,将这些名字统一称之为java标识符.

    Java 变量的命名应"见名知意",同时,Java编程规范要求: 变量的命名需采用"驼峰命名法",即如果变量的名字有多个单词组成,除第一个单词外,其他单词的首字母大写,其余的字母小写,例如: salary、 javaScore 、studentName、empSalary 等.

变量的初始化

  • 未经初始化的变量不能使用
    Java语法规定: 变量在使用之前必须初始化,即必须给该变量赋予特定的值,而在C语言中,变量使用之前可以不需要初始化,但是,其初始值不确定,而Java语言的设计者为了避免因此而带来的错误,规定变量必须初始化之后才能使用.
public static void main(String[] args) {    int a, b = 10;     int c = a + b;   // 编译错误    System.out.prinltn(c);} 
  • 在声明变量时初始化
    可以在变量声明时初始化,语法: 变量类型 变量名称 = 初始值;
public static void main(String[] args) {    int sum = 0; //声明同时初始化    int a = 5;     int b = 6;     sum = a + b;    System.out.println(sum);}
  • 在第一次使用变量前初始化
    可以在变量声明以后,通过赋值语句对变量进行初始化,但一定确保在第一次使用该变量之前.
public static void main(String[] args) {    int sum;    sum = 0; // 在使用sum变量之前对其进行初始化.    sum = sum + 100;    System.out.println(sum);}

变量的访问


  • 可以对变量中的值进行存取操作

    变量,顾名思义,可以改变的量,在java语言中,可以对其赋值、更改等操作,但是需要注意的是,对变量的操作即为对其所存储的数据的操作.

public static void main(String[] args) {    int a = 100;    a = a + 200;//该条语句的义: 将变量a中的值加上200所得结果再存入变量a} 

  • 变量的操作必须与类型匹配

    变量在声明时指定了它的数据类型,Java 编译器会检测对该变量的操作是否与其类型匹配,如果对变量的赋值或者操作与其类型不匹配,会产生编译错误.

public static void main(String[] args) {    int salary;    salary = 15000.50;  // 编译错误,整型变量不可以赋予浮点值(小数).         double d = 123.456;    int n = d%2;        // 编译错误,浮点型变量不可以进行取余计算.} 

作者: 龚半仙儿 出处: http://blog.csdn.net/gongbxr 转载请注明出处!

0 0