变量

  1. 变量是什么:就是可以变化的量

  2. Java是一种强类型语言,每个变量都必须声明其类型

  3. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    type varName [=value] [{,varName[=value]}] ;
    //数据类型 变量名1=值,变量名2=值;可以使用逗号隔开来声明多个同类型变量,但不建议这样用,这样用会降低程序可读性。 我们不妨来个假设:假设有个柜子,柜子有四层,第一层贴有帽子标签,第二层贴有衣服标签,第三层贴有鞋子标签,而第四层暂时还未被规定用来放什么且非常大还可以继续分层。第三层中有小A、小B,小C和小D四个小朋友的鞋子,其中,小A、小B,小C和小D四个小朋友的鞋子码分别为18、19、20、21.
    那么接下来就好理解了,我们电脑的内存可以理解为柜子,柜子的每一层可以理解为内存空间(变量),帽子、衣服、鞋子可以理解为某三种数据类型,小A、小B,小C和小D四个小朋友的名字则可以理解为他们在这个数据类型中的变量名,而他们的鞋子码就是值。
  4. 注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量的分类

1. 类变量或静态变量

  1. 用static修饰
  2. 随着类的加载而存在,随着类的消失而消失
  3. 在方法中可以直接引用
public class Demo05 {
static double salary=2500;
public static void main(String[] args) {
System.out.println(salary);
}
}

2. 实例变量

  1. 从属于对象,如果不进行初始化,执行代码时会输出这个类型的默认值
  2. 随着对象的创建而存在,随着对象的回收而释放
  3. 在方法中不能直接引用
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. 局部变量

  1. 必须声明和初始化数据
  2. 其生命周期取决于所属的方法何时开始调用到何时结束调用
  3. 只在所属方法内有用
public class Demo01 {
public static void main(String[] args) {
int num=10;
System.out.println(num);
}
}

常量(Constant)

  1. 初始化(initialize)后不能再改变它的值,它的值被设定后,在程序运行过程中不允许被改变
  2. 在方法中可以直接引用
  3. 公式: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()

最新文章

  1. trap命令
  2. Android 5.x特性概览五
  3. oracle 约束
  4. Jsp实现form的file和text传递(multipart/form-data)
  5. Spring 操作数据库
  6. Cordova探险系列(三)
  7. MVC应用程序显示上传的图片
  8. Picture
  9. Mysql基础--表的操作
  10. 网站开启cdn加速的最简单步骤
  11. js长整型的失真问题解决
  12. centos7下安装docker(13docker存储)
  13. 项目实战利用Python来看美国大选
  14. 前端复制粘贴clipBoard.js的使用
  15. 简单思考 如何用PHP输出本周的周三日期
  16. pyspark dataframe 格式数据输入 做逻辑回归
  17. 复制文件描述符---dup
  18. #阿里云#云服务器部署Django(基础篇)
  19. 原生爬虫小Demo
  20. 路飞学城知识点3缓存知识点之二redis

热门文章

  1. ChatGPT国内镜像模板,国内使用ChatGPT中文版本
  2. 4 .NET Core笔试题
  3. Git常用指令集合🔥
  4. 病程极短(≤16周)的495例未分化关节炎患者随访2年的结局[EULAR2015_SAT0055]
  5. day05-mybatis配置文件和SQL映射文件
  6. JS 获取参数、封装
  7. PostGIS之空间投影
  8. Shapefile导入MySQL
  9. OpenAI Java SDK——chatgpt-java-v1.0.3更新支持GPT-3.5-Turbo,支持语音转文字,语音翻译。
  10. Linus对Linux 6.3内核的合并解释不满