什么是变量,变量是什么

1.1. 什么是变量

在日常生活中,人们会用到大量数据,像去ATM机取款,首先,需要插入银行卡,这个过程其实就是ATM机的系统在获取银行卡号这个数据,而后,输入密码,这个过程也是在获取数据,也就是密码。在后续进行的业务处理中,像存钱、取钱、转帐汇款等等,银行卡号和密码会被反复的、频繁的使用, 那就需要一个存储这些数据的地方。

在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内存中数据的代词。

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

1.int  a = 5;

2.int  b = 6;

3.int  c = a + b;

如上代码中,变量a、b、c指代内存中三块用于存储整数的存储空间,分别用于存储两个整数及这两个整数之和,int意为整数数据类型,后续课程会详细介绍。

对于变量,我们需要关注如下几个方面:

1.变量的声明:用特定语法声明一个变量,让运行环境为其分配空间。

2.变量的命名:需要有个见名知意的名字,而且要符合Java语言规范。

3.变量的初始化:变量声明后,要为其赋一个确定的初值后再使用。

4.变量的访问:可以对变量中的数据进行存取、操作,但必须和其类型匹配。

1.2. 变量的声明

1.2.1. 变量的声明

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

int  a

上面的代码中,int为变量的数据类型,a为变量的名称,当声明如上语句时,JVM会为该变量在内存中开辟存储空间,不同的变量类型决定了存储空间的结构(后面详细介绍)。

1.2.2. 未经声明的变量不能使用

Java语言语法规定,变量使用之前必须声明,否则会有编译错误。代码如下所示:

public static void main(String[] args) {

a = 1;  // 编译错误,变量没有声明

int score = 0;

scord = 100; // 编译错误

System.out.println(score);

}

从上面的代码中,可以看到出现了两个编译错误,编译错误即为javac过程出现的错误,主要是由于语法问题导致的。第一个错误,a =1,是因为该变量没有声明。第二个错误,scord=100,是因为前面声明的为score,编译器并未找到scord变量,该错误是因为拼写错误造成的。

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

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

public static void main(String[] args) {

int a=1, b=2;

int c, d=3;

}

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

1.3. 变量的命名

1.3.1. 命名需要符合标识符语法要求

在java语言中,对于变量、常量、方法、类、包等等都有名字,将这些名字统一称之为java标识符,标识符的命名规则如下列表所示:

可以由字母、数字、“_”或“$”符组成,但是不能以数字开头。

中文可以作为变量名,但不提倡使用。

Java大小写敏感,即:严格区分大小写,在给命名变量时需要注意。

不能使用Java保留字(一些Java语言规定好的,有特殊含义的字符),如:int、if、else、for、break等。

看如下的一些实例,可以体现出java标识符的命名规则:

int 123go = 100; // 编译错误,标识符不能以数字开头。

int 成绩 = 60;// 编译没错,标识可以是中文,但不建议使用。

int break= 200; // 编译错误,break是Java保留字。

int score = 80;

System.out.println(Score);  // 编译错误,Java大小写敏感,Score变量没有声明。

1.3.2. 命名需见名知意,且符合Java规范

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

1.4. 变量的初始化

1.4.1. 未经初始化的变量不能使用

Java语法规定:变量在使用之前必须初始化,即必须给该变量赋予特定的值,而在C语言中,变量使用之前可以不需要初始化,但是,其初始值不确定,而Java语言的设计者为了避免因此而带来的错误,规定变量必须初始化之后才能使用,代码如下所示:

public static void main(String[] args) {

int a, b = 10;

int c = a + b;    // 编译错误

System.out.prinltn(c);

}

上面的代码出现了编译错误, 原因是变量b赋了初始值,在给变量c赋值时可以使用b,而变量a并未赋初始值就直接使用了,违反了java语法的规定,变量使用之前必须初始化,所以出现编译错误。

1.4.2. 在声明变量时初始化

可以在变量声明时初始化,语法:变量类型 变量名称 = 初始值;代码如下所示:

public static void main(String[] args) {

int sum = 0;    //声明同时初始化

int a = 5;

int b = 6;

sum = a + b;

System.out.println(sum);

}

1.4.3. 在第一次使用变量前初始化

可以在变量声明以后,通过赋值语句对变量进行初始化,但一定确保在第一次使用该变量之前,代码如下所示:

1.public static void main(String[] args) {

int sum;

sum = 0;   // 在使用sum变量之前对其进行初始化。

sum = sum + 100;

System.out.println(sum);

}

