【JAVA零基础入门系列】Day4 变量与常量

时间:2022-11-10 14:57:52

  【JAVA零基础入门系列】(已完结)导航目录

  这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量。

  那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里。那么,我们为什么要使用盒子呢?主要用于存放程序运行过程中需要临时存取和操作的数据,打个比方,我们做一顿番茄炒蛋,需要先把番茄洗一洗,然后切好放碗里,鸡蛋打好后要先放另一个碗里,然后加上料酒,加水搅拌,之后再放锅里一顿瞎操作后,一顿美味的番茄炒蛋便出来了,这个过程中,番茄炒蛋相当于我们的结果,番茄跟鸡蛋是我们需要处理的数据,我们先对番茄跟鸡蛋分别进行了处理,而处理的过程中,我们都需要一个容器来存放它们,碗,碟,锅或者杯,这些容器就相当于是变量,显然,如果没有变量,我们很难做出这顿美味来,变量存在的意义便是存放数据,让程序更清晰,让程序便于修改和维护。

  变量有四个要素,类型,变量名,值和作用范围。Java是强数据类型语言,每一个变量必须属于一种类型,一个int型数据需要存放在一个int型的变量中,同理,一个double类型的数据需要存放在一个double变量中。对于变量名的设置,也有一些规范,必须以一个字母开头,由字母或数字组成,这里说的字母包括大小写字母或者在某种语言中代表字母的Unicode字符,数字包括'0'~‘9’以及在某种语言中表示数字的Unicode字符和下划线_,以及美元符$(但不要使用),但Java保留字不能使用,此外,像'+','-'等符号是不允许出现在变量名中的,变量名中所有字符都是有意义的,并且大小写敏感,变量名的长度没有限制。为变量取一个有意义的名字是十分必要,当程序代码量增大时,这一点会显得越来越好重要。比如,age, name, sum, classNum等等

  为了规范起见,希望大家从一开始就养成好习惯,使用小驼峰命名法是一个不错的选择,所谓的小驼峰命名法,就是变量名除第一个单词以外其他单词首字母大写,其他字母均小写,如teacherName, vacationDays,classmatesNum等等。

  变量在使用之前,都需要声明,如:int num;  想要对一个变量赋值,就需要将变量名放在等号左侧,相应的值放在等号的右侧,如:int num; num =10; 也可以在声明变量的同时初始化变量,给变量赋初始值,如:int num = 10;声明可以出现在代码的任何地方,但在使用该变量之前必须先声明该变量。跟C与C++不同的是,在Java中,是不区分声明和定义的。

  至于作用范围,便是变量有效范围,出了这个范围,变量便不能使用,这一点具体到后面再结合代码做说明。

  给一个小栗子来理解一下变量的用法。

  int length = 10;//定义一个整数型变量,变量名为length,并初始化赋值为10
  System.out.println(length);//输出这个变量的值
  length = 20;//给这个变量赋新值
  System.out.println(length);//输出

  这里会依次输出10和20。这里使用了注释,双斜杠后面的注释内容会被自动忽略,不会影响代码的运行。

  所以变量的正确使用方式是先定义,然后再使用它,打个比方,把计算机比作一个仓库管理员,内存比作是仓库,当我需要使用碗的时候,我需要先登记一下,然后管理员给了我一个碗,我就可以肆无忌惮的使用它了,这里登记就好比声明。那为什么要声明呢?em....你不说我怎么知道你要的是碗还是碟还是杯子呢,只好给你送上Error大礼包。其次,这里说的杯子碗碟,都是专用的,也就是说,每一种器件,只能装一种特定类型的东西,就像int型变量就只能放int型的数据。

  除了变量之外,Java中还有一个叫常量的家伙,用关键字final来指示常量,例如:final double PI = 3.14;常量,顾名思义就是不变的量,一旦被声明后,它的值就不能被改变,也因此必须在声明的时候初始化,常量可以理解为其值不能被改变的变量。常量命名一般情况下全部字母都需要大写,如有多个单词则用下划线连接。既然不能改变,那常量存在的意义是什么呢?用PI代替3.14的意义何在?当然有它的意义,例如计算圆的面积的时候使用3.14*5*5 自然没有 PI*5*5这样看起来清晰。而且还有一个很重要的一点,如果常量的初始化值需要改变,比如一开始设置一个常量叫做 FULL_MARK,一开始你以为满分只有100分,可是程序写完之后,被告知满分是120分,于是你只需要在该常量定义的地方将100改成120,而不需要将代码中的每一个100改成120,不仅增加了可阅读性,也增加了可维护性。

  不要忽视代码的可阅读性,代码不仅仅是用来运行的,更多的是用来阅读的,而且读者不仅是你自己,还有可能是其他程序员,如果你写到最后,自己的看不下去了,那绝对算不上一份优秀的代码。

  希望大家能把代码当作一个艺术品去完成,去享受那些字母从你指尖敲打而出的快感,这样才能更好的收获程序顺利运行时的快乐。

  至此,本篇要介绍的内容就结束了。短小精悍系列。

