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 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...
随机推荐
- Flink-v1.12官方网站翻译-P013-Timely Stream Processing
及时的流处理 介绍 及时流处理是有状态流处理的一种扩展,其中时间在计算中起着一定的作用.其中,当你做时间序列分析时,当做基于某些时间段(通常称为窗口)的聚合时,或者当你做事件处理时,事件发生的时间很重 ...
- Codeforces Round #657 (Div. 2) A. Acacius and String(字符串)
题目链接:https://codeforces.com/contest/1379/problem/A 题意 给出一个由 '?' 和小写字母组成的字符串,可以将 '?' 替换为小写字母,判断是否存在一种 ...
- Codeforces Round #604 (Div. 2) B. Beautiful Numbers(双指针)
题目链接:https://codeforces.com/contest/1265/problem/B 题意 给出大小为 $n$ 的一个排列,问对于每个 $i(1 \le i \le n)$,原排列中是 ...
- hdu1890 Robotic Sort (splay+区间翻转单点更新)
Problem Description Somewhere deep in the Czech Technical University buildings, there are laboratori ...
- hdu3938 Portal
Problem Description ZLGG found a magic theory that the bigger banana the bigger banana peel .This im ...
- Codeforces Round #307 (Div. 2) B. ZgukistringZ
Professor GukiZ doesn't accept string as they are. He likes to swap some letters in string to obtain ...
- Codeforces #6241 div2 C. Orac and LCM (数学)
题意:给你一个数列,求所有子序列对的\(lcm\),然后求这些所有\(lcm\)的\(gcd\). 题解:我们对所有数分解质因数,这里我们首先要知道一个定理: 对于\(n\)个数,假如某个质数\( ...
- mitmproxy 代理工具介绍:rewrite和map local实现
在接口测试中,会用到抓包工具或者代理工具,常用代理工具包括charles. burpsuite. fiddler.mitmproxy等,ssh -D参数 可实现socks5代理.网络嗅探工具可以使用t ...
- git push bug
git push bug fast-forwards $ git push $ git push --help # git pull $ gp To http://git.xgqfrms.xyz:88 ...
- js var & let & const All In One
js var & let & const All In One js var & let & const 区别对比 var let const 区别 是否存在 hois ...