Java基础语法之规范、标识符、关键字、变量和常量
Java书写规范
1、 结束“}”必须和开始“{”所在行的首字符纵向对齐。
2、 始“{”放在上行代码的最后,并在之前加个空格。
3、 上行有“{”时,下行下行代码缩进一个水平制表。
4、 上行没有“{”时,下行代码与上行首字母对齐
标识符
概述
在Java中对变量、常量、函数和语句块都是有名字的,他们的名字统称为Java标识符。是为类、对象、方法、变量、接口和自定义数据类型命名的。
组成
标识符是由数字、字母、下划线(_)和美元符($)或者人民币符号(¥)组成。
命名约定
1、 可以有字母、数字、下划线、美元符组成,不能以数字开头。
2、 严格区分大小写。
3、 不能是Java关键字和保留字。
4、 有意义,一般是名词。
例如
合法命名:Hello、hello_CSDN、_hello、abc$123、
非法命名:class、123abc、abc、123
关键字
Java关键字是对Java编译器有特殊含义的字符串,也是和程序员的一种约定,程序员利用关键字来告诉编译器我要做什么。
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,声明布尔类型的关键字 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8、中也作用于声明接口函数的默认实现 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
可以按照关键字作用划分为四组:
1、 用于数据类型:boolean、byte、char、double、false、float、int、long、new、short、true、void、instanceof、
2、 用于语句:break、case、catch、continue、default、do、else、for、if、return、switch、try、while、finally、throw、this、super
3、 用于修饰:abstract、final、native、private、protected、public、static、synchronized、transent、volatile
4、 用于方、类、接口、包和异常:class、extends、implements、interface、package、import、throws
没有几个被Java保留的没有意义的关键字:cat、uture、generic、innerr、operator、outer、rest、var
还有三个保留字他们不是关键字而是文字包含了Java定义的值,他们不能用作标识符:
true、false、null
变量
什么是变量
变量是内存地址的别名,因为内存地址不好记忆。是为了方便存取内存地址中的数据。
变量三元素:变量类型、变量名、变量值
变量名的命名约定
1、 满足标识符命名约定
2、 符合驼峰法命名约定
3、 见名如意
4、 变量名的长度没有限制
数据类型
Demo
变量声明:
变量类型 变量名;
int n;//声明一个整型变量名为n
赋值:
变量名=变量值;
n=3;//给变量n赋值为3.
边声明边赋值:
int n = 3;
特点:
A、 先声明,在赋值,后使用
B、 局部或全局变量不能重复定义
转义字符
类型转换
自动类型转换
Demo
int d= 123;
doublef = d;
自动类型转换是一个小数据范围转大的数据范围,不会丢失数据细节。那么double的值就是123.00。
强制类型转换
如果a类型的数据表示范围比b类型大,a赋值给b则需要强制类型转换。
Demo
double d = 123.45;
float f = (float)d;
这是一个简单的强制类型转换。因为double类型是双精度而float是单精度,double类型的数据表示范围要比float大,所以需要强制类型转换,会丢失数据细节。
也就是说double类型强制转换为float类型会丢掉一个精度,那么float的值就是123.4。就像我们要把大象放在冰箱里需要把它切开丢掉一些不需要的东西,是同样的道理。
常量
关键字:final
是用final定义后的变量不能再次进行更改操作。
Demo
fnal int num = 5;
这时候这个名为num的常量变量就不能再次更改了,如果对他进行更改了系统会划红线报错,不能执行必须改正。
Demo
class Demo1{
public static void main(String\[\] args){
int a = 1;
int b = 2;
int c;
System.out.printle("变量a的值\=" + a + "/n变量b的值 \=" + b);
c = a;
a = b;
b = c;
System.out.printle("变量a的值\=" + a + "/n变量b的值 \=" + b);
}
}
这是比较简单的a、b互换数字的逻辑代码。今天就到这里啦,我们下期再见!
会长时间不间断跟新我所学到的知识。
错误希望指正。
我们会变得更好,加油!
我们评论区里见!