Day_01
1、Window - DOS命令
dir:展示当前目录下的所有文件和文件夹
cd:切换目录
mkdir:创建文件夹
”盘名:“:切换盘符
rd:删除文件夹
del:删除文件
cls:清屏
2、Java注释
1、单行注释
// 注释内容
2、多行注释
/* 注释内容 */
3、文档注释
/**
* 注释内容
*
*/
3、总结
-
使用notepad++打印中文乱码如何解决?
答:点击notepad++导航栏中的编码,选择转为ANSI编码即可
-
如何使用JDK编译和运行程序?
4、面试题
-
JDK 和 jre 的区别是什么?
答:Java 运行环境(jre)是执行 Java 程序的 Java 虚拟机(JVM)。Java 开发工具包(JDK)是 Java 软件开发包,包含了 jre 、 JVM 等
Day_02
1、变量【重点】
1.1、变量
1.1.1、语法格式
数据类型 变量名 = 初始化值;
1.2、数据类型
1.2.1、Java八大基本数据类型
整型(4): byte short int long
浮点型(2):float double
字符型(1):char
布尔型(1):boolean
基本数据类型 | 数值范围 | 占用内存(字节) | 默认值 | 说明 |
---|---|---|---|---|
byte | -128~127 | 1Byte = 8bit | 0 | 8bit = 1Byte bit:比特(位),byte:字节 |
short | -215~215-1 | 2Byte = 16bit | 0 | \ |
int【Java中默认整型的数据类型】 | -231~231-1 | 4Byte = 32bit | 0 | \ |
long | -263~263-1 | 8Byte = 64bit | 0L | 声明long类型数据,数据值后面需要加L或l |
float | -3.4* 1038~3.4*1038 | 4Byte = 32bit | 0.0f | 声明float类型数据,数据值后面需要加F或f。float类型的数据有效位数是6~7 |
double【Java中默认浮点型的数据类型】 | -1.79*10^308~1.79 * 10^308 | 8Byte = 64bit | 0.0d | double类型的数据有效位数是15~16 |
char | 除了\都可以当成一个字符 | 不定(根据编码规则) | ‘\u0000’ | char类型的数据,使用单引号声明,并且单引号里只能放一个字符。A:65 a:97 |
boolean | true或false | 1Byte = 8bit | false | \ |
1.2.2、Java引用数据类型
Java引用数据类型默认值都是null
引用数据类型 | 默认值 | 说明 |
---|---|---|
String | null | 语法格式:String 变量名 = “初始化值”; |
1.2、变量名命名规范
1.2.1、类名(普通类,抽象类,接口)的命名规范
- 首字母大写
- 以数字、字母、_、%等命名,但数字不能开头
- 采用大驼峰的命名规则,例如:HelloWorld
1.2.2、变量名和方法名的命名规范
- 首字母小写
- 以数字、字母、_、%等命名,但数字不能开头
- 采用小驼峰的命名规则或采用多个单词之间使用下划线进行拼接的命名规则,例如:int myAge = 23; int my_age = 23;
- 不能使用Java关键字命名
- 命名要做到见名知意
2、转义字符【重点】
2.1、语法格式
\字符
2.2、几个特殊的符号:(只能在字符串中使用)
-
\n:回车换行
-
\t:制表符(空格)
3、运算符【重点】
3.1、算术运算符
+ - * / % += -= *= /= %= ++ --
自增(++)和自减(--):
a++:先输出a,再将a加1
++a:先将a加1,再输出a
a--:先输出a,再将a减1
--a:先将a减1,再输出a
3.2、关系运算符
> < >= <= == !=
3.3、逻辑运算符
逻辑运算符 | 名称 | 说明 |
---|---|---|
&& | 与(短路与、逻辑与) | 语法格式:条件1 && 条件2 …。与为第一个逻辑运算符时,如果条件1为false,后面条件全部不执行 |
|| | 或(短路或、逻辑或) | 语法格式:条件1 || 条件2 …。或为第一个逻辑运算符时,如果条件1为true,后面条件全部不执行 |
! | 非 | 语法格式:! 条件 |
3.4、三目运算符
3.4.1、语法格式
数据类型 x = (表达式) ? value1 : value2;
3.5、总结
- 关系运算符和逻辑运算符结果都是一个布尔类型的数据(boolean)
3.6、面试题
-
&和&&的区别?
答:a&b是把a和b都转换成二进制数然后再进行与的运算。a&&b就是当且仅当两个操作数均为 true时,其结果才为 true,只要有一个为false,a&&b就为false。&&进行的是短路判断,即如果左侧的表达式的结果为false,整个的结果就为false,不再计算右侧的表达式的值
Day_03
1、分支结构【重点】
1.1、if结构
1.1.1、语法格式
if (表达式) {
语句体;
}
1.2、if-else结构
1.2.1、语法格式
if (表达式) {
语句体1;
} else {
语句体2;
}
1.3、if-else if-else结构
1.3.1、语法格式
if (表达式1) {
语句体1;
} else if (表达式2) {
语句体2;
} else if (表达式3) {
语句体3;
} else {
语句体n;
}
1.4、switch-case结构
1.4.1、语法格式
switch (表达式) {
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
case 常量3:
语句体3;
break;
...
default:
语句体n;
break;
}
1.5、面试题
-
switch结构,小括号中表达式可以是什么类型?
答:byte、short、int、char,enum(枚举),JDK1.8之后,新增String
1.6、总结
- 结束程序:System.exit(0);
2、扩展知识
2.1、Scanner用法
package com.qfedu.day03;
//第一步:导包
import java.util.Scanner;
public class Demo_03 {
public static void main(String[] args) {
//第二步:创建Scanner对象
Scanner sc = new Scanner(System.in);
//第三步:获取控制台中的数据
int num = sc.nextInt();
//获取控制台中不同数据数据类型的数据
byte a = sc.nextByte();
short b = sc.nextShort();
int c = sc.nextInt();
long d = sc.nextLong();
float e = sc.nextFloat();
double f = sc.nextDouble();
char g = sc.nextLine().charAt(0);
char h = sc.next().charAt(0);
String i = sc.nextLine();
String j = sc.next();
boolean k = sc.nextBoolean();
}
}
Day_04
1、循环结构【重点】
1.1、while循环
1.1.1、语法格式
/**
* 表达式1:初始化条件
* 表达式2:循环条件
* 表达式3:终止条件
*/
表达式1
while (表达式3) {
循环体;
表达式2
}
1.2、do-while循环
1.2.1、语法格式
/**
* 表达式1:初始化条件
* 表达式2:循环条件
* 表达式3:终止条件
*/
表达式1
do {
循环体;
表达式2
} while(表达式3);
1.3、for循环
1.2.1、语法格式
/**
* 表达式1:初始化条件
* 表达式2:终止条件
* 表达式3:循环条件
*/
for (表达式1; 表达式2; 表达式3) {
循环体;
}
le (表达式3) {
循环体;
表达式2
}
##### 1.2、do-while循环
###### 1.2.1、语法格式
```java
/**
* 表达式1:初始化条件
* 表达式2:循环条件
* 表达式3:终止条件
*/
表达式1
do {
循环体;
表达式2
} while(表达式3);
1.3、for循环
1.2.1、语法格式
/**
* 表达式1:初始化条件
* 表达式2:终止条件
* 表达式3:循环条件
*/
for (表达式1; 表达式2; 表达式3) {
循环体;
}