当前位置:网站首页>第四课 标识符、关键字、变量、变量的分类和作用域、常量
第四课 标识符、关键字、变量、变量的分类和作用域、常量
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()
边栏推荐
- What is the relationship between The Matrix and 6G?
- 【一起学Rust 基础篇】Rust基础——变量和数据类型
- Cookie and Session usage
- html网页如何获取后台数据库的数据(html + ajax + php + mysql)
- Summary of redis basics - data types (strings, lists, sets, hashes, sets)
- dataset数据集有哪些_数据集类型
- 【冒泡排序以及奇数偶数排列】
- [Explanation of JDBC and inner classes]
- 实至名归!九章云极DataCanvas公司荣获智能制造领域多项殊荣
- Classical Architecture and Memory Classification of Embedded Software Components
猜你喜欢

FR9811S6 SOT-23-6 23V,2A同步降压DC/DC转换器

fast planner中拓扑路径搜索

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

基于PHP7.2+MySQL5.7的回收租凭系统

怎么在外头使用容器里php命令

【二分查找详解外加递归写法】附有全部代码

用于发票处理的 DocuWare,摆脱纸张和数据输入的束缚,自动处理所有收到的发票
![LeetCode 899 Ordered queue [lexicographical order] HERODING's LeetCode road](/img/95/1b63cfb25b9e0802666114f089fcb8.png)
LeetCode 899 Ordered queue [lexicographical order] HERODING's LeetCode road
【一起学Rust】Rust学习前准备——注释和格式化输出

在 Chrome 开发者工具里通过 network 选项模拟网站的离线访问模式
随机推荐
CADEditorX ActiveX 14.1.X
LyScript implements memory stack scanning
Objective - C code analysis of the deep and shallow copy
谷歌实用插件分享
VRRP协议的作用及VRRP+OSPF配置方法
实现2d人物在跳跃的同时左右移动
【MySQL功法】第5话 · SQL单表查询
Programmers architecture practice way: software architecture basic concepts and thinking
Lease recovery system based on PHP7.2+MySQL5.7
This article takes you to understand the principle of CDN technology
Question G: Word Analysis ← Questions for the second provincial competition of the 11th Blue Bridge Cup Competition
XDR平台架构与关键技术解析
complete knapsack problem
Machine Learning (Chapter 1) - Feature Engineering
二叉搜索树(搜索二叉树)模拟实现(有递归版本)
C - 为什么指针常常初始化为 NULL?
永寿 永寿农特产品-苹果
实至名归!九章云极DataCanvas公司荣获智能制造领域多项殊荣
【JDBC以及内部类的讲解】
【MySQL】数据库进阶之索引内容详解(上篇 索引分类与操作)