当前位置:网站首页>第四课 标识符、关键字、变量、变量的分类和作用域、常量
第四课 标识符、关键字、变量、变量的分类和作用域、常量
2022-08-03 11:24:00 【draper-crypto】
引言:
本系列博文是作者本人在自学JAVA过程中所写的笔记,与作者本人学习进度一致,欢迎大家参考
一、标识符
标识符是用来给变量、类、方法以及包进行命名的。
1.四大规则:
- (1)必须以字母、下划线_、美元符号$开头。
- (2)其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
- (3)大小写敏感,且长度无限制。
- (4)不可以是Java的关键字。
2.标识符的使用规范
①表示类名的标识符:每个单词的首字母大写,如Man,GoodMan
②表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(),eatFood()
二、关键字
Java关键字是Java语言保留供内部使用的,如class用于定义类。我们不能使用关键字作为变量名或方法名。
| abstract | assert | boolean | break | byte | case |
|---|---|---|---|---|---|
| catch | char | class | const | continue | default |
| do | double | else | extends | final | finally |
| float | for | goto | if | implements | import |
| instanceof | int | interface | long | native | new |
| null | package | private | protected | public | return |
| short | static | strictfp | super | switch | synchronized |
| this | throw | throws | transient | try | void |
| volatile | while | ||||
三、变量(variable)
变量的本质
①变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。
②可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
③Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。比如,inta=3;表示a变量的空间大小为4个字节。
例1:
//代码1-范例
public class TestVariable{
public static void main(String[] arg){
int age = 18;
int b;
System.out.println(age);
System.out.println(b);
}
}
产生报错:
搜寻原因发现b在使用之前必须进行初始化,即给其赋一个值
修改后:
//代码2-代码1的修改
public class TestVariable{
public static void main(String[] arg){
int age = 18;
int b; //未初始化
System.out.println(age);
b = 12; //赋给b一个值
System.out.println(b);
}
}
成功编译,运行如下
四、变量的分类和作用域
变量有三种类型:
局部变量、成员变量(也称为实例变量)和静态变量。
| 类型 | 声明位置 | 从属于 | 生命周期(作用域) |
|---|---|---|---|
| 局部变量 | 方法或语句块内部 | 方法/语句块 | 从声明位置开始,直到方法或语句块执行完毕,局部变量消失 |
| 成员变量 (实例变量) | 类内部,方法外部 | 对象 | 对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失; |
| 静态变量 (类变量) | 类内部,static修饰 | 类 | 类被加载,静态变量就有效;类被卸载,静态变量消失。 |
局部变量(localvariable)
方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用
五、常量(Constant)
在Java语言中,用关键字final来定义一个常量。常量一旦被初始化后不能再更改。
(1)格式
final type varName = value;
(2)计算圆面积及周长
//代码3-计算圆面积及周长
public class TestConstant{
public static void main(String[] args){
final double PI = 3.14;
int r = 4;
double area = PI*r*r;
double circle = 2*PI*r;
System.out.println("面积是:"+area);
System.out.println("周长是:"+circle);
}
}
成功运行:
六、一些建议
变量和常量命名规范:
- 所有变量、方法、类名: 见名知义
- 类成员变量: 首字母小写和驼峰原则:
monthSalary - 局部变量: 首字母小写和驼峰原则
- 常量: 大写字母和下划线:
MAX_VALUE - 类名: 首字母大写和驼峰原则:
Man,GoodMan - 方法名: 首字母小写和驼峰原则:
run(),runRun()
边栏推荐
猜你喜欢

C#/VB.NET 从PDF中提取表格

For invoice processing DocuWare, cast off the yoke of the paper and data input, automatic processing all the invoice received

ABAB-740新语法

本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目之设备控制实现

机器学习(第一章)—— 特征工程

程序员架构修炼之道:如何设计出可持续演进的系统架构?

云原生 Dev0ps 实践

Fastjson反序列化

【JS 逆向百例】某网站加速乐 Cookie 混淆逆向详解

【二分查找详解外加递归写法】附有全部代码
随机推荐
[错题]电路维修
Lease recovery system based on PHP7.2+MySQL5.7
Skills required to be a good architect: How to draw a system architecture that everyone will love?What's the secret?Come and open this article to see it!...
怎么在外头使用容器里php命令
C - 为什么指针常常初始化为 NULL?
2022年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多
FR9811S6 SOT-23-6 23V,2A同步降压DC/DC转换器
巴比特 | 元宇宙每日必读:玩家离场,平台关停,数字藏品市场正逐渐降温,行业的未来究竟在哪里?...
优维低代码:Provider 构件
ABAB-740新语法
零拷贝、MMAP、堆外内存,傻傻搞不明白...
【HCIP持续更新】STP协议相关保护机制
XDR平台架构与关键技术解析
【一起学Rust】Rust的Hello Rust详细解析
机器比人更需要通证
viewstub 的详细用法_pageinfo用法
LeetCode 899 Ordered queue [lexicographical order] HERODING's LeetCode road
Android 技术面试准备(含面试题及答案)
Why is the new earth blurred, in-depth analysis of white balls, viewing pictures, and downloading problems
微信小程序获取用户手机号码