Java的语言特点
- 面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)。
- 简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)
- 跨平台(操作系统、服务器等)。
Java的执行机制
先编译、再解释:
- 将源文件编译成字节码文件(平台中立文件.class),再将字节码文件进行解释执行。
- Java的设计理念: Write Once Run Anywhere
JVM JRE JVM的关系
- JVM (Java Virtual Machine)虚拟机:
- 使用软件在不同操作系统中,模拟相同的环境。
- JRE (Java Runtime Environment)运行环境:
- 包含JVM和解释器,完整的Java运行环境。
- JDK (Java Development Kit)开发环境:
- 包含JRE+类库+开发工具包(编译器+调试工具)。
DOS命令窗口中,Java编译运行、带包编译及其生成说明文档 命令
- 编译
- javac 类名.java
- 运行
- java 类名
- 带包编译
- javac -d . 类名.java
- 生成说明文档
- javadoc -d . 类名.java
Java编码规范-标识符命名
- 语法规定:
- 可以由:字母、数字、_、$组成,但不能以数字开头。
- 不能与关键字、保留字重名。
- 约定俗成:
- 望文生义、见名知义。
- 类名由一个或多个单词组成,每个单词首字母大写(pascal)。
- 函数名、变量名由一个或多个单词组成,首单词首字母小写,拼接词首字母大写(camel)。
- 包名全小写,只可以使用特殊字符“.”,并且不以“.”开头或结尾。
- 常量全大写,多个单词用_连接。
Java变量
变量的组成
- 数据类型
- 变量名
- 值
变量定义的三种方式
- 先声明,再赋值:【常用】
- 数据类型 变量名;
- 变量名=值;
- 声明并赋值:【常用】
- 数据类型 变量名=值;
- 多个同类型变量的声明与赋值:【了解】
- 数据类型 变量1,变量2,变量3=值3,变量4,变量5=值5;
Java八大数据类型
byte short int long float double char boolean
Java类型转换
自动类型转换(由小向大)
- 两种类型相互兼容。
- 目标类型大于源类型。
强制类型转换(由大向小)
-
两种类型相互兼容。
-
目标类型小于源类型。
- 案例:
double a = 100.0d;
int b = (int)a;
- 案例:
-
强制类型转换规则:
- 整数长度足够,数据完整。
- 例: int i = 100; byte b = (byte)i; //b = 100
- 整数长度不够,数据截断。
- 例:int i = 10000;byte b = (byte)i; //b = 16(符号位变化,可能变为负数)
- 小数强转整数,数据截断。
- 例:double d = 2.5;int i = (int)d; //i = 2(小数位舍掉)
- 字符整数互转,数据完整。
- 字符整数互转,数据完整。//i = 65
- boolean的取值为true/false,不可与其他类型转换。
- 整数长度足够,数据完整。
Java自动类型提升
- 进行算数运算时:
- 两个操作数有一个为double,计算结果提升为double。
- 如果操作数中没有double,有一个为float,计算结果提升为float。
- 如果操作数中没有float,有一个为long,计算结果提升为long。
- 如果操作数中没有long,有一个为int,计算结果提升为int。
- 如果操作数中没有int,均为short或byte,计算结果仍旧提升为int。
- 特殊:任何类型与String相加(+)时,实为拼接,其结果自动提升为String.
Java嵌套if选择结构
Java分支结构
局部变量
- 概念:声明在方法内部的变量,必须先赋值再使用。
- 作用范围:定义行开始到所在的代码块结束。
- 注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)。
循环结构
while循环
- 语法:
while(布尔表达式){
//逻辑代码(循环操作)
} - 执行流程:
- 先对布尔表达式进行判断,结果为true,则执行逻辑代码。
- 本次执行完毕后,再次进行判断,结果仍旧为true,则再次执行逻辑代码。。直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
- while循环的组成:
- while循环的初始于迭代:
- while的特点:
- 首次即有入口条件,先判断、再执行,适用于循环次数明确的情况。
do while循环
- 语法:
do{
逻辑代码(循环操作)
}while(布尔表达式); - 执行流程:
- 先执行一次循环操作之后,再进行布尔表达式的判断。
- 如果结果为true,则再次执行循环操作。
- 如果结果为false,才会退出循环结构,执行后续代码。
- do while的特点:
- 首次没有入口条件,先执行,再判断。(循环体至少执行一次)
- do while的应用场景:
for循环
- 语法:
for(初始部分;循环条件;迭代部分){
//循环操作
} - 执行流程:
- 首次执行初始部分(仅一次)。
- 对布尔表达式进行判断,结果为true,则执行逻辑代码。
- 本次执行完毕后,执行迭代部分,再次判断,结果仍旧为true,则再次执行逻辑代码。
- 直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
- for的特点:
首次即有入口条件,先判断、再执行,适用于循环次数明确的情况。
流程控制
- break:终止、跳出switch、循环结构。
- continue:结束本次、进入下一次循环。
嵌套循环
- 概念:在一个完整的循环结构中,嵌套另一个完整的循环结构。
- 需求:打印3行5颗星。
Q.E.D.