【JAVA零基础入门系列】Day4 变量与常量的更多相关文章

  1. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...

  2. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  3. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  4. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  5. 【JAVA零基础入门系列】Day9 Java中的那个大数值

    什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...

  6. 【JAVA零基础入门系列】Day10 Java中的数组

    什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...

  7. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  8. 【JAVA零基础入门系列】Day12 Java类的简单应用

    俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...

  9. 【JAVA零基础入门系列】Day13 Java类的继承与多态

    继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...

随机推荐

  1. MySql 创建表 插入数据!

    create table stu( id int, sname VARCHAR(20), sex VARCHAR(1), birthday DATETIME) insert into stu valu ...

  2. Nhiberate (一)

    严重参考感谢:@wolfy 操作数据库一直都是直接写SQL语句, 接触的ORM框架也不多,新项目要用数据库,数据库访问采用NHibernate. 1. NHibernate 是基于.Net 的针对关系 ...

  3. uva 10048 Audiophobia(最小生成树)

    题目链接:10048 - Audiophobia 题目大意:有n个城市,和m条街道,每条街道有一个噪音值,q次去问,从城市a到城市b,路径上分贝值的最大值最小为多少. 解题思路:与uva 10099的 ...

  4. CentOS 根据命令查所在的包

    在工作中经常会遇到想用某个命令机器没装却又不知道命令在哪个包(源码编译不再本文范围内),下面介绍个比较笨的方法可以帮助我们搞定这个问题. 说明:蓝色=命令名称       浅绿=命令参数       ...

  5. OC——动态添加Button和监听UIAlertView按钮

    1:动态添加uibutton - (IBAction)addButton:(id)sender { CGRect frame = CGRectMake(90, 200, 200, 60); UIBut ...

  6. 2016 ACM/ICPC Asia Regional Qingdao Online

    吐槽: 群O的不是很舒服 不知道自己应该干嘛 怎样才能在团队中充分发挥自己价值 一点都不想写题 理想中的情况是想题丢给别人写 但明显滞后 一道题拖沓很久 中途出岔子又返回来搞 最放心的是微软微软妹可以 ...

  7. log4j到log4j2升级迁移方案

    序:这段时间因为维护的项目存在大量日志打印,严重拖慢整体响应时间,在做性能优化的工作中对这块内容进行了升级换代,由以前的log4j升级为log4j2,以实现日志异步打印.接下来记录一下这个费时半个月的 ...

  8. 记Ubuntu Mongodb 和 Mysql的安装与使用

    安装mongodb 参考链接 https://www.cnblogs.com/shileima/p/7823434.html https://blog.csdn.net/xlengji/article ...

  9. 51Nod - 1384

    全排列函数解法 #include <iostream> #include <cstdio> #include <cstring> #include <cmat ...

  10. 关于EXCEL if、countif 在查找数据的用法

    最近被其他部门的同事教导使用excel.突然觉得以前用代码切来切去的东西,和频繁比对的数据原来是用excel就能那么方便的算出,瞬间感觉打开了新世界的大门. 先说if和countif结合使用,来判断一 ...