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中提供 ...
随机推荐
- AMOLED原理介紹
1. OLED发光原理 OLED(Organic Light Emitting Display,有机发光显示器)是指有机半导体材料在电场驱动下,通过载流子注入和复合导致发光的现象.其基本原理是用ITO ...
- 爬虫入门之urllib库详解(二)
爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...
- MySQL的基础(优化)3
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...
- 获取v$latch数据源实验
实验环境:Oracle Rac 11.2.0.3 首先获取v$latch的定义:通过PL/SQL或者get ddl等常规途径只能获取到v_$latch相关的视图信息.需要通过特殊方法获取v$latch ...
- ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件
当出现访问类的函数或者需要确定类大小的时候,才需要用头文件(使用其类定义) http://blog.csdn.net/clever101/article/details/4751717 看到这个 ...
- 原生JavaScript实现JSON合并(递归深度合并)
// 遇到相同元素级属性,以(minor)为准 // 不返还新Object,而是main改变 function mergeJSON(minor, main) { for(var key in mino ...
- js原型链继承及调用父类方法
方法1: var Parent= function () { }; Parent.prototype.process = function(){ alert('parent method'); }; ...
- 用一个实际例子理解Docker volume工作原理
要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...
- 课堂笔记--------JavaScript 的DOM操作
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...
- msfconsole_无法启动问题
service postgresql start # 启动数据库服务 msfdb init # 初始化数据库 msfconsole # 启动metasploit