变量

  • 变量是什么:就是可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}];
// 数据类型 变量名 = 值;也可以使用逗号隔开来声明多个同类型的变量

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo03 {
public static void main(String[] args) {
int a,b,c;
int d=1,e=1,f=1;
String name = "葛老头";
char x = 'x';
double g = 4.45;
}
}

变量作用域

  • 类变量
  • 实例变量
  • 局部变量

类变量

  • 含义:暂时理解为带static就为类变量;书写位置位于Demo04类的第一个花括号里面;后面面向对象笔记时,会有详述
  • 声明:static 变量类型 变量名 = 值
  • 作用域:整个Demo04类
  • 引用:直接引用,输入变量名即可

实例变量

  • 含义:从属于对象;书写位置位于Demo04类的第一个花括号里面;后面面向对象笔记时,会有详述
  • 声明:变量类型 变量名 = 值  (不赋值时有默认值,代码模块有对应变量类型的默认值)
  • 作用域:整个Demo04类
  • 引用:先变量类型 变量名 = new 类名类名.变量名
    • 由于实例变量从属于对象,所以先要用new一个对象来接,类的实例变量
    • 由于是实例变量,所以变量类型是引用类型,引用的是当前类;变量类型因此为Demo04
    • 具体使用变量时就是类名.变量名

局部变量

  • 含义:当前方法里面的变量,是局部的
  • 声明:变量类型 变量名 = 值  (局部变量必须声明且赋值)
  • 作用域:当前方法
  • 引用:直接引用,输入变量名即可
public class Demo04 {

    // 类变量 static
static double salary = 2500; // 实例变量:从属于对象;如果不赋值的话,会有默认值
// 布尔型:默认是false
// 引用类型:默认是null
// 八大基本类型:默认是0
String name;
int age; // main方法
public static void main(String[] args) { //局部变量;必须声明和赋值
int i =10;
System.out.println(i); // 实例变量的引用
// 变量类型 变量名字 = new Demo04();
Demo04 demo04 = new Demo04();
System.out.println(demo04.age);
System.out.println(demo04.name); // 类变量的引用
System.out.println(salary); }
}

常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
  • 所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量类型 常量名 = 值;
final double PI = 3.14;
  • 常量名一般使用大写字符
public class Demo05 {

    // final和static是修饰符不存在先后顺序
// final修饰这个变量为常量
// static 修饰这个变量作用域为类变量
static final double PI = 3.14;
final static double UI = 3.14; public static void main(String[] args) {
System.out.println(PI);
System.out.println(UI);
}
}

变量的命名规范

  • 所有的变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰规则,除了第一个单词以外,后面的单词首字母大写,如:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线。如:MAX_VALUE
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则,如:runRun()

Java基础系列(11)- 变量、常量、作用域以及变量的命名规范的更多相关文章

  1. 夯实Java基础系列11:深入理解Java中的回调机制

    目录 模块间的调用 多线程中的"回调" Java回调机制实战 实例一 : 同步调用 实例二:由浅入深 实例三:Tom做题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 ...

  2. Java工程师学习指南第1部分:夯实Java基础系列

    点击关注上方"Java技术江湖",设为"置顶或星标",第一时间送达技术干货. 本文整理了微信公众号[Java技术江湖]发表和转载过的Java优质文章,想看到更多 ...

  3. java基础06-变量、常量、作用域

    java基础06-变量.常量.作用域 一.变量 变量是什么:就是可以变化的量! java是一种强类型语言,每个变量都必须声明其类型. java是一种强类型语言,每个变量都是必须声明其类型. java变 ...

  4. 夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!

    目录 目录 string基础 Java String 类 创建字符串 StringDemo.java 文件代码: String基本用法 创建String对象的常用方法 String中常用的方法,用法如 ...

  5. 夯实Java基础系列14:深入理解Java枚举类

    目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...

  6. Java基础系列--static关键字

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...

  7. Java基础系列--HashMap(JDK1.8)

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是 ...

  8. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...

  9. 夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理

    目录 final使用 final变量 final修饰基本数据类型变量和引用 final类 final关键字的知识点 final关键字的最佳实践 final的用法 关于空白final final内存分配 ...

  10. 夯实Java基础系列9:深入理解Class类和Object类

    目录 Java中Class类及用法 Class类原理 如何获得一个Class类对象 使用Class类的对象来生成目标类的实例 Object类 类构造器public Object(); register ...

随机推荐

  1. ARM—异常中断处理

    文章目录 一. ARM程序执行流程 二. ARM工作模式 三. ARM中异常中断的种类 四. 异常中断向量表及优先级 五. 异常中断用到的寄存器 六. ARM进入处理异常中断时的操作 七. ARM退出 ...

  2. 线程队列 concurrent 协程 greenlet gevent

    死锁问题 所谓死锁:是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进 ...

  3. noip21

    所以分差到底要不要取绝对值啊 T1 3分钟出暴力,十分钟码好,然后样例过不去... 好吧,我是sb,求中位数之前是要排序的. 直接冲暴力,50pts. \(w=3\) 的点,开个桶记录一下又有20pt ...

  4. C#托管堆和垃圾回收

    垃圾回收 值类型 每次使用都有对应新的线程栈 用完自动释放 引用类型 全局公用一个堆 因此需要垃圾回收 操作系统 内存是链式分配 CLR 内存连续分配(数组) 要求所有对象从 托管堆分配 GC 触发条 ...

  5. 【java虚拟机】分代垃圾回收策略的基础概念

    作者:平凡希 原文地址:https://www.cnblogs.com/xiaoxi/p/6602166.html 一.为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一 ...

  6. 15.SpringMVC之异步请求

    SpringMVC中异步请求相关组件 SpringMVC在此基础上对异步请求进行了封装.提供了AsyncWebRequest类型的request,并提供了处理异步请求的管理器WebAsyncManag ...

  7. 关于int和Integer缓存(一):以及设计构想(享元模式)

    关于Integer的值缓存:在介绍Integer的值缓存之前,我们需要了解的是,java中的包装类型,我们都知道java中有包装类型int                     Integer    ...

  8. python实现两台不同主机之间进行通信(客户端和服务端)——Socket

    大家好,我是辰哥~ 今天教大家通过Python进行Socket网络编程 (做一个聊天程序) 可以实现在不同的主机(电脑)之间进行通话. 具体效果如何,接着往下看 可以看到客户端(上方)向服务器端(下方 ...

  9. 剖析虚幻渲染体系(11)- RDG

    目录 11.1 本篇概述 11.2 RDG基础 11.2.1 RDG基础类型 11.2.2 RDG资源 11.2.3 RDG Pass 11.2.4 FRDGBuilder 11.3 RDG机制 11 ...

  10. MySQL-存储引擎-Myisam

    mysql> create table myisam_char(name char(10)) engine=myisam; Query OK, 0 rows affected (0.01 sec ...