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变量(变量的声明 》对你有帮助,请点赞、收藏,并留下你的观点哦!