Java变量与常量:
什么是常量,什么是变量
你只需要记住两点:
常量:就是一种不会根据环境而改变的数据,例如:圆周率。 变量:是一种能够根据不同环境产生不同值的数据,例如:手机电量。
例如图中的水杯容量,电池容量,人物等级都是变量。
怎么定义变量
在 Java
中,我们通过三个元素描述变量:变量类型、变量名以及变量值。 那什么是变量类型,变量名,变量值呢?
通过这张图你就能很好的理解了。 在计算机系统中有很多文件的类型(例如:视频文件,音频文件,office
文件等等),在Java
中的变量类型又有哪些呢?在JAVA
中变量类型大致可以分为两种一种是数值类型
,一种是非数值类型
,数值类型又分为两种:整形
和非整形
如图所示:
如果你理解了,那么请你查看下图,思考哪些是数值类型
,整形
,非整形
,非数值类型
。
答案在最下方.
接下来我们就要开始定义变量了,需要四个步骤。
- 确定变量类型。
- 取变量名。
- 给变量赋初值。
- 别忘了分号结尾哦。
例如:我们要定义一个名字是张三的变量,并且输出:
输出的结果: 张三
变量的命名规则和规范
我们定义变量的时候应该遵守什么规则呢?
我们先来看一张图。
这些都是符合规则
的。 再来看一张图。
这些都是 不符合规则
的。 相信看到这里你就明白了,JAVA
中变量
的命名和前面第一章所学的标识符
命名规则是一样的,不过还是有一些不同,总结下来规则与规范一共有六点: 1. 由字母,下划线,美元符号($),数字组成,但第一个字符不能是数字。 1. 如果变量名是复合型的那么我们采用驼峰式,或者蛇形式的方式。 驼峰式:teaCup
(表示茶杯的意思),stuAge
(学生年龄) 蛇形式:tea_cup
,stu_age
1. 如果是单个单词就全小写就行了。 1. 千万不要用中文拼音来表达:例如学生年龄:xueShengNianling
。 1. 在一个方法中变量名不能重复。 1. 变量一定要给自己一个确定的类型。
变量的赋值
我们定义了一个变量 name ,用来保存一个字符串 “张三丰” , 在程序中只要找到了 name 这个变量,就能找到存储在里面的 ”张三丰”!当然,我们也可以把 name的值更换成新的字符串 “张三”。
最后的输出结果为:
变量name的值为张三丰
最新赋值后变量name的值为张三
JAVA中的数据类型
Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。8 种类型表示范围如下:
- byte:8位,最大存储数据量是255,存放的数据范围是-128127之间。
- short:16位,最大数据存储量是65536,数据范围是-3276832767之间。
- int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
- long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
- float:32位,数据范围在3.4e-451.4e38,直接赋值时必须在数字后加上f或F。
- double:64位,数据范围在4.9e-3241.8e308,赋值时可以加d或D也可以不加。
- boolean:只有true和false两个取值。
- char:16位,存储Unicode码,用单引号赋值。
这些东西你不需要把他背下来,当然如果你能背下来那更好了,我们现在对这些数据类型有个初步的印象,在之后的学习过程中会越来越熟悉的,好了接下来看两张图帮助记忆吧。
怎么定义对应数据类型的变量
好了相信你现在已经迫不及待的想要尝试一下了吧。接下来我们就一起来定义这八种数据类型吧。
什么是数据类型转换
顾名思义,数据类型转换就是指:不同数据类型之间的相互转换 关于数据类型转换只需要你掌握两种方式:
- 自动类型转换。
2.
强制类型转换。
自动类型转换
关于自动类型转换你只需要记住一句话,就是:表数范围小的可以向表数范围大的进行自动类型转换。 你可以这样理解:当一个小的容器的水换到一个大的容器中毫无问题,但是一个大的容器的水换成小的容器可能会装不下,就会溢出。 如下图:
在代码中体现:
如果你理解了,那就看个思考题吧。
答案在最后面哦。
强制类型转换
你肯定会有疑问,既然自动类型转换只能是表数范围小的可以向表数范围大的转换
那么我在实际使用中想要将表述范围大的向小的转换怎么办呢?诶这里就要用到强制类型转换了,顾名思义,强制类型转换就是将:表数范围大的数向表数范围小的进行转换。 那怎么使用强制类型转换呢?
例题:
为什么要使用Scanner
我们前面所有的章节的练习一直都是输出一段数据,我们知道一个软件是既要有输出也需要有输入的。而Scanner
就是用于用户在Java程序中输入数据的。 所以对于Scanner
你可以理解为,它就是一个扫描仪,用来获取我们从键盘输入的数据。
怎么使用?
你只需要记住三个步骤:
- 在类的声明之前,引入扫描仪(
Scanner
):import java.util.Scanner;
- 在方法中创建一个扫描仪
Scanner input = new Scanner(System.in);
- 通过扫描仪获取从键盘输入的数据
int i = input.nextInt();
接下来,让我们一起在windows
系统中来使用一下Scanner
吧。
- 在
D盘
下新建一个java
的文件夹用来存放代码。 - 在
java
文件夹中新建一个HelloWorld.java
的文件如图所示:
- 在HelloWorld.java
文件的第一行中输入import java.util.Scanner;
并在main
函数中创建扫描仪(Scanner)如图所示:
- 输入如图所示代码:
- 最后我们一起来查看效果吧,使用windows键+R
输入cmd
打开dos
界面按照如图所示操作来运行java
程序吧。
提示
Scanner不能获取char
(字符)类型,获取小数类型需要使用nextDouble
方法或者是nextFloat
方法例如:
//获取输入的小数double d = input.nextDouble();//获取输入的双精度类型数据float f = input.nextFloat();//获取输入的单精度类型数据