1、变量(variable)

变量,顾名思义,就是变化的量。

我们可以通过变量来操作存储空间中的数据,变量就是指代这个存储空间,一旦你定义了一个一个变量,那么空间的位置就确定了,虽然空间位置是确定的,但是里面放什么值是不确定的,不好理解的话可以这样想一下:

一个大储物箱里有很多小格子来存放东西,在存放东西的时候就可以在这些格子贴一个小标签,这样贴上标签后,我们就知道哪个格子放什么。但是我们也只是知道格子里放的是什么,不知道具体放的是什么,比如A格子中我放鞋子,你是不知道你放的是什么牌子的鞋子。那个标签就相当于我们的变量,我们给他起了个名字,但是里面要放什么需要我们自己 去放。(语言表达能力有限。。)Java是一种强类型语言,每个变量都必须声明其类型。

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

变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:

1 type varName [=value] [{,varName[=value]}] ;`

2 //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。

注意事项:

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

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

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

演示:

1 int a, b, c; // 声明三个int型整数:a、 b、c

2 int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值

3 byte z = 22; // 声明并初始化 z

4 String s = "runoob"; // 声明并初始化字符串 s

5 double pi = 3.14159; // 声明了双精度浮点型变量 pi

6 char x = 'x'; // 声明变量 x 的值是字符 'x'。

2、变量作用域

我们不仅仅要了解什么是变量,怎么创建变量,更重要的是我们还需要了解变量怎么用,在哪里用。

根据作用域变量可以分为:

类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。

实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。

局部变量(lacal variable):类的方法中的变量。

演示:

1 public class Variable{

2 static int allClicks=0; // 类变量

3 String str="hello world"; // 实例变量

4 public void method(){

5 int i =0; // 局部变量

6 }

7 }//加入Java开发交流君样:756584822一起吹水聊天

8

局部变量

方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。

在使用前必须先声明和初始化(赋初值)。

局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

实例变量

方法外部、类的内部定义的变量。

从属于对象,生命周期伴随对象始终。

如果不自行初始化,他会自动初始化成该类型的默认初始值

(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)

静态变量

使用static定义。

从属于类,生命周期伴随类始终,从类加载到卸载。(注:讲完内存分析后我们再深入!先放一放这个概念!)

如果不自行初始化,他会自动初始化成该类型的默认初始值

(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)

3、常量

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

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

1 final 常量名=值;

2 final double PI=3.14; final String LOVE="hello";

常量名一般使用大写字符。

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以 定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的 不规范赋值导致程序出错的情况。

4、变量的命名规范

1. 所有变量、方法、类名:见名知意

2. 类成员变量:首字母小写和驼峰原则 : monthSalary

3. 局部变量:首字母小写和驼峰原则

4. 常量:大写字母和下划线:MAX_VALUE

5. 类名:首字母大写和驼峰原则: Man, GoodMan

6. 方法名:首字母小写和驼峰原则: run(), runRun()

java中为什么需要常量和变量的区别_Java中的变量和常量相关推荐

  1. java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?

    Java中的常量 常量变量是其值固定的变量,程序中仅存在一个副本.声明常量变量并为其分配值后,就无法在整个程序中再次更改其值. 与C语言不同,Java(直接)不支持常量.但是,您仍然可以通过声明变量s ...

  2. java中常量和变量的区别_Java语言基础 变量和常量

    变量和常量 1.变量的有效范围(作用域) (1)在类体中定义的变量被称为成员变量,成员变量在整个类中都有效.类的成员变量分为静态变量和实例变量,静态变量通过修饰符static确定,并且可以通过&quo ...

  3. java静态变量和实例变量的区别_Java 中静态变量和实例变量区别

    静态变量属于类,该类不生产对象,通过类名就可以调用静态变量. 实例变量属于该类的对象,必须产生该类对象,才能调用实例变量. 在程序运行时的区别: 实例变量属于某个对象的属性,必须创建了实例对象,其中的 ...

  4. java中的常量和变量是什么_java中什么是常量和变量

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

  5. java常量能改变值吗_java中的常量和变量

    变量 含义:在程序过程中变量的值会发生变化,直白来说就是用来存储可变化的数据 变量的好处:使内存空间的得到重复利用 举个例子: 1 System.out.println(10);2 System.ou ...

  6. java变量存储位置_java 中变量存储位置的区别

    [原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...

  7. java中静态变量的作用_Java中static变量作用和用法详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  8. java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析

    本文实例分析了java中成员变量与局部变量区别.分享给大家供大家参考.具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类. 创建以及使用成员变量 public class Person { ...

  9. java的三个环境变量是啥_JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)...

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

最新文章

  1. python整数类型-python基础数据类型一(整数类型和布尔值)
  2. es 全量同步mysql_什么时候该用MySQL,什么时候该用ES呢?
  3. CodeForces - 1303E Erase Subsequences(dp)
  4. 一个内核网络漏洞详解|容器逃逸
  5. 第三次学JAVA再学不好就吃翔(part10)--基础语法之if语句
  6. 线性代数---矩阵的各种问题求解方法
  7. 第一章MCS-51单片机结构,单片机原理、接口及应用
  8. Android 获取手机号及运营商信息
  9. SQL Server where和having区别
  10. python中re.compile()用法详解
  11. Zoned-Storage - 对ZNS块设备进行基准测试
  12. 背单词软件速度对比测试,手机背单词大比拼,谁才是速度之王
  13. 【内网安全】——Windows提权姿势
  14. linux操作系统具有哪些特性,Linux系统拥有哪些特性?这些你必须知道!
  15. 2021-2027全球与中国5G物联网市场现状及未来发展趋势
  16. 同行评审流程与撰写审稿意见要点
  17. Linux磁盘分区(fdisk)及磁盘限额(quota)
  18. 微信小程序开发09 开放数据:微信生态帮助业务快速落地
  19. JAVA —— 就业面面案例①(WEB综合案例)
  20. 关于gp和mysql的两点区别

热门文章

  1. 网址服务器地址修改,网址服务器地址修改
  2. ubuntu怎么测tcp协议的服务器,Ubuntu利用TCP协议来获取server时间(示例代码)
  3. 11旋转编码器原理图_plc编程入门:浅谈编码器的工作原理!
  4. SpringBoot 发送邮件功能实现
  5. 使用TestNG-xslt+ant来美化selenium测试报告
  6. captura录屏发生了一个错误_录屏教程的方法有哪些?学会这两种轻松搞定
  7. php编译html,将PHP模板文件编译为静态HTML页面的Ant任务
  8. Elasticsearch-PHP学习
  9. json_decode的结果为null,json_encode的结果为
  10. mysql的日期函数以及应用