1 代码解释和注释
1.1 代码解释
//类名 : 每个的单词首字母大写
//被public修饰的类,类名要求与文件名保持一致
//一个java文件中可以定义多个类,但是被public修饰 的类只能与一个
//编译 : 会检查源代码中的语法
public class Class001{
public static void main(String[] args){
System.out.println("abc");
}
}
class Demo{
public static void main(String[] args){
//ln 当前输出语句内容输出完毕之后换行
System.out.println("123");
}
}
//一个类 中可以不存在main方法
//main方法是程序的入口,没有main方法不能运行
class A{}
1.2 注释
- 单行注释
//
一次只能注释一行,能嵌套单行不能嵌套多行文档
- 多行注释
/*
*
*/
一次能注释多行,能嵌套单行不能嵌套多行文档
- 文档注释
/**
*
*/
一次能注释多行,能嵌套单行不能嵌套多行文档。文档注释内容能够被保留 在api文档(说明手册)中,如果在idea,eclipse等编辑工具中,在方法上添加文档注释会自带声明说明,多行注释没有这些。
2 关键字
Java关键字是Java语言保留供内部使用的,如 class 用于定义类。 关键字也可以称为保留字,它们的意思是一样的。是被系统征用的特殊单词(标识符),而且是被广大程序员所认知的。
abstract | Assert | boolean | break | byte | case |
---|---|---|---|---|---|
catch | char(character) | 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 |
goto和const作为保留字存在,不能使用关键字作为变量名或方法名。
3 标识符
一切起名字地方的名字就是标识符。用来查找、定位、标明、唯一确认内容。
3.1 标识符命名规则
- 只能有数字,字母,下划线,美元符$任意组成且不能以数字开头。
- 不可以是关键词和保留字。
- Java 标识符大小写敏感,且长度无限制。
- 不建议使用汉字定义标识符。
3.2 标识符命名规范
- 见名知意
- 驼峰原则
包名:就是系统中的文件夹==>全部小写
单级包 : 一个 wh
多级包 :多个文件夹嵌套 com.wh
类名|接口名 : 每个单词首字母大写 AhWh
变量|方法名 : 第一个单词全部小写,第二个单词开始,每个单词首字母大写 ahWh
常量名 : 全部大写,每个单词之间用_连接 AH_WH
4 变量
定义一个变量,其值在运行期间可以发生改变。我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!变量就是用来存储数据。
4.1 Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
- 变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式
为: type varName [=value] ; - 注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
4.2 变量分类
- 局部变量(lacal variable) :方法或语句块内部定义的变量。生命周期是从声明位置开始到 } 为止。在使用前必须先声明和初始化(赋初值)
- 实例变量(成员变量 member variable):方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终,如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
- 静态变量(类变量 static variable):使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
5 数据类型
5.1数值型:
5.1.1 整型:
类型 | 所占内存 | 表数范围 |
---|---|---|
byte 字节型 | 1个字节 1B = 8b | [-128,127] |
short 短整型 | 2个字节 -2^15 ~ 2^15-1 | (-32768~32767) |
int 整形 | 4个字节 -2^31 ~ 2^31-1 | (-2147483648~2147483647) 约21亿 |
long 长整型 | 8个字节 -2^63 ~ 2^63-1 | 非常大 |
Java 语言整型常数的三种表示形式:
十进制整数,如:99, -500, 0。
八进制整数,要求以 0 开头,如:015。
十六进制数,要求 0x 或 0X 开头,如:0x15 。
Java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ ,如:
long a = 88888888; //不出错,在Int表示的范围内(21亿内)。
long b = 88888888888;//不加l出错,已经超过int表示的范围。
5.1.2 浮点型:
类型 | 所占内存 | 表数范围 |
---|---|---|
float 单精度 | 4字节 | -3.403E38~3.403E38 |
double 双精度 | 8字节 | -1.798E308~1.798E308 |
- float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
- double表示这种类型的数值精度是float类型的两倍,又被称作双精度,绝大部分应用程序都采double类型
- float 类型的数值有一个后缀 F|f ,没有后缀 F|f 的浮点数值默认为 double 类型。也可以在浮点数值后添加后缀 D|d , 以明确其为double类型
Java 浮点类型常量有两种表示形式
- 十进制数形式,例如: 3.14 314.0 0.314
- 科学记数法形式,如 314e2 314E2 314E-2
5.1.3 字符型 : char
char 类型用来表示在 Unicode 编码表中的字符。Unicode 编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536 个字符;ASCII码占1个字节,可允许有128个字符,是Unicode编码表中前128个字符。
/**
* 测试使用char类型
* /
public class Test {
public static void main(String[] args) {
// 声明一个变量
char ch = 'a'; // 单引号引起来的单个字符
System.out.println(ch);//a
System.out.println(ch+1);//98
// 通过数字进行赋值 char类型的变量可以进行四则运算
ch = 97;
System.out.println(ch);//a
// 测试一下关于char类型的上限问题
ch = 25444;
System.out.println(ch); // 第三中赋值方式
ch = '\u0000'; // 通过unicode代码点进行赋值
System.out.println(ch);//空
}
}
赋值方式:
- 通过单引号引起来的单个字符 不能是0个也不能是多个
- 通过[0,65535]之间的一个正整数来进行赋值 48—>字符0 65—>字符A 97—>字符a
- 3:通过 \u 开头 后跟一个 4位的16进制数 比如 \u0000
Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义
转义符 | 含义 | Unicode值 |
---|---|---|
\b | 退格(backspace) | \u0008 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\t | 制表符(前面有则补全,无则8个空格) | (tab) \u0009 |
\“ | 双引号 | \u0022 |
\‘ | 单引号 | \u0027 |
\ | 反斜杠 | \u005 |
5.1.4 逻辑型:boolean
- boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
- boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
- 大小占一位,不是一个字节
5.2引用类型:
- 类 : class
- 数组 : []
- 接口 : interface
6 常量
常量:初始化(initialize)后不能再改变值!
final double PI = 3.14;//变量名全部大写,值不可改变