失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java语言语法--- Java标识符(标识符命名规则) Java关键字 Java变量(变量的声明

java语言语法--- Java标识符(标识符命名规则) Java关键字 Java变量(变量的声明

时间:2020-02-14 04:42:15

相关推荐

java语言语法--- Java标识符(标识符命名规则) Java关键字 Java变量(变量的声明

java语言语法— Java标识符、Java关键字、Java变量和常量(包括Java字节码文件反汇编命令javap)

1.标识符

(1)读音:biaozhifu

(2)什么是标识符?

(摘自百度百科)

简单来说,标识符就是一个名字

(3)标识符命名的规则:

组成部分(4个可以):数字、字母(尽量用英文,虽然汉子、日文、俄语都可以)、下划线_、美元符号 $2个不可以:第一,不能以数字开头(例如1num不可以,但是num1可以);第二,不能采用Java中的关键字命名(Java 的关键字有其特殊的用途用于编译,否则编译器无法编译Java文件了)命名的长度没有限制,但是尽量不要太长,而且最好养成习惯,不要胡乱命名,尽量见名知义,这样可读性也高,利于变成效率的提高Java大小写敏感(例如,int num; 和int NUM ;中的num和NUM 完全是两个变量)有时遵循驼峰命名,有时不需要驼峰命名

比如:类名:首字母大写,遵循驼峰命名(例如,HelloMyCode)

变量名、方法名:首字母小写,遵循驼峰命名(例如,makeChoices)

包名:全部小写(例如,com.bones.test)

2.关键字

关键字被赋予特殊用途,不能用来作为标识符

Java中的关键字都是小写

下面的关键字了解就可以,不用故意去记住,因为真正敲代码的人不可能不知道下面的关键字,用多了就记住了

不过我个人有时候会有一些误区,比如误以为Java中的true这些是关键字,后来一查居然不是,这些只是Java的常用字面量

官网有提供Java关键字的罗列:

/javase/tutorial/java/nutsandbolts/_keywords.html

下面是分类的罗列:

3.常量

(1)常量:程序运行过程中不会变化的量。

(2)分类:

4.变量

变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。Java是一种强类型语言每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间

(1)变量的声明

public class testVar{public static void main(String[] args){//定义一个int类型的变量:int age ;}}

上面的代码编译成功:

在JavaSE_Code 文件下产生了对应的字节码文件:

现在利用反编译工具将字节码代码还原为源代码:

(将上面的TestVal.class文件拖至反编译工具中)

(关于反我的反编译工具,请见我的博客/qq_51550750/article/details/121536690)

反编译结果:

其实这就说明:一个变量只是定义但是没有赋值,就相当于什么都没做。

还要注意一点:如果变量只是定义而没有赋值,那么使用这个变量就会报错,例如:

(2)变量的赋值

public class TestVar{public static void main(String[] args){//定义一个int类型的变量:int age;//将age赋值为10这个字面常量age = 10;}}

再次编译产生字节码文件,然后反编译:

编译:

反编译结果:

发现两句活合成了一句话(定义和赋值合成了一句话),而且变量的名字改变了,这说明其实其实变量名对于编译这个过程无关紧要

那么变量的赋值可不可以重复呢?

例如:

public class TestVar{public static void main(String[] args){//定义一个int类型的变量:int age;//将age赋值为10这个字面常量age = 10;age = 20;age = 9;age = 9;}}

说明一个变量可以重复赋值,但是要注意一个问题:同一个变量不可以重复定义:

例如下面的代码会报错:

public class TestVar{public static void main(String[] args){//定义一个int类型的变量:int age;//将age赋值为10这个字面常量age = 10;age = 20;age = 9;age = 9;int a = 0;int a ;}}

(3)变量的使用

变量的使用很简单:

public class TestVar{public static void main(String[] args){//定义一个int类型的变量:int age;//将age赋值为10这个字面常量age = 10;age = 20;age = 9;age = 9;int a = 0;//int a ;System.out.println(age);System.out.println(a+10);}}

编译和执行:

(4)变量的内存

简单来画就是:

下面举一个简单的例子说明底层的变量赋值的过程:

public class TestVal02{public static void main(String[] args){int x = 1, y = 2;int z = x + y;}}

通过javap.exe命令来反汇编:(但是要先产生字节码文件)

看字节码指令或许就可以看出个大概了吧。。。

5.基本数据类型----整型

java语言语法--- Java标识符(标识符命名规则) Java关键字 Java变量(变量的声明 赋值 使用)和常量(字符常量 字面常量)(包括Java字节码文件反汇编命令javap)

如果觉得《java语言语法--- Java标识符(标识符命名规则) Java关键字 Java变量(变量的声明 》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。