Java基础
Java SE:标准版 Java技术的核心和基础
Java EE:企业版 企业级应用开发的一套解决方案
**如何获取jdk:**去Oracle官网下载jdk
查看jdk版本:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QcZP29ze-1646359347019)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220228204052769.png)]
Java是高级语言,计算机底层硬件不能识别。
必须先通过javac编译工具进行翻译,再通过java执行工具执行才可以驱动机器干活。
Java开发环境最重要的2个命令:
javac编译命令,java执行命令
Java入门程序:Hello World
注意:文件名必须与代码中的类名称一致
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
编译+运行:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TXELC9w-1646359347023)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220228210813142.png)]
JDK的组成
JVM:Java虚拟机,真正运行Java程序的地方;
核心类库:Java自己写好的程序;
- JRE( Java的运行环境):JVM+核心类库
JDK(Java开发工具包):JRE+开发工具(Java,Javac…)
Java的跨平台:一次编译,处处可用
环境变量配置
Path,JAVA_HOME
IDEA集成开发工具
IDE(集成开发环境)
IDEA项目结构介绍
- project(项目)
- module(模块)
- package(包)
- class(类)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RHypzFG4-1646359347024)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301144945357.png)]
Java基础语法
字面量
字面量是告诉程序员:数据在程序中的书写格式。
变量
变量定义的格式
数据类型 变量名称 = 初始值;
进制转换
win+R 输入clac 可以进入进制转换计算器
Java中书写二进制、八进制、十六进制的数据,需要以0B或0b、0、0X或0x开头。
计算机的数据单位
计算机最小组成单元:字节,1B=8b。
数据类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F9OU3emQ-1646359347026)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301144955832.png)]
随便写的整数字面值默认为int类型,小数默认为double类型
如果希望随便写一个整数字面量当成long类型,需要在其后加L/l
如果希望随便写一个小数字面量当成float类型,需要在其后加F/f
关键字、标志符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RpTuSZkH-1646359347027)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301154342428.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5m0b8XKv-1646359347029)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301154403792.png)]
Java语言基础知识
类型转换
自动类型转换
范围类型小的变量可以直接赋值给范围类型大的变量。
例:
byte a = 20;
int b = a;
byte、short、char–short–int–long–float–double
表达式的自动类型转换
-
表达式的最终结果类型由表达式中的最高类型决定。
-
在表达式中,byte,short,char是直接转换成int类型参与运算的。
强制类型转换
强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 = (数据类型)变量1 数据
int a = 10;
byte b =(byte)a;
可能造成数据(丢失)溢出;
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
运算符
数据拆分案例
int a = 123;
int b = a / 100; //求百位
int c = a / 10 % 10; //求十位
int d = a % 10; //求个位
+符号做连接符
+符号在字符串运算中用做连接符。
- 能算就算,不能算就在一起。

自增、自减运算符
单独使用时没有区别。
非单独使用时:
++a,先加一再使用;a++,先使用再加一。
赋值运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ds3i8XHX-1646359347030)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301225112864.png)]
关系运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9NLlV2q-1646359347031)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301225129052.png)]
逻辑运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6GE3jweG-1646359347032)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301225217848.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VoA62R2H-1646359347033)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220301225248525.png)]
三元运算符
格式:条件表达式?值1:值2;
计算表达式的值,值为true返回值1,值为false返回值2。
运算符优先级

键盘录入功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTzEi6dO-1646359347034)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220302112522427.png)]
程序流程控制
顺序结构、分支结构、循环结构。
switch分支注意事项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hkm89d0O-1646359347036)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220302112646070.png)]
案例技术:随机数Random类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uzsGaNq9-1646359347037)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220302231219635.png)]

数组
静态初始化数组
定义数组的时候直接给数组赋值。
完整格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};
( 数据类型 []数组名 也可以写成 数据类型 数组名[] );
简化格式:
int []arr = {1, 2, 3, 4, 5};
String []names = {"asas", "asad", "wwwr"};
数组的长度属性:length
System.out.println(arr.length);
动态初始化数组
格式:
int []arr = new int[3];
byte,short,char,int,long类型元素的默认值为0;
float,double类型元素的默认值为0.0;
boolean类型元素默认值为false;
类、接口、数组、String的默认值为NULL。
Java内存分配介绍
- 栈
- 堆
- 方法区
- 本地方法栈
- 寄存器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DOBp7L7A-1646359347038)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220302223544090.png)]
两个变量指向同一数组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SpQTJXzq-1646359347039)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220302223531276.png)]
方法
方法定义、调用
方法定义的完整格式:
方法的修饰符:暂时都用public static修饰。
调用格式:
方法名(…);
方法参数传递机制:值传递
基本类型的参数传输存储的数据值;
引用类型的参数传输存储的地址值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmUKVr2x-1646359347041)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220304091010437.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pIEMVbeS-1646359347042)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220304091024977.png)]
方法重载
- 同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。
案例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kfeTL8WX-1646359347043)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220304094206029.png)]
方法重载的作用
可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。
方法重载的识别技巧
- 只要是同一个类中,方法名称相同、形参列表不同,那么他们就是重载的方法,其他都不管!(如:修饰符,返回值类型都无所谓)
- 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。
return关键字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bEAxPABT-1646359347044)(C:\Users\86188\Documents\专业课\java\Java基础.assets\image-20220304095456465.png)]
方法。
案例:
[外链图片转存中…(img-kfeTL8WX-1646359347043)]
方法重载的作用
可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。
方法重载的识别技巧
- 只要是同一个类中,方法名称相同、形参列表不同,那么他们就是重载的方法,其他都不管!(如:修饰符,返回值类型都无所谓)
- 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。
return关键字
[外链图片转存中…(img-bEAxPABT-1646359347044)]