Java学习笔记三:Java的变量、常量、变量的类型及使用规则
Java的变量、常量、变量的类型及使用规则
每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字。关键字对 Java 的编译器有着特殊的意义。
一:Java中的关键字;

注:Java的关键字是区分大小写的
二:Java中的标识符;
标识符是给Java程序中的变量、类、方法等命名的符号,是用户编程时使用的名字如下图所示

使用标识符,需要遵守以下几条规则;
1. 标识符可以由字母、数字、下划线’_‘、美元符 ‘$’ 组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123test 就是不合法的。
2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
3. 标识符是严格区分大小写的。 所以,一定要分清楚 name 和 Name 是两个不同的标识符!
4. 标识符的命名最好能反映出其作用,做到见名知意。如:数学分数mathScores。
三:Java中的变量;
所谓变量,可以简单的理解为它就是一个盒子,可以将手机,硬币,橡皮等东西存放在这个盒子里,也可以在需要的时候将里面的东西换成我们需要的东西。
在Java中,我们通过三个元素描述变量:变量类型,变量名以及变量值。
如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

例如,我定义了一个变量fruit,用来保存一个字符串 “apple” , 在程序中只要找到了 fruit 这个变量,就能找到存储在里面的 ”apple”!当然,我们也可以把 fruit 里面的值更换成新的字符串 “i love apple” !
程序代码:

代码如下:
public class HelloWorld {
public static void main(String []args) {
String fruit="apple";
System.out.println("变量fruit的值是:"+fruit);
fruit="i love apple";
System.out.println("重新赋值后fruit的值为:"+fruit);
}
}
运行结果为:

注:Java 中的标点符号是英文的,用中文会出现错误。
四:Java中的数据类型;
Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。(当然不是所有语言都需要指定类型,学过PHP的都知道变量在创立的时候是不需要指定类型的)Java 中有两类数据类型:

详细的类型介绍我会在下一篇介绍,这里我们只介绍类型种类以及分类
在 Java 中,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
常用的基本数据类型有:

String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、昵称、电子邮箱等。
五:Java中的变量的使用规则;
1、Java 中的变量需要先声明后使用;

这里我们注释掉了变量的声明语句,出现错误
2、变量使用时,可以声明变量的同时进行初始化;

也可以先声明后赋值;

3、变量中每次只能赋一个值,但可以修改多次;

程序报错,变量中只能赋一个值。
4、main 方法中定义的变量必须先赋值,然后才能输出;

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等;

虽然没有报错,但是依然给出了警告:The value of the local variable 水果 is not used
六:Java中的自动类型转换;
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:、

运行结果为;

代码中 int 型变量 score1可以直接为 double 型变量 score1 完成赋值操作,运行结果为: 90.0
这种转换称为自动类型转换。
自动类型转换也是需要满足特定的条件的:
1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

2. 目标类型大于源类型,如int类型长度为4个字节,而double类型长度为8个字节,所以double类型的变量直接可以存放int类型的数据,但是int则不可以存放double的数据。

七:Java中的强制类型转换;
尽管自动类型转换是很方便的,但并不能满足所有的编程需要。
例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?
显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。
语法:(数据类型)数值;

运行结果:

可以看到,通过强制类型转换将 90.9 赋值给 int 型变量后,结果为 90,数值上并未进行四舍五入,而是直接将小数位截断。
所以吧,强制类型转换可能会造成数据的丢失哦,在应用时一定要慎重!
八:Java中的常量;
所谓常量,可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值;

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
常量名一般使用大写字符
Java学习笔记三:Java的变量、常量、变量的类型及使用规则的更多相关文章
- Java 学习笔记 (三) Java 日期类型
以下内容摘自: https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...
- Java基础学习笔记三 Java基础语法
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...
- [java学习笔记]JDK的安装和环境变量的配置
1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...
- Java学习笔记--堆、栈、常量池
参考资料:http://blog.csdn.net/miraclestar/article/details/6039743 Java内存区域模型主要分为4部分 1.方法区 2.本地方法栈 3.栈 4. ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Java 学习笔记(1)——java基础语法
最近抽时间在学习Java,目前有了一点心得,在此记录下来. 由于我自己之前学过C/C++,而Java的语法与C/C++基本类似,所以这一系列文章我并不想从基础一点点的写,我想根据我已有的C/C++经验 ...
- java 学习笔记1 java语言概述及开发环境
高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...
- 8.4(Java学习笔记)java脚本引擎(Rhino)
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...
- Java 学习笔记(4)——java 常见类
上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...
随机推荐
- MySQL 5.7 修改数据物理文件目录
修改MySQL数据库物理文件存放位置,需要在MySQL配置文件中修改相关参数.安装MySQL5.7后,在MySQL安装目录下没有找到数据库物理文件,最后经过查找发现其在“C:\ProgramData\ ...
- Python 列表排序方法reverse、sort、sorted操作方法
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- libxml的使用 编辑节点
libxml读取的基本功能已经介绍过了,现在将介绍libxml编写的基本功能. 编写操作包含节点的添加,删除和修改. 对于添加,我们需要调用xmlNewTextChild函数来添加节点,需要xmlNe ...
- IOS VFL语言(页面布局)
● 什么是VFL语言 ● VFL全称是Visual Format Language,翻译过来是“可视化格式语言” ● VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言 VFL ...
- Android(java)学习笔记50:通过反射获取成员变量和成员方法并且使用
1. 反射获取成员变量并且使用: (1)获取字节码文件对象: Class c = Class.forName("cn.itcast_01.Person"); (2) ...
- 从数据流角度管窥 Moya 的实现(一):构建请求
相信大家都封装过网络层. 虽然系统提供的网络库以及一些著名的第三方网络库(AFNetworking, Alamofire)已经能满足各种 HTTP/HTTPS的网络请求,但直接在代码里用起来,终归是比 ...
- gluon 实现线性回归
from mxnet import autograd, nd num_inputs = 2 num_examples = 1000 true_w = [2,-3.4] true_b = 4.2 fea ...
- php-fpm 慢日志查询
虽然可以通过 nginx 的 accesslog 日志查询到用户访问接口或网页消耗的时间,但是不能清晰的追踪到哪个文件或函数慢, 可以通过 php-fpm 慢日志查询检测 php 脚本运行状态,哪些 ...
- [BJWC2008]秦腾与教学评估
嘟嘟嘟 二分好题. 怎么二分呢?反正我是没想出来. 看了题解. 因为只有一个为奇数的点,所以对于一个位置x,求出区间[0, x]的教总和,如果为奇数,说明x取大了:否则x取小了(妙啊). 虽然答案在i ...
- [18/12/05]接口(interface)
一.定义(类之上的公共标准) 一个特殊的类,用interface关键字来表示.只有全局变量和抽象方法.解决Java中子类只能单继承的问题 [语法] [访问修饰符:public 或 default] ...