1、Java简介
(1)DOS命令
MS-DOS(Microsoft Disk Operating System)
命令提示符(cmd)
启动 | Win + R,输入cmd |
切换盘符 | 盘符名称 + 冒号 |
进入文件夹 | cd + 文件名 (Tab键可进行文件名切换) |
进入多级文件夹 | cd + 文件夹1\文件夹2\文件夹3 |
返回上一级 | cd + .. |
返回根目录 | cd + \ |
查看当前文件夹所有文件 | dir |
清屏 | cls(clear screen) |
关闭cmd | exit |
(2)Java语言开发环境搭建
JVM(Java Virtual Machine):Java虚拟机,跨平台特性
JRE(Java Runtime Environment):运行环境,包含JVM和核心类库
JDK(Java Development Kit):程序开发工具包,包含JRE和开发人员使用的工具
1.环境变量的配置
2.测试配置是否正确
(3)Hello World入门程序
javac.exe:编译器
java.exe:解释器(运行)
经过编译后会生成HelloWorld.class文件
(4)标识符
命名规范
- 类名规范:首字母大写,后面每个单词的首字母大写(大驼峰式)
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)
- 方法名规范:同变量名
(5)基本数据类型
1.常量
字符常量:使用单引号,如:'A'、'e'、'9'、'中'(java中单个汉字也属于字符常量)
布尔常量:只有true、false
空常量:null,代表没有任何数据
-
//字符、字符串常量
-
System.out.printIn(
"ABC");
-
System.out.printIn(
"");
-
System.out.printIn(
'A');
-
System.out.printIn(
'6');
//两个单引号之间必须有一个字符,否则报错
-
System.out.printIn(
'');
//错误写法
-
-
//布尔常量
-
System.out.printIn(
true);
-
System.out.printIn(
false);
-
-
//空常量不能直接用来打印输出
-
System.out.printIn(
null);
//错误写法
-
-
//整数、浮点常量
-
System.out.printIn(
100);
-
System.out.printIn(
3.14);
输出结果:
ABCA
6
true
false
2.变量
- 分类
基本数据类型:整数、浮点数、字符、布尔(Java中char类型占2字节,Unicode编码)
引用数据类型:类、数组、接口、字符串、Lambda
- 注意事项
- 字符串不是基本类型,而是引用类型
- 浮点型可能只是近似值,并非精确值(十进制无法表示三分之一,二进制无法精确表示任何一个小数)
- 数据范围与字节数无关,float数据范围比long更广泛,但float占4字节,long占8字节
- 浮点数默认为double类型,要使用float类型,要加上后缀F
- 整数默认为int类型,要使用long类型,要加上后缀L
- 定义
变量未初始化,无法使用
2、Day02
(1)数据类型转换
自动转换:数据范围从小到大进行转换
-
float num =
30L;
-
System.out.printIn(num);
//输出 30.0
-
-
// int --> long --> float --> double
强制转换:
-
int num = (
int)
100L;
//把long转为int
-
System.out.printIn(num);
//输出 100
-
-
//溢出
-
int num = (
int)
6000000000L;
-
System.out.printIn(num);
//输出 1705032704
-
/*
-
60,0000,0000
-
0001,0110,0101,1010,0000,1011,1100,0000,0000
-
截断
-
0110,0101,1010,0000,1011,1100,0000,0000 = 1705032704
-
*/
-
-
//精度损失
-
int num = (
int)
3.99;
//double --> int,直接舍弃小数部分
-
System.out.printIn(num);
//输出 3
-
-
char str =
'A';
-
System.out.printIn(str +
1);
//输出 66,A的ASCII码为65
-
System.out.printIn(str);
//输出 A
注意事项:
- 精度损失、数据溢出(截断)
- byte/short/char三种类型可以进行数学运算,运算前被提升为int类型,再进行运算
- boolean类型不能进行数据类型转换
ASCII码表:48 — 0,65 — A,97 — a
Unicode码表:开头0-127部分和ASCII完全一样
(2)运算符
加法运算符的三种用法
- 数值的加法
- char类型的加法,先提升为int类型,再运算
- 字符串String(首字母大写,不是关键字),加号代表字符串连接操作
-
//加法
-
int x =
10;
-
System.out.printIn(x +
2.5);
//运算结果为double类型
-
-
//任何数据类型和字符串进行连接,结果都是字符串
-
String str =
"Java";
-
System.out.printIn(str +
20);
//输出 Java20
-
System.out.printIn(str +
20 +
30);
//输出 Java2030,优先级问题
-
System.out.printIn(str + (
20 +
30));
//输出 Java50
-
-
//自增、自减运算符
-
int x =
10,y =
20;
-
int ans = ++x + y--;
-
System.out.printIn(ans);
//输出 31
-
-
//赋值运算符
-
byte num =
30;
-
num +=
5;
//5是int型,赋值运算符会自动进行强制类型转换
-
System.out.printIn(num);
//输出 35
-
-
//比较运算符,返回类型为boolean类型
-
-
//逻辑运算符
-
//与&&,或||,具有短路效果
-
//根据左边已经可以判断最终结果,右边的代码将不执行,从而提升一定性能
-
-
//三元运算符
-
//数据类型 变量名 = 条件判断 ? 表达式A :表达式B;
-
//表达式A、表达式B的值都要符合左侧的数据要求
-
int a =
10,b =
20;
-
int ans =
3 >
4 ?
2.5:
10;
//错误,2.5的类型不是int
-
System.out.printIn(a > b ? a:b);
//正确
-
a > b ? a:b;
//错误,三元运算符的结果必须被使用
(3)方法入门
方法:
将功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能
方法定义:
- 不能在方法内部定义方法(不能嵌套)
- 方法调用后,才会执行
public static void 方法名 ( ) {
方法体;
}
方法调用:
方法名 ( ) ;
(4)JShell脚本工具
JShell是JDK9的新特性,当代码非常少,不愿意编写类、main方法,不愿意编译和运行,这时可以使用Shell工具
启动:在DOS命令行,输入JShell命令
(5)编译器的优化
-
//自动类型转换
-
char c =
65;
-
System.out.println(c);
//输出 A
-
-
short num =
10;
//正确,右侧未超过左侧范围
-
short a =
5,b =
8;
-
short ans = a + b;
//错误,short + short --> int + int --> int,左侧要为int
-
int ans = a + b;
//正确
-
short ans =
5 +
8;
//正确,编译器有常量优化
-
short ans =
5 + b;
//错误
3、Day03
(1)流程控制
- 判断语句 if-else
- 选择语句 switch
switch后面的括号中只能是下列数据类型:
基本数据类型:byte / short / char / int
引用数据类型:String字符串、enum枚举
- 循环语句 for、while、do-while
- 关键字 break、continue
(2)死循环
Ctrl + C,强制停止死循环
-
//死循环
-
while(
true) {
-
System.out.println(
"Hello");
-
}
-
System.out.println(
"ABC");
//报错,出现无法访问的语句
4、Day04
(1)开发工具IntelliJ IDEA
- 项目结构
新建项目(base) —— 新建Module (Day04) —— 新建Package (cn.itcast.day04.demo01) —— 新建Class (HelloWorld)
- 常用快捷键
Alt + Enter | 导入包,自动修正代码 |
Ctrl + Y | 删除光标所在行 |
Ctrl + D | 复制光标所在行,插入光标位置下面 |
Ctrl + Alt + L | 格式化代码 |
Ctrl + / | 单行注释,再按取消注释 |
Ctrl + Shitf + / | 多行注释,选中代码注释,再按取消注释 |
Alt + Ins | 自动生成代码,toString,get,set等方法 |
Alt + Shift + 上下箭头 | 移动当前代码行 |
(2)方法
注意事项
- 方法定义没有先后顺序,方法定义无法嵌套
- void返回类型的方法,可以包含 return;
方法重载(overload)
- 按住Ctrl键,点击println可以查看所有重载
- Shift + F6,可同时修改方法中所有相同字符
-
//方法名相同,参数个数、类型不同
-
//返回类型可以相同
-
//public 和 static 与方法重载无关
-
public
class MethodOverload {
-
public static void main(String []args) {
-
sum(
10,
20);
-
}
-
-
public static int sum(int a,int b) {
-
return a+b;
-
}
-
-
/*
-
public static int sum(int x,int y) { //错误写法,和上一个sum冲突
-
return x+y;
-
}
-
*/
-
-
public static int sum(double a,int b) {
//参数的多类型顺序可以不同
-
return (
int)(a+b);
-
}
-
-
public static int sum(int a,double b) {
-
return (
int)(a+b);
-
}
-
-
public static int sum(int a,int b,int c) {
// Shift + F6,修改所有相同的字符
-
return a+b+c;
-
}
-
}
5、Day05
(1)数组
(2)流程控制
转载:https://blog.csdn.net/qq_35501364/article/details/105102510