1.5. 变量的访问

1.5.1. 可以对变量中的值进行存取,操作

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

public static void main(String[] args) {

int a = 100;

a = a + 200;//该条语句的义:将变量a中的值加上200所得结果再存入变量a

}

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

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

public static void main(String[] args) {

int salary;

salary = 15000.50;  // 编译错误,整型变量不可以赋予浮点值(小数)。

double d = 123.456;

int n = d%2;  // 编译错误,d%2结果为double型,不能赋给整型的n。

}

什么是java变量,java变量是什么的更多相关文章

  1. Java JDK 环境变量配置

    1:环境 JDK1.7.0 WIN7 2:安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹 ...

  2. java中打印变量地址

    在java中打印变量的地址 这个代码是在startoverflow上看到的,跟大家分享一下. import sun.misc.Unsafe; import java.lang.reflect.Fiel ...

  3. 什么是java path环境变量

    参考:https://docs.oracle.com/javase/tutorial/essential/environment/paths.html 从orcle官网的文档中可以看到java pat ...

  4. Java数据类型和变量

    Java中存在2种数据类型,下面我们来详解一下: 基本数据类型: 引用数据类型: 可以用一张表来记录: 基本数据类型 整型 byte:1个字节8位,取值范围为:[-128, 127],直接写值:(by ...

  5. 如何快速有效的修改java的环境变量

    之前已经修改过jdk的环境变量,,,,在/etc/profile下,,, export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera export PATH=${J ...

  6. Java笔记2-数据类型,变量,Java运算符

    我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...

  7. Java配置环境变量

    首先,你应该已经安装了Java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 Java 的环境变量 1.进入“计算机”的“属性”选项后如图 2.选择“高级 ...

  8. windows7设置java的环境变量

    win7 下配置 java 环境变量   首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以 ...

  9. Linux下配置java的环境变量,So Easy!!

    首先,在cd /usr ,mkdir java. 将java安装包放到/usr/java,并解压. 验证java. $ java -version 如果提示有如下安装包包含它,但是没有安装.是环境变量 ...

  10. Java配置环境变量、方法和原因

    首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...

随机推荐

  1. Happy Birthday! 今天我 1 周岁生日啦!

    2018.09.28,我第 1 天分享文章. 2019.09.28,我连续分享的第 365 天. 今天我 1 周岁啦! 生日意味着一个新的开端, 意味着重新把握生活的机会. 新的一岁,从新头像开始 愿 ...

  2. 201871010119-帖佼佼《面向对象程序设计(java)》第四周学习总结

      项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh ...

  3. thinking in java 阅读收获

    <thinking in java>,国内翻译为<JAVA编程思想>,一直听说该书写的非常好,今日研读,果然有所收获,特在此记录一些阅读时点点滴滴的收获. 1.  “基本数据类 ...

  4. final关键字、finally代码块和finalize()方法有什么区别?

    1. final是关键字,final可以修饰类.方法.属性. 如果一个类被final修饰,那么这个类就是最终类,不能派生出新的子类,不能作为父类被继承,该类中的所有方法都不能被重写,但是final类中 ...

  5. 《Dotnet9》系列-开源C# WPF控件库强力推荐

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  6. C#线程学习笔记四:线程同步

    本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/21/ThreadsSynchronous.html,记录一下学习过程以备后续查用.     ...

  7. java8新特性,你有用起来了吗?(精编)

      2019年9月19日java13已正式发布,感叹java社区强大,经久不衰.由于国内偏保守,新东西总要放一放,让其他人踩踩坑,等稳定了才会去用.并且企业目的还是赚钱,更不会因为一个新特性去重构代码 ...

  8. sql server的简单分页

    --显示前条数据 select top(4) * from students; --pageSize:每页显示的条数 --pageNow:当前页 )) sno from students); --带条 ...

  9. i2c_msg 标志位 - repeat-start

    i2c_msg标志位      路径:linux-2.6.38/include/linux/i2c.h I2C_M_IGNORE_NAK: 设置这个标志意味当前i2c_msg忽略I2C器件的ack和n ...

  10. 【转】淘宝UED上关于chrome的transition闪烁问题的解决方案

    最近在用BetterScroll实现一个功能的时候,在滚动区域中会有一个绝对定位的按钮,结果在IOS中出现了快速滚动,停止的时候,会先消失后显现的问题,所以查找了相关的文章,发现是transition ...