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的变量、常量、变量的类型及使用规则的更多相关文章

  1. Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...

  2. Java基础学习笔记三 Java基础语法

    Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...

  3. [java学习笔记]JDK的安装和环境变量的配置

    1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...

  4. Java学习笔记--堆、栈、常量池

    参考资料:http://blog.csdn.net/miraclestar/article/details/6039743 Java内存区域模型主要分为4部分 1.方法区 2.本地方法栈 3.栈 4. ...

  5. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  6. Java 学习笔记(1)——java基础语法

    最近抽时间在学习Java,目前有了一点心得,在此记录下来. 由于我自己之前学过C/C++,而Java的语法与C/C++基本类似,所以这一系列文章我并不想从基础一点点的写,我想根据我已有的C/C++经验 ...

  7. java 学习笔记1 java语言概述及开发环境

    高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...

  8. 8.4(Java学习笔记)java脚本引擎(Rhino)

    一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...

  9. Java 学习笔记(4)——java 常见类

    上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...

随机推荐

  1. AMOLED原理介紹

    1. OLED发光原理 OLED(Organic Light Emitting Display,有机发光显示器)是指有机半导体材料在电场驱动下,通过载流子注入和复合导致发光的现象.其基本原理是用ITO ...

  2. 爬虫入门之urllib库详解(二)

    爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...

  3. MySQL的基础(优化)3

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  4. 获取v$latch数据源实验

    实验环境:Oracle Rac 11.2.0.3 首先获取v$latch的定义:通过PL/SQL或者get ddl等常规途径只能获取到v_$latch相关的视图信息.需要通过特殊方法获取v$latch ...

  5. ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件

    当出现访问类的函数或者需要确定类大小的时候,才需要用头文件(使用其类定义)    http://blog.csdn.net/clever101/article/details/4751717 看到这个 ...

  6. 原生JavaScript实现JSON合并(递归深度合并)

    // 遇到相同元素级属性,以(minor)为准 // 不返还新Object,而是main改变 function mergeJSON(minor, main) { for(var key in mino ...

  7. js原型链继承及调用父类方法

    方法1: var Parent= function () { }; Parent.prototype.process = function(){ alert('parent method'); }; ...

  8. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  9. 课堂笔记--------JavaScript 的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  10. msfconsole_无法启动问题

    service postgresql start # 启动数据库服务 msfdb init # 初始化数据库 msfconsole # 启动metasploit