Java基础语法:变量与常量
一、命名规范
- 所有变量、常量、方法、类 都使用英文单词 命名,要见名知意。
- 所有变量、方法 的命名都使用小驼峰法 :首字母小写的驼峰命名法。例如:sampleText
- 类 的命名都使用大驼峰法 :首字母大写的驼峰命名法。例如:SampleText
- 常量 的命名:所有字母大写,单词间用 '_'分隔。例如:SAMPLE_TEXT
二、变量
变量(variable)顾名思义就是指可以变化的量。我们通过变量来操纵内存存储空间中的数据,变量就是指代这个存储空间。存储空间的位置是确定的,但是里面放置什么内容不确定。
Java是一种强类型语言,每个变量都必须声明其类型。
变量是Java程序中最基本的存储单元,其要素包括变量名,变量类型、作用域。
变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元。声明格式为:
/* 数据类型 变量名 = 值; */
type varName [=value] [{,varName[=value]}];
/* 可以使用逗号隔开来声明多个同类型变量。
虽然可以在一行声明多个变量,但是不提倡这个风格,逐一声明每一个变量可以提高程序可读性。 */
注意:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
示例:
String str1;
String str2 = "2";
int num1, num2, num3;
int num4 = 4, num5 = 5, num6 = 6;
三、变量作用域
变量根据其作用域 可以分为三种变量:
类变量(静态变量: static variable):独立于方法之外的变量,用static 修饰。
实例变量(成员变量:member variable):独立于方法之外的变量,不过没有static修饰。
局部变量(lacal variable):类的方法中的变量。
示例:
public class variable{
static int staticVar = 1;//类变量(静态变量)
int memberVar = 2;//实例变量(成员变量)
public void method(){
int lacalVar = 3;//局部变量
}
}
Ⅰ、类变量
- 方法外部、类的内部定义的变量。
- 必须使用static修饰符 修饰。
- 从属于类,生命周期伴随类的始终,从类加载到卸载。
- 如果不手动初始化,它会自动初始化成该类型的默认初始值。
- 数值型变量初始值为0或0.0,字符型变量的初始值为'\u0000',布尔型初始值为false,引用类型初始值为null。
Ⅱ、实例变量
- 方法外部、类的内部定义的变量。
- 从属于对象,生命周期伴随对象始终。
- 如果不手动初始化,它会自动初始化成该类型的默认初始值。
- 数值型变量初始值为0或0.0,字符型变量的初始值为'\u0000',布尔型初始值为false,引用类型初始值为null。
Ⅲ、局部变量
- 方法或代码块内部定义的变量。
- 生命周期是从声明位置开始,到方法或代码块最后的 '}'为止。
- 局部变量没有默认值,所以在使用前必须先声明和初始化(赋初始值),才可以使用。
四、常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 常量是一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
- 程序中使用常量可以提高代码的可维护性,避免不规范赋值导致程序出错的情况。
- 必须使用final修饰符 修饰。
示例:
/* final 数据类型 常量名 = 初始值;
final type constantName = initializeValue; */
final double PI_VALUE = 3.14;
Java基础语法:变量与常量的更多相关文章
- Java基础:变量、常量、作用域
JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...
- java基础:变量、常量与作用域
变量就是可以变化的量,每个变量都必须声明其类型,Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域.作用域 类变量 实例变量 局部变量常量初始化后不能在改变值,不会变动的值,它 ...
- Java基础(变量数&常量&据类型&类型转换)
什么是变量: 变量就是一个不固定的数值,它随时会改变,就像银行卡里存的钱一样会变动. 变量的格式:1 数据类型 变量名=变量值: 2 数据类型 变量名: 变量名=变量值: 变量的三大要素:1变量 ...
- java基础之变量和常量、类型转换
一. 变量 变量是可改变的量,每赋个值便会开辟一个新内存地址. 1.首先,变量需要一个声明,例如:int a,这个a也可以当作是一个标签,它指向了一个内存地址,这个地址是属于int类型的套餐, ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结
020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
- 017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例
017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例 本文知识点:变量 相同类型的变量可以一次同时定义多个 例:可以一行代码同时定义2个变量x ...
- 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值
016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...
随机推荐
- HBase 数据迁移方案介绍(转载)
原文链接:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分 ...
- [ZJOI2007]仓库建设(斜率dp优化)
前言 纪念一下我做的第二道斜率优化$dp$题,终于自己能把代码敲出来了,然而有很智障的$bug$,把$i$写成$q[i]$,找了半天QAQ.然后写$dp$公式并优化的能力稍微强了一点(自我感觉良好), ...
- Codeforces Round #652 (Div. 2) C. RationalLee(贪心)
题目链接:https://codeforces.com/contest/1369/problem/C 题意 将 $n$ 个数分给 $k$ 个人,每个人分 $w_i$ 个数($\sum_{i = 1}^ ...
- Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree (dfs计数,树)
题意:给你含有\(n\)个节点,\(n-1\)条边的树,以及\(m\)个质数和\(1\),你需要在这\(m\)个质数和一个\(1\)选择数(质数只能选一次,\(1\)可以多选)给\(n-1\)条边赋值 ...
- Codeforces Round #649 (Div. 2) A. XXXXX (贪心)
题意:有一个长度为\(n\)的数组,找一段最长子数组,使得其元素和为\(x\),如果存在,输出子数组的长度,否则输出\(-1\). 题解:这题我们要从元素和\(sum\)来考虑,首先,如果原数组的所有 ...
- PowerShell随笔6---ISE
简单的命令可以通过控制台窗口输入执行,但是我的脚本逻辑复杂,需要保存.总不能在命令行工具中执行吧. 关了窗口,啥都没了.有没有一个IDE,有. 在PowerShell命令行窗口中输入:ISE,就会打开 ...
- Go - 实现项目内链路追踪(二)
上篇文章 Go - 实现项目内链路追踪 分享了,通过 链路 ID 可以将 请求信息.响应信息.调用第三方接口的信息.调试信息.执行的 SQL 信息.执行的 Redis 信息 串起来,记录的具体参数在文 ...
- ffmpeg开发环境搭建--(linux)
1. 下载源码: http://ffmpeg.org/download.html 2. 解压:tar –xvf ffmpeg-3.2.1.tar.bz2 3. 配置 Eg:./ ...
- Petrozavodsk Winter Training Camp 2017G(栈)题解
题意: \(M_i\)为一个\(m*m\)矩阵,已知 \[\begin{aligned} &M_0=A\\ &M_i=(\prod_{j=c_i}^{i+1}M_j)B \end{al ...
- 重学c#————struct
前言 简单整理一下struct. 正文 struct 对于struct 而言呢,我们往往会拿class作为对比,但是呢,我们在初学阶段用class来替代struct,struct的存在感越来越低了. ...