从零开始的Java学习生活(3)
前期提要:在上一期中,我们继续通过HelloWorld代码,讲解了Java语言基础中的关键字和常用注释。
接下来我们将正式开始JavaSE的代码部分的学习。
一、常量
作为一名程序猿,我们肯定都知道,一种语言,不可能就只有打印出来一段话这种功能(作者你看不起谁呢 ),中间肯定要有数字的运算,逻辑之间的相互转换。这些功能实现的基础就是我们接下来要讲的常量。
那么好,这时候问题又来了,什么是常量呢?用百度的定义来说,常量就是程序运行时,其数值不可以发生改变的量。这时候回想一下我们的数学知识,我们都知道数有很多种,整数,小数,分数等等,这些数在java中都可以作为一个常量存储并使用的。
Java中的常量类型如下表所示:
常量类型 | 说明 | 示例 |
---|---|---|
字符串常量 | 用双引号引起来的内容 | “张三”,“hello world” |
整型常量 | 整数 | 100, -32,9527 |
小数常量 | 小数 | 3.14,-8.6 |
字符常量 | 用单引号引起来的内容 | ‘A’,‘2’,‘帅’ |
布尔常量 | 布尔值,只有2个 | true,false |
空常量 | 一个特殊的值,即空值 | null |
如果前面的类型有点迷,先不要着急,带着你的疑问,我们接着往下看。
二、数据类型
1.计算机存储单元
在讲数据类型之前,我们要先插入一段计算机存储单元的知识,它可以帮助我们对数据类型的分类有一个更加清楚的认识。
计算机存储设备的最小存储单位是**“位(bit)”**,我们称之为比特位,通常用小写字母b表示。
而计算机最小存储单位是**“字节(Byte)”**,通常用B表示,字节是由连续的8个位组成的,即:1Byte=8bits。
除了字节以外,还有一些别的存储单位,例如我们常见的:KB,MB,GB,TB等
1KB = 1024B,
1MB = 1024KB,
1GB = 1024MB,
1TB = 1024GB。
有没有突然对自己平常用的app那些多少多少的安装包更新包的大小有了一个清晰的认识?
数据类型一种分类方式就是根据他们分配的存储空间大小进行区分的,这时候不同种类的数据类型能表示的数据大小就不一样了。
2.数据类型的分类
好了,废话不多说,上图。
这张图就是根据上面说的数据类型所占的大小进行分类,后面的数据表示范围大家可以先有一个大概的了解,到后面遇到的时候我会在细讲。
这张图中的基本数据类型,可以结合上文的常量表进行理解,引用数据类型我们会在之后进行逐一讲解。
综上,我们可以看出数据类型主要影响了三方面:
- 你在这里能存放什么数据(整数、小数、字符、布尔)
- 你占用了多少内存(1字节、4字节)
- 你能表示的数据的范围有多大。
3.数据的默认类型
那么这个时候就会有杠精(不是)要问了,那我写个整数,我难道不能说这是后面带个",0"?只不过是我把他省略了嘛。
这当然是不行的,因为Java的数据是有默认类型的,就比如:
整数的默认类型是int。比如系统默认200是int类型的。而200l就表示数据是long类型。
小数的默认类型是double。 如 3.14,系统默认是double类型的。
三、变量
古人云:有阴就有阳;同理可得,有常量就肯定有变量。所以变量在Java是怎么表示的呢?不着急,我们先来看一下下面的一个问题:
我现在有这样的一串代码用来打印520给我女朋友看(胡说,你哪来的女朋友)。
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(520);
System.out.println(520);
System.out.println(520);
System.out.println(520);
System.out.println(520);
System.out.println(520);
System.out.println(520);
}
}
做完之后她觉得不满意,说520没有521好听,让我全改成521。但是我懒啊,一个个把520改成521我觉得好麻烦,怎样做到一步到位,把所有520改成521呢?这时候就要请出我们的变量了。
变量就是在程序运行过程中,其值可以发生改变的量。
变量的主要作用就是代表数据。既然要代表数据,一定要指明数据类型,以明确你代表的是什么类型的数据。
除此之外,变量要有一个名称,我们称之为变量名。
总结起来,变量具有三要素:数据类型 、变量名、变量值(变量值可以随着程序的运行发生改变)。
示例:int loveyou = 520;
不着急,我们一点一点来看。
(1)变量的使用
变量的使用分为2步:
- 定义变量。语法格式: 数据类型 变量名 = 初始值;
- 使用变量
好了,回到我们最初的代码,我们可以把它改成这个样子:
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int loveyou = 520;
System.out.println(loveyou);
System.out.println(loveyou);
System.out.println(loveyou);
System.out.println(loveyou);
System.out.println(loveyou);
System.out.println(loveyou);
System.out.println(loveyou);
}
}
我们可以理解为我把一个叫loveyou的抽屉里放了一个数字520,那么我想要520的时候,只需要去打开一下这个抽屉把东西拿出来就可以了;同样的,我们想做到全打印521,就只需要改变一下抽屉的放的数字就行了。修改方法如下:变量名 = 变量值;
eg:loveyou = 521;
(2)变量名的命名规范
既然我们要给这些变量起名字,那么肯定要有一个规矩,没有规矩不成方圆。我们肯定都经历过创建游戏id时要求不多于多少字符,不能含有特殊符号或者敏感字符,变量 的命名也有一套类似的规范:
- 变量名只能由英文字母、数字、$和_构成。
- 变量名不能以数字开头。
- 变量名使用小驼峰方式命名,并且要简明知意。
- 变量名不能重名。
- 变量名不能是关键字。
- 变量名区分大小写。
其他的都很好理解,我们来看一下第三个,什么是小驼峰命名法?
小驼峰驼峰法的意思是:除第一个单词之外,其他单词首字母大写。(是不是像一个驼峰?)
举个栗子吧,像我上面的loveyou,根据小驼峰命名法,就是错误的,应该写成loveYou。
(3)变量使用的注意事项
最后再强调一下变量使用注意事项
-
变量需要先定义,再使用。定义的时候必须给初始值。
一般:整数的初始值可以给0,小数的初始值可以给0或者0.0,布尔的初始值可以给false,字符的初始值可以给’0’或者0.
-
变量不能重复定义,即变量不能重名。
-
long类型的变量在赋值的时候,如果值过大,要在值后面加L(或l)。
-
给float类型变量赋值的时候,需要在值后面加上F(或f)
总结
本篇文章中,我们讲解了Java语言基础中的数据类型,常量,变量。我们现在已经可以做到在控制台上输出各种各样类型的语句了。在下一篇中我们将会讲到数据类型之间的两种相互转换以及各种运算符(终于不是人肉打印机了啊有木有!),最后还是希望大家能够喜欢本系列,有什么问题欢迎在评论区里交流。学习使我快乐,芜湖!