【Java学习Day11】变量种类及命名规范
2024-10-21 13:22:36
变量
变量是什么:就是可以变化的量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}] ;
//数据类型 变量名1=值,变量名2=值;可以使用逗号隔开来声明多个同类型变量,但不建议这样用,这样用会降低程序可读性。 我们不妨来个假设:假设有个柜子,柜子有四层,第一层贴有帽子标签,第二层贴有衣服标签,第三层贴有鞋子标签,而第四层暂时还未被规定用来放什么且非常大还可以继续分层。第三层中有小A、小B,小C和小D四个小朋友的鞋子,其中,小A、小B,小C和小D四个小朋友的鞋子码分别为18、19、20、21.
那么接下来就好理解了,我们电脑的内存可以理解为柜子,柜子的每一层可以理解为内存空间(变量),帽子、衣服、鞋子可以理解为某三种数据类型,小A、小B,小C和小D四个小朋友的名字则可以理解为他们在这个数据类型中的变量名,而他们的鞋子码就是值。
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量的分类
1. 类变量或静态变量
- 用static修饰
- 随着类的加载而存在,随着类的消失而消失
- 在方法中可以直接引用
public class Demo05 {
static double salary=2500;
public static void main(String[] args) {
System.out.println(salary);
}
}
2. 实例变量
- 从属于对象,如果不进行初始化,执行代码时会输出这个类型的默认值
- 随着对象的创建而存在,随着对象的回收而释放
- 在方法中不能直接引用
public class Demo05 {
int age1;
int age2=18;
String name1;
String name2="linzihao";
boolean flag;
/*
默认值为0的数据类型:byte,short,int,long
默认值为0.0的数据类型:float,double
布尔值的默认值为false
除了基本类型,其余的类型的默认值都是null
*/
public static void main(String[] args) {
Demo05 demo05 = new Demo05();//实例变量在方法中需要先这样才能用
System.out.println(demo05.age1);
System.out.println(demo05.age2);
System.out.println(demo05.name1);
System.out.println(demo05.name2);
System.out.println(demo05.flag);
}
}
3. 局部变量
- 必须声明和初始化数据
- 其生命周期取决于所属的方法何时开始调用到何时结束调用
- 只在所属方法内有用
public class Demo01 {
public static void main(String[] args) {
int num=10;
System.out.println(num);
}
}
常量(Constant)
- 初始化(initialize)后不能再改变它的值,它的值被设定后,在程序运行过程中不允许被改变
- 在方法中可以直接引用
- 公式:final 常量名=值; 例子:final double PI=3.14;
public class Demo01 {
//修饰符不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
最新文章
- trap命令
- Android 5.x特性概览五
- oracle 约束
- Jsp实现form的file和text传递(multipart/form-data)
- Spring 操作数据库
- Cordova探险系列(三)
- MVC应用程序显示上传的图片
- Picture
- Mysql基础--表的操作
- 网站开启cdn加速的最简单步骤
- js长整型的失真问题解决
- centos7下安装docker(13docker存储)
- 项目实战利用Python来看美国大选
- 前端复制粘贴clipBoard.js的使用
- 简单思考 如何用PHP输出本周的周三日期
- pyspark dataframe 格式数据输入 做逻辑回归
- 复制文件描述符---dup
- #阿里云#云服务器部署Django(基础篇)
- 原生爬虫小Demo
- 路飞学城知识点3缓存知识点之二redis
热门文章
- ChatGPT国内镜像模板,国内使用ChatGPT中文版本
- 4 .NET Core笔试题
- Git常用指令集合🔥
- 病程极短(≤16周)的495例未分化关节炎患者随访2年的结局[EULAR2015_SAT0055]
- day05-mybatis配置文件和SQL映射文件
- JS 获取参数、封装
- PostGIS之空间投影
- Shapefile导入MySQL
- OpenAI Java SDK——chatgpt-java-v1.0.3更新支持GPT-3.5-Turbo,支持语音转文字,语音翻译。
- Linus对Linux 6.3内核的合并解释不满