【JAVA零基础入门系列】Day4 变量与常量
【JAVA零基础入门系列】(已完结)导航目录
- Day1 开发环境搭建
- Day2 Java集成开发环境IDEA
- Day3 Java基本数据类型
- Day4 变量与常量
- Day5 Java中的运算符
- Day6 Java字符串
- Day7 Java输入与输出
- Day8 Java的控制流程
- Day9 Java中的那个大数值
- Day10 Java中的数组
- Day11 Java中的类和对象
- Day12 Java类的简单应用
- Day13 Java类的继承与多态
- Day14 Java对象的克隆
- Day15 对象的比较
这一篇主要讲解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 变量与常量的更多相关文章
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- 【JAVA零基础入门系列】Day6 Java字符串
字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...
- 【JAVA零基础入门系列】Day8 Java的控制流程
什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...
- 【JAVA零基础入门系列】Day9 Java中的那个大数值
什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
随机推荐
- AHD-模拟高清芯片RN6752替代TVP5150/CJC5150
RN6752功能:2路CVBS转BT656/601/1302高清视频解码芯片.产品特征输入:2路CVBS(不能同时输入)和S-VIDEO(一般不用)输出:BT601/656/1302支持NTSC,PA ...
- 初识php soap 学习过程中的摘抄,便于后期翻阅
SOAP 简单对象访问协议, webService三要素 , SOAP.WSDL(WebServicesDescriptionLanguage).UDDI(UniversalDescriptionDi ...
- Entity Framework Core 2.0 数据库迁移
看见过几篇其他大神写的关于EFCore2.0的文章.本人有点小白,一开始看文档的时候除了一些基本操作外其他部分几乎没有读懂,我估计会有一部分人跟我一样,因为人家读懂了的早就懂了. 在这里我写一下我自己 ...
- 基于NIOS-II的示波器:PART3 初步功能实现
本文记录了在NIOS II上实现示波器的第三部分. 本文主要包括:硬件部分的BRAM记录波形,计算频率的模块,以及软件部分这两个模块的驱动. 本文所有的硬件以及工程参考来自魏坤示波仪,重新实现驱动并重 ...
- OSI与TCP/IP网络模型分层
学习linux的人,都会接触到一些网络方面的知识.作为一个linux方面的萌新,今天,小编就接触了OSI模型和TCP/IP协议栈,那么什么是OSI模型呢? OSI模型,开放式系统互联通信参 ...
- webservice Dome--一个webservice的简单小实例
1.理解:webservice就是为了实现不同服务器上不同应用程序的之间的通讯 2.让我们一步一步的来做一个webservice的简单应用 1)新建一个空的web应用程序,在程序上右键,新建项目,选择 ...
- 历上最强的音乐播放器(jetA…
原文地址:历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉化版)下载作者:盖世天星 历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉 ...
- 201521123093 java 第二周学习总结
201521123093 <java程序设计> 第二周学习总结 一.第二周学习总结 答:(1)关于进一步使用码云管理代码,本周才真正学会了如何将Eclipse里的代码上传到码云中,并且能够 ...
- 201521145048《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...
- sql+PHP基础+面向对象基础简单总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...