【Java学习Day11】变量种类及命名规范
变量
变量是什么:就是可以变化的量
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()
【Java学习Day11】变量种类及命名规范的更多相关文章
- C语言变量和函数命名规范
C 语言变量和函数命名规范: 关于C语言变量和函数命名规范 据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则.命名规则对软件产品而言并不是"成败悠关&quo ...
- JS——变量声明、变量类型、命名规范
变量声明: JavaScript是一种弱类型语言,它的变量类型由它的值来决定,var是变量声明. 变量类型: 基本类型:number.string.boolean(布尔类型:var a=true/fa ...
- java包(package)的命名规范
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由 ...
- java学习之变量
看完了常量,那我们来看下变量. 变量顾名思义,也就是能变化的量,也就是说已经定义之后它的值仍然是可以变的,不像常量一经定义便不能够改变了.比如说现在我们需要一个数,需要用户输入之后才能,确定这个数是几 ...
- Java学习day11
如果程序出现了问题,我们没有做任何处理,JVM会做默认处理,即:把异常的名称,原因和位置等信息输出在控制台,程序停止执行 一个简单的检测集合对象是否含有某元素,有就再添加一个某元素 public cl ...
- java基础之Java变量命名规范
本文介绍的是java中的变量的命名规则,对于初学者来说,还是很重要的.希望对你有帮助,一起来看. Java是一种区分字母的大小写(case-sensitive)的语言,下面谈谈Java语言中包.类.变 ...
- 转型、java基础之Java变量命名规范 (转载)
向上转型:基类引用指向导出类(派生类)的对象(实例)向下转型:导出类的引用指向基类的对象(实例) 重点:向下转型只有将该引用的导出类的向上转型后向下转型,运行时才不会报错 Java是一种区分字母的大 ...
- JAVA中变量的类型及命名规范
1. 计算机是一种极度精确的机器;2. 要将信息存储在计算机当中,就必须指明信息存储的位置和所需的内存空间;3. 在JAVA编程语言当中,使用声明语句来完成上述的任务; 4. 变量的类型: 5. 变量 ...
- 【Java】变量命名规范
Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包.类.变量等的命名规范. (一)Package(包)的命名 P ...
- 编程语言,执行python程序,变量(命名规范)
编程语言 分类: 计算语言/汇编语言/高级语言 计算语言: 站在计算机的角度,说计算机能听懂的语言,就是直接用二进制编程,直接操作硬件 优点是最底层,执行速度最快 缺点是最复杂,开发效率最低 ...
随机推荐
- python爬虫(含scrapy)
python爬虫 1.解析HTML: lxml 是一种python编写的库,可以迅速.灵活的处理xml和html 使用:根据版本的不同,有如下两种: 形式1: from lxml import etr ...
- Struts2文件配置介绍
Struts2文件配置介绍 struts2 structs.xml文件配置 标签 package标签 <?xml version="1.0" encoding="U ...
- Solon2 的应用生命周期
Solon 框架的应用生命周期包括:一个初始化函数时机点 + 六个事件时机点 + 两个插件生命时机点 + 两个容器生命时机点(v2.2.0 版本的状态): 提醒: 启动过程完成后,项目才能正常运行(启 ...
- LeetCode-429 N叉树的层次遍历
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal著作权归领扣网络所有.商业转载请联 ...
- ABAP SORT 递减/递增
排序 DESCENDING(递减) / ASCENDING(递增)只作用前字段 SORT LT_VBAK BY VBELN DESCENDING(递减). SORT LT_VBAK BY VBE ...
- 下拉刷新 get请求 post请求 onLoad
"enablePullDownRefresh": true 下拉刷新之后背景颜色 "backgroundColor": "#efefef&qu ...
- C++ MFC学习 (六)
由于微软在VS2013 及之后不建议再使用 C/C++ 的传统库函数 scanf,strcpy,sprintf 等,所以直接使用这些库函数会提示 C4996 错误 VS建议采用带 _S的函数,如: s ...
- mybatis_pagehelper_selectOne的SQL语句被莫名的增加分页相关设置,暂定解决办法
在使用mybatis.以及其分页插件pagehelper时,原本的一个selectOne的sql语句被莫名(原因未知)的加上了分页相关,引起如下异常: exception is org.apache. ...
- datax缺少clickhouse reader插件
背景:想要把click house的数据源同步到clickhouse,发现Datax没有clickhousereader组件. 1.把clickhousewriter/libs下的所有jar包复制到r ...
- tensorrt cuda cudnn 各版本的匹配要求
https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-8.html#rel_8-0-3