什么是JAVA语言?
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用的两个特征。
JAVA语言的三大体系
--JavaSE
--JavaEE
--JavaME
JAVA语言的特点
--简单性
摒弃了C++中多继承、指针的概念,并且有了一套垃圾回收的机制
--面向对象
举例:警察抓小偷
面向过程:抓小偷(警察,小偷)
面向对象:警察.抓小偷(小偷)
--分布式
应用网络编程,可以将单体程序拆分为多个微服务,从而将多个服务部署在不同的服务器中
--健壮性
强类型语言、异常处理机制、垃圾回收机制
--安全性
提供一套安全处理机制
--平台独立与可移植性(编译性语言)
一次编译,多次运行
--多线程
--动态性
可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式应用程序等
JAVA语言的历史
--1995年发布Java
--1999年发布了三个版本
--2004年发布1.5
--2014年发布1.8
JAVA的安装与环境配置
--从甲骨文官网下载1.8版本的JDK
--执行安装程序(全部默认下一步即可)
--默认安装在C:\Program Files\Java
--JDK (Java程序的开发工具)
--JRE (Java程序的运行环境)
--配置Java的环境变量:
--打开高级系统设置
--打开环境变量
--win10操作系统
--在系统变量中配置JAVA_HOME(新建)
--在path中指定jdk的bin路径(新建)
--win7操作系统
--在系统变量中直接添加bin路径
系统的环境变量path为:
C:\Program Files\......;C:\Program Files\..........C:\Program Files\.......
比如:jdk的bin路径为
C:\Program Files\Java\jdk1.8.0_91\bin
需要使用英文的分隔号分隔之前的环境变量
则配置后的系统的环境变量为
C:\Program Files\......;C:\Program Files\..........C:\Program Files\.......;C:\Program Files\Java\jdk1.8.0_91\bin;
--打开dos命令行,使用java -version检查当前使用的jdk的版本
JDK,JRE和JVM关系
--1)JDK,JRE和JVM关系
· JDK(Java Development Kit),Java开发工具包,主要用于开发,在JDK7前,JDK包括JRE
· JRE(Java Runtime Environment),Java程序运行的核心环境,包括JVM和一些核心库
· JVM(Java Virtual Machine),VM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,是JRE核心模块。
--2)JVM
JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java虚拟机的主要任务是装载class文件,并执行其中的字节码,不同的Java虚拟机中,执行引擎可能有不同的实现。
JAVA的第一个HelloWorld
--新建一个文件夹,用于存放Java源文件
--新建一个Java源文件,后缀是.java
--定义一个类
--定义程序的入口,提供一个输出语句
JAVA的程序的编译和运行
--1、打开dos命令行
--2、切换当前目录为Java源文件的目录
--注意:如果Java源文件在其他盘符则要先切换到其他盘符,比如:java文件在d盘,则使用d: 切换到d盘
--使用cd切换当前目录
cd C:\Users\jerry\Desktop\test
--3、编译Java文件,使用javac进行编译(会生成.class文件)
javac Hello.java (javac 文件名)
--4、运行Java程序
java Hello (java 类名)
执行流程
--Hello.java ---> Hello.class--->JVM
CLASSPATH的作用以及配置
注意:Java源文件时,要么在当前源文件的路径下编译,要么在编译时提供Java源文件的绝对路径
ClassPath指的是java文件在编译或者运行的时候类加载的路径
--1、在系统环境变量中添加CLASSPATH,指定类加载的路径(如果类路径固定,可以使用这种方式)
--2、动态使用CLASSPATH的方式 -cp (比较灵活的 ,可以使用这种方式)
javac C:\Users\jerry\Desktop\code\Hello.java
java -cp .;C:\Users\jerry\Desktop\code Hello
javac -cp D:\D\GZ2085期\1206\code1 test.java【错误的】
注意事项:
javac是没有-cp选择的,因为javac是编译指令,当编译Java源文件时,直接指定编译文件的路径即可;只有java运行命令才会有-cp选项
javac D:\D\GZ2085期\1206\code1\test.java
java -cp D:\D\GZ2085期\1206\code1 test
Java程序的组织形式
--1、以.java作为程序的后缀
--2、当前类是被public修饰时,类名和文件名要一致(大小写一致)
--3、如果该Java源文件中没有被public修饰的类时,则类名可以和文件名不一致
--4、一个Java源文件中可以有多个类,在编译的时候会生成多个class文件,但是被public修饰的类只能有一个
初学者容易犯的错误
--1、CLASSPATH指的是类的加载路径,而不是Java源文件的路径
--2、初学者容易忽略后缀名
--3、注意在Java中是大小写敏感的 Hello 和 hello是不一样的
--4、main方法的格式(固定的)
※注释的使用
注释的作用:提高代码的可读性,被注释的代码不会被编译器所编译
--单行注释
//
--多行注释
/* */
--文档注释:生成API帮助文档
/** */
--生成api文档的命令
javadoc -d api生成的存放目录 Java源文件
javadoc -d ./document Test.java
注意:如果要生成作者以及版本信息的话,则需要指定author和version
javadoc -d api生成的存放目录 -author -version Java源文件
javadoc -d D:\D\GZ2085期\1206\code\API -author -version Hello.java
注意:文档注释默认是生成public和protected修饰的方法和变量
--如果希望处理private和default修饰的方法和变量可以使用-private参数
可以出现在类和接口中的注解有@see\@version\@deprecated\@author
可以出现在方法和构造器中的注解有@param\@deprecated\@return\@throws\@exception
可以出现在成员变量中的注解@see\@deprecated
--生成某个包下的java文件的api文档的命令
javadoc -d api生成的存放目录 包名\*.java
举例:
javadoc -d D:\D\GZ2085期\1206\code\API -author -version test\*.java
--操作一
--操作二
※1 何为package[相当于一个文件路径]
package是用来声明程序的包
2 为什么需要package
在开发中,我们的程序文件非常多,可能有成千上百程序文件,这些放在一个文件夹下,管理起来就非常不方便,另外一个缺点就是我们2个类名不能相同。所以我们就需要用package来组织这些类
1)将不同功能的类归在不同的文件夹下,例如连接数据库的所有类放dao文件夹下,然后将处理实际业务的相关类放置在service文件下
2)分模块来组织类,每个模块对应一个包,产品模块的相关类放在product文件夹下,订单模块相应的类放在order文件下
3)类名相同,但功能不同,放在不同的包下
※分隔符、标识符、关键字的使用
- -分隔符(语句的结束使用英文的分号)
():包含表达式、方法参数列表
{}:包含类体、方法体、代码块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术