Java学习记录(一)
目录
- Java基础知识点
- 基础语法
- 分支结构
- 循环结构
Java基础知识点
(1)Java是跨平台的一门语言,JVM;
(2)JRE和JDK
- JRE:运行java程序;
- JDK:开发java程序。

(3)常见DOS命令
| 操作 | 说明 |
|---|---|
| 盘符名称: | 盘符切换。E:回车,表示切换到E盘。 |
| dir | 查看当前路径下的内容。 |
| cd 目录 | 进入单级目录。 |
| cd .. | 回退到上一级目录。 |
| cd 目录1\目录2\.. | 进入多级目录。 |
| cd | 回退到盘符目录。 | |
| cls | 清屏。 |
| exit | 退出命令提示符窗口。 |
基础语法
(1) 注释
单行注释
- 格式://注释信息
多行注释
- 格式:/注释信息/
文档注释
- 格式:/*注释信息/
(2) 常量 :在程序运行过程中,其值不可以发生改变的量。
- Java常量分类
| 常量类型 | 说明 |
|---|---|
| 字符串常量 | 用引号括起来的内容 |
| 整数常量 | 不带小数的数字 |
| 小数常量 | 带小数的数字 |
| 字符常量 | 用单引号括起来的内容 |
| 布尔常量 | 布尔值,表示真假 |
| 空常量 | 一个特殊的值,空值 |
(3) 数据类型
- 数据类型分类
- 基本数据类型
- 数值型
- 整数(byte,short,int,long)
- 浮点数(float,double)
- 字符(char)
- 非数值型
- 布尔(boolean)
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组([ ])
- 基本数据类型
- 数据类型内存占用
| 关键字 | 内存占用 |
|---|---|
| byte | 1 |
| short | 2 |
| int(默认) | 4 |
| long | 8 |
| float | 4 |
| double(默认) | 8 |
| char | 2 |
| boolean | 1 |
(4) 变量
- 定义:
数据类型 变量名 = 变量值;例如:int a = 10; - 变量的使用:
- 取值:
变量名例如:a - 修改值:
变量名=变量值;例如:a = 20;
- 取值:
- 变量使用的注意事项:
- 不能使用相同的变量名;
- 变量未赋值时,不能使用;
- 定义long类型变量时,为了防止整数太大,后面要加上
L- long a = 10000000000L;
- 要想让一个小说定义为一个float类型,为了防止类型不兼容,要在赋值的后面加上一个
F- float f = 13.14F;
(5) 标识符 :就是给类、方法、变量等起名字的符号。
- 标识符的定义规则:
- 由
数字、字母、下划线和美元符组成; - 不能以数字开头;
- 不能是关键字;
- 区分大小写。
- 由
- 常见命名约定:
- 小驼峰命名法:方法和变量;
- 大驼峰命名法:类。
(6) 类型转换

- 类型转换的分类:
- 自动类型转换:如图(1)
- 把一个表示数据
范围小的数值或者变量赋值给另一个表示数据范围大的变量。 - 例子:double b = 10;// 输出的是10.0
- 把一个表示数据
- 强制类型转换:
- 把一个表示数据
范围大的数值或者变量赋值给另一个表示数据范围小的变量。 - 格式:
目标数据类型 变量名 = (目标数据类型)值或者变量; - 例子:int k = (int)88.88;// 输出的值为88
- 把一个表示数据
- 自动类型转换:如图(1)
(7) 算术运算符 :
- 运算符:对常量或者变量进行操作的
符号 - 表达式:用
运算符把常量连接起来符合Java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。 - 例子:int a = 10;int b = 20;int c = a + b;
+:运算符;a + b:表达式。
| 符号 | 作用 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余 |
(8) 字符的“+”操作
- 在进行加操作的时候,拿字符在计算机底层
对应的数值来进行计算的(ASCII码) - 算术表达式中
包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。提升规则:- byte类型,short类型和char类型将被提升到int类型
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char->int->long->float->double
(9) 字符串的“+”操作
- 当“+”操作中出现字符串时,是
字符串连接符,而不是算术运算。 - 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算符。
- 当连续进行“+”操作时,从左到右逐个执行。
(10) 赋值运算符
| 符号 | 作用 |
|---|---|
| = | 赋值 |
| +=(隐含了强制类型转换) | 加后赋值 |
| -= | 减后赋值 |
| *= | 乘后赋值 |
| /= | 除后赋值 |
| %= | 取余后赋值 |
(11) 自增自减运算符
| 符号 | 作用 |
|---|---|
| ++ | 自增 |
| -- | 自减 |
- 单独使用的时候,++和–放在前面和后面结果都是一样的;
- 参与操作的时候,如果放在变量后面,先拿变量参与操作,后拿变量做++或–;
- 参与操作的时候,如果放在变量前面,先拿变量做++或–,后拿变量参与操作。
(12) 关系运算符
| 符号 | 说明 |
|---|---|
| == | 判断是否相等 |
| != | 判断是否不相等 |
| 判断是否大于
=| 判断是否大于等于
<| 判断是否小于
<=| 判断是否小于等于
- 注意事项:
- 关系运算符的
结果都是布尔类型,要么是true,要么是false; - 千万不能将
==写成=。
- 关系运算符的
(13) 逻辑运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| & | 逻辑与 | 有false则false |
| 逻辑或 | 有true则true | |
| ^ | 逻辑异或 | 相同为false,不同为true |
| ! | 逻辑非 | 与原来的布尔值相反 |
短路逻辑运算符:
| 符号 | 作用 | 说明 |
|---|---|---|
| && | 短路与 | 作用和&相同,但是有短路效果 |
| 短路或 |
(14) 三元运算符
- 格式:关系运算符
?表达式1:表达式2; - 范例:a > b ? a : b;
- 计算规则:
- 首先计算关系表达式的值
- 如果值为true,表达式1的值就是运算结果
- 如果值为false,表达式2的值就是运算结果
(15) 数据输入
导包
- import java.util.Scanner;
导包的动作必须出现在类定义的上边
- import java.util.Scanner;
创建对象
- Scanner sc = new Scanner(System.in);
上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变。
- Scanner sc = new Scanner(System.in);
接收数据
- int i = sc.nextInt();
上面这个格式里面,只有i是变量名,可以变,其他的都不允许变。
- int i = sc.nextInt();
分支结构
(1) 流程控制
- 分类:
- 顺序结构
- 分支结构(if,switch)
- 循环结构(for,while,do…while)
- 顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
(2) if语句
if语句格式1
- 格式:
if(关系表达式){
语句体;
}
- 格式:
if语句格式2
- 格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
- 格式:
if语句格式3
- 格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
….
else{
语句体n+1;
}
- 格式:
(3) switch语句
- 格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+;
[break];
}
循环结构
(1) 循环结构
- 特征:重复做某件事情,具有明确的开始和停止标志
- 组成:
- 初始化语句
- 条件判断语句
- 循环体语句
- 条件控制语句
(2) for循环
格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}执行流程:
- 执行初始化语句;
- 执行条件判断语句,看其结果是true还是false
- 如果是false,循环结束
- 如果是true,继续执行
- 执行循环体语句
- 执行条件控制语句
- 会到2继续
(3) while循环
基本格式:
while(条件判断语句){
循环体语句;
}完整格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}执行流程:
- 执行初始化语句;
- 执行条件判断语句,看其结果是true还是false
- 如果是false,循环结束
- 如果是true,继续执行
- 执行循环体语句
- 执行条件控制语句
- 会到2继续
(4) do……while循环语句
基本格式:
do{
循环体语句;
}while(条件判断语句);完整格式:
do{
循环体语句;
条件控制语句;
}while(条件判断语句);执行流程:
- 执行初始化语句
- 执行循环体语句
- 执行条件控制语句
- 执行条件判断语句,看其结果是true还是false
- 如果是false,循环结束
- 如果是true,继续执行
- 回到2继续
(5) 三种循环的区别
- for循环和while循环先判读条件是否成立,然后决定是否执行循环体(先判断后执行)
- do……while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
- for和while的区别:
- 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
- 条件控制语句所控制的自增变量,对于while循环来说不归属语法结构中,在while循环结束后,该变量还可以继续使用
(6) 跳转控制语句
- continue:用于循环中,基于条件控制,跳过某次循环内容的执行,继续下一次的循环;
- break:用于循环中,基于条件控制,终止循环体内容的执行,也就是结束当前的整个循环。
(7) Random
- 作用:用于产生一个随机数
- 使用步骤:
导包:
import java.util.Random 导包的动作必须出现在类定义的上面创建对象:
Random r = new Random(); 上面这个格式里面,r是变量名,可以变,其他的都不允许变获取随机数:
int number = r.nextInt(10);// 获取数据的范围:[0,10) 上面这个格式里面,number是变量名,可以变,数字10可以变,其他的都不允许变