Java基础系列(11)- 变量、常量、作用域以及变量的命名规范
变量
- 变量是什么:就是可以变化的量
- 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)- 变量、常量、作用域以及变量的命名规范的更多相关文章
- 夯实Java基础系列11:深入理解Java中的回调机制
目录 模块间的调用 多线程中的"回调" Java回调机制实战 实例一 : 同步调用 实例二:由浅入深 实例三:Tom做题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 ...
- Java工程师学习指南第1部分:夯实Java基础系列
点击关注上方"Java技术江湖",设为"置顶或星标",第一时间送达技术干货. 本文整理了微信公众号[Java技术江湖]发表和转载过的Java优质文章,想看到更多 ...
- java基础06-变量、常量、作用域
java基础06-变量.常量.作用域 一.变量 变量是什么:就是可以变化的量! java是一种强类型语言,每个变量都必须声明其类型. java是一种强类型语言,每个变量都是必须声明其类型. java变 ...
- 夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!
目录 目录 string基础 Java String 类 创建字符串 StringDemo.java 文件代码: String基本用法 创建String对象的常用方法 String中常用的方法,用法如 ...
- 夯实Java基础系列14:深入理解Java枚举类
目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...
- Java基础系列--static关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...
- Java基础系列--HashMap(JDK1.8)
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是 ...
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
- 夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理
目录 final使用 final变量 final修饰基本数据类型变量和引用 final类 final关键字的知识点 final关键字的最佳实践 final的用法 关于空白final final内存分配 ...
- 夯实Java基础系列9:深入理解Class类和Object类
目录 Java中Class类及用法 Class类原理 如何获得一个Class类对象 使用Class类的对象来生成目标类的实例 Object类 类构造器public Object(); register ...
随机推荐
- MySQL-07-information_schema/show
information_schema.tables视图 DESC information_schema.TABLES /** TABLE_SCHEMA ---->库名 TABLE_NAME -- ...
- [06 Go语言基础-包]
[06 Go语言基础-包] 包 什么是包,为什么使用包? 到目前为止,我们看到的 Go 程序都只有一个文件,文件里包含一个 main 函数和几个其他的函数.在实际中,这种把所有源代码编写在一个文件的方 ...
- php本地文件包含 Writeup
目录 本地文件包含 LFI本地文件包含案例一 LFI本地文件包含案例二 本地文件包含简介 文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码. ...
- Python - typing 模块 —— NewType
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...
- 安全工具推荐之sqlmap tamper&sqlmap api
我发现总有一些人喜欢问sqlmap的tamper脚本,问完工具问参数,问完参数问脚本...... 你这个问题问的水平就很艺术,让我一时不知从何说起...... 说一下在sqlmap的使用过程中,个人了 ...
- Centos7上安装最新的nodejs
下载nodejs包 安装wget yum install -y wget 下载nodejs到/usr/local/nodejs/下 https://cdn.npm.taobao.org/dist/no ...
- C# 二维码生成 ( QRCoder )
二维码1.前言seaconch 最近在搞二维码方面的一些东西,所以接触了一些二维码相关,那么既然用过了就要有用过了的样子 其实关于二维码的文章真的多的数不胜数,有很多写的很认真,很好,但这就像是学习一 ...
- linux中 ~ 表示的是什么目录?
~ 表示代码主目录,也就是当前登录用户的用户目录.比如:我登录用户是chencd ~~ 代表的就是 /home/chen/当然前提是有用户目录,如果没有/home/chen目录的话情况就比较多了.总之 ...
- 12.SpringMVC之拦截器
1.拦截器概述 1.1 什么是拦截器? Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以 ...
- mzy对于反射的复习
反射其实就是指在超脱规则的束缚,从强引用到弱相关,在上帝视角做事情,对于写配置文件,和一些框架的源码,得到调用上至关重要,java带有解释器的语法特性,使得泛型一类的语法糖和反射配合之后更如鱼得水! ...