1、注释
//单行注释
/*
多行
注释
*/
/**
* @Description 文档注释
* @author 某某
*/
2、标识符和关键字
标识符定义
1、 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
2、 标识符可以由字母、数字、下划线(_)和美元符号($)组成
3、 标识符不能以数字开头,不能是java中的关键字。例如:
- 正确的标识符
Username、username123、user_name、_userName、$username - 不正确的标识符:
123username、class、87.2、Hello World、num*123
4、 首字符之后可以是字母(AZ 或者 az),美元符($)、下划线(_)或数字的任何字符。
5、 标识符是大小写敏感。
Java标识符规则
- 包名所有字母必须小写。例如:cn.itcast.test
- 类名和接口名每个单词的首字母都要大写。例如:ArrayList
- 常量名所有的字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH
- 变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写。例如:lineName、getLingNumber
- 在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。
Java关键字
- 下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
- 所有的关键字都是小写
- 程序中的标识符不能以关键字命名
- const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
- true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
访问控制 | protected | 受保护的 |
访问控制 | public | 公共的 |
类、方法和变量修饰符 | abstract | 声明抽象 |
类、方法和变量修饰符 | class | 类 |
类、方法和变量修饰符 | extends | 扩充,继承 |
类、方法和变量修饰符 | final | 最终值,不可改变的 |
类、方法和变量修饰符 | implements | 实现(接口) |
类、方法和变量修饰符 | interface | 接口 |
类、方法和变量修饰符 | native | 本地,原生方法(非 Java 实现) |
类、方法和变量修饰符 | new | 新,创建 |
类、方法和变量修饰符 | static | 静态 |
类、方法和变量修饰符 | strictfp | 严格,精准 |
类、方法和变量修饰符 | synchronized | 线程,同步 |
类、方法和变量修饰符 | transient | 短暂 |
类、方法和变量修饰符 | volatile | 易失 |
程序控制语句 | break | 跳出循环 |
程序控制语句 | case | 定义一个值以供 switch 选择 |
程序控制语句 | continue | 继续 |
程序控制语句 | default | 默认 |
程序控制语句 | do | 运行 |
程序控制语句 | else | 否则 |
程序控制语句 | for | 循环 |
程序控制语句 | if | 如果 |
程序控制语句 | instanceof | 实例 |
程序控制语句 | return | 返回 |
程序控制语句 | switch | 根据值选择执行 |
程序控制语句 | while | 循环 |
错误处理 | assert | 断言表达式是否为真 |
错误处理 | catch | 捕捉异常 |
错误处理 | finally | 有没有异常都执行 |
错误处理 | throw | 抛出一个异常对象 |
错误处理 | throws | 声明一个异常可能被抛出 |
错误处理 | try | 捕获异常 |
包相关 | import | 引入 |
包相关 | package | 包 |
基本类型 | boolean | 布尔型 |
基本类型 | byte | 字节型 |
基本类型 | char | 字符型 |
基本类型 | double | 双精度浮点 |
基本类型 | float | 单精度浮点 |
基本类型 | int | 整型 |
基本类型 | long | 长整型 |
基本类型 | short | 短整型 |
变量引用 | super | 父类,超类 |
变量引用 | this | 本类 |
变量引用 | void | 无返回值 |
保留关键字 | goto | 是关键字,但不能使用 |
保留关键字 | const | 是关键字,但不能使用 |
保留关键字 | null | 空 |
3、数据类型
Java基本数据类型
- 位(bit):计算机内部数据储存的最小单位,1100 0111是一个八位二进制数
- 字节(byte):是计算机中处理数据的基本单位,习惯上用大写B来表示
- 1B(byte,字节) = 8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位, 1Byte = 8bit, 1024B = 1KB, 1024KB = 1MB,1024MB = 1GB
基本类型 | 占据空间大小 | 取值范围 | 默认值 |
---|---|---|---|
boolean | 不确定 | true/false | 0 |
byte | 一个字节 | -128----127 | 0 |
short | 2个字节 | -2^15-2^15-1 | 0 |
int | 4个字节 | -2^31-2^31-1 | 0 |
long | 8个字节 | -2^63-2^63-1 | 0L |
float | 4个字节 | -2^128-2^128 | 0.0F |
double | 8个字节 | -2^1024-2^1024 | 0.0D |
char | 2个字节 | \u0000 |
Java引用数据类型
类、接口、数组 String Byte Integer …
4、类型转换
//---------强制转换
//强制转换 高-->低
int i = 128;
byte b = (byte)i; // -128 内存溢出
//---------自动转换
//自动转换 低-->高
int i2 = 128;
double d = i2;
//精度丢失
System.out.println((int)23.7); //输出23
System.out.println((int)-45.89f); //输出-45
char c = 'a';
int d = c+1;
System.out.println(d); // 输出 98
System.out.println((char)d); // 输出b
转换中需要注意的问题:
- 不能对布尔类型进行转换
- 不能把对象类型转换为不相干的类型
- 再把高容量转换到低容量时后,强制转换
- 转换的时候可能存在内存溢出,或精度问题!
JDK7新特性,数字之间可以用 下划线 间隔
int money = 10_0000_0000; // int范围 -2^31 ~ 2^31-1
System.out.println(money); // 输出1000000000
5、变量、常量、作用域
变量
Java语言支持的变量类型有:
- 类变量:独立于方法之外的变量,用 static 修饰。
- 实例变量:独立于方法之外的变量,不过没有 static 修饰。
- 局部变量:类的方法中的变量。
public class Variable{
//类变量 static
static int allClicks=0; // 类变量
//实例变量:从属于对象,如果不自行初始化 数值默认值为0 0.0,
//boolean 默认为 false
//除了基本类型,其他默认都为null
String str="hello world"; // 实例变量
public void method(){
//必须声明和初始化值
int i =0; // 局部变量
}
}
常量
常量:初始化后不能在改变的值!不会变动的值。
所谓常量可以理解为一种特殊的变量,它的值设定以后,在程序运行期间不允许被改变。
final 常量名 = 值
final double PI = 3.14;
常量常用大写字母来表示。
变量的命名规范
- 所有变量、方法名、类名:见名知意!
- 类成员变量:首字母小写和驼峰原则:userName,除了第一个单词以外,后面的单词首字母都大写。lastName
- 局部变量:首字母小写和驼峰命名
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则,GoodMan
- 方法名:首字母小写和驼峰原则:run() getUser()