Java命名规范与变量、常量的作用域
变量
-
变量即在程序运行中可以变化的量。
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量时程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
-
变量名必须是合法的标识符。
-
Java中声明变量是一条完整的语句,每一个声明都必须以分号结束。
-
虽然可以在一个声明中定义多个变量,但为了代码的可读性不建议。
常量
-
与变量相对应,常量即在程序中不能变化的值。
-
常量的值在初始化后无法再改变。
-
常量名一般使用大写字符。
-
final是修饰符,与static一样可以写在变量类型前的任意位置不存在先后关系。
作用域
吐槽有点多,原谅我先学了C#有点先入为主了,明明C#改良自Java的来着。
public class Demo7 {
static int age;
//类变量,全局变量
static char gender;
//类变量,全局变量
static String name;
//类变量,全局变量
static final int LENGTH = 1024;
//类常量,全局常量
final static int WIDTH = 768;
//类常量,全局常量
int identityCard;
//实例变量
String occupation;
//实例变量
final double PI = 3.14;
//实例常量
final String PROJECT = "乌鸦の学习";
//实例常量
public static void main(String[] args) {
int num1;
//局部变量
final int num2 = 1;
//局部常量
System.out.println(gender);
//调用了类变量,打印结果为一个空格?
System.out.println(name);
//调用了类变量,打印结果为null
System.out.println(LENGTH);
//调用了类常量,打印结果为1024
System.out.println(WIDTH);
//调用了类常量,打印结果为768
Demo7 test = new Demo7();
System.out.println(test.occupation);
//调用了实例变量,打印结果为null
System.out.println(test.identityCard);
//调用了实例变量,打印结果为0
System.out.println(test.PI);
//调用了实例常量,打印结果为3.14
System.out.println(test.PROJECT);
//调用了实例常量,打印结果为乌鸦の学习
System.out.println(age);
//调用了类变量,打印结果为0
int age = 10;
//局部变量
System.out.println(age);
//调用了局部变量,打印结果为10
}
public void Text() {
int num1;
//局部变量,依然可以声明,不会与主函数冲突。
final int num2 = 1;
//局部常量,依然可以声明,不会与主函数冲突。
int age;
//局部变量,依然可以声明,不会与主函数冲突。
}
}
-
类变量、常量
-
在声明变量前使用static关键字。
-
不用赋值即可使用,拥有当前数据类型的默认值。
-
从属于当前类,随着当前类的出现而出现,消失而消失。
-
很像C#的静态字段,用法也很像通过静态字段模拟全局变量。
-
-
实例变量、常量
-
从属与对象,作用域为整个类。
-
不用赋值即可使用,拥有当前数据类型的默认值。
-
使用方法为类实例化后调用。
-
很像C#调用静态类的方法,用实例化的类去“.” -
仔细想了想可能更像C#中的属性吧涉及到构造函数的知识了,当时没用功啊。
-
-
局部变量、常量
-
-
使用前必须赋值。
-
在当前方法内可以直接使用。
-
实际使用中测试,如果局部变量的变量名与类变量或实例变量的变量名相同,则局部变量声明后在其作用域内类变量与实例变量无法使用。详见以上代码。
命名规范
所有变量、方法、类名命名需要见名知意。
-
变量名和方法名
使用驼峰原则,首单词小写,后面所有单词首字母大写。
-
常量名
全部使用大写字母,单词与单词用下划线连接。
-
类名
所有单词首字母大写。
遵守编程规范,养成良好的命名习惯能显著的增加代码可读性!
数据类型的默认值
-
整型
默认值为0。
-
浮点类型
默认值为0.0。
-
字符类型
默认值虽然为u0000但其实还是0。
实际测试中打印了一个空格?但通过断点确认确实是0。
-
布尔类型
默认值为false。
-
引用类型
所有引用类型的默认值都是null。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人