02:注释、标识符、关键字与数据类型
Java基础语法(一)
注释
注释主要是作用于对编程代码的讲解;其包括单行注释、多行注释、文档注释。注释不会运行,只是为了方便查看代码的含义。代码实例如下:
public class HelloWord {
public static void main(String[] args) {
//单行注释:只能注释一行文字
//输出一个 Hello Word !!!
System.out.println("Hello Word !!!");
/*
多行注释:可以注释多行文字
输出“多行注释”
*/
System.out.println("Hello Word !!!");
/**
* 文档注释:是用来生成帮助文档的,是一种特殊的多行注释
* @author 作者名
* @version 版本号
* @since 指明需要最早使用的jdk版本
* @param 参数名
* @return 返回值情况
* @throws 异常抛出情况
*/
System.out.println("Hello Word !!!");
}
}
标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于 Java 标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
关键字
关键字是被赋予特殊意义的一些单词;这些关键字不能用于常量、变量、和任何标识符的名称。如下所示:
| 类别 | 关键字 | 说明 |
|---|---|---|
| 访问控制 | private | 私有的 |
| protected | 受保护的 | |
| public | 公共的 | |
| default | 默认 | |
| 类、方法和变量修饰符 | 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 | 空 |
基本数据类型
Java的数据类型分为两大类:基本数据类型和引用数据类型(引用数据类型后面会提到)。如下图所示:

-
基本数据类型,实例如下
//整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 40L; //Long类型要在数字后面加L //整数扩展 int i1 = 0b1010; //二进制开头需要用0b表示 int i2 = 010; //二进制开头需要用0表示 int i3 = 10; int i4 = 0x10; //二进制开头需要用0x表示 //浮点数 float num5 = 5.1F; //float类型要在数字后面加F double num6 = 3.1456888113; //字符 char name = '字'; //字符串,String不是关键字,是类 //String nameA = “字符串”; //布尔值 boolean flag1 = true; boolean flag2 = false;
数据转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
数据类型转换必须满足如下规则:
-
不能对boolean类型进行类型转换。
-
不能把对象类型转换成不相关类的对象。
-
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
-
转换过程中可能导致溢出或损失精度,例如:
int i =128; byte b = (byte)i;因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
-
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23; (int)-45.89f == -45
自动类型转换
必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。即转换从低级到高级。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
实例如下:
public class Demo02 {
public static void main(String[] args) {
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
运行结果为:
char自动类型转换为int后的值等于97
char类型和int计算后的值等于66
解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66。
强制类型转换
强制转换的条件是转换的数据类型必须是兼容的。转换由高到低。
格式如下:
数据类型 变量名 = (数据类型)变量名
或
(数据类型) 转换值
实例:
public class Demo03 {
public static void main(String[] args) {
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
运行结果为:
int强制类型转换为byte后的值等于123
转义字符
| 符号 | 字符含义 |
|---|---|
| \n | 换行 (0x0a) |
| \r | 回车 (0x0d) |
| \f | 换页符(0x0c) |
| \b | 退格 (0x08) |
| \0 | 空字符 (0x0) |
| \s | 空格 (0x20) |
| \t | 制表符 |
| " | 双引号 |
| ' | 单引号 |
| \ | 反斜杠 |
| \ddd | 八进制字符 (ddd) |
| \uxxxx | 16进制Unicode字符 (xxxx) |
包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
包的语法格式为:
package 包名;
一般利用公司域名作为包名;
如果需要在Java程序中明确导入一个包,则使用“import”语句即可完成;格式如下:
import 包名.类名;

浙公网安备 33010602011771号