

尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)_哔哩哔哩_bilibili
这个世界上有的人输在不能开始,有的人输在不断开始,有的人输在不能坚持;学习一门新技术不是一件轻松的事,但只有你坚持了别人无法坚持的坚持,你才能拥有别人无法拥有的拥有。




《Java核心技术》:查阅工具
《Effective Java》
《Java编程思想》。
TIOBE Index - TIOBE编程语言排行榜,每月更新。





Python简单易学(一周学会),上手快,但是不够专一,所以只能作为工具之一。






























系统软件:windows 10 、Mac OS、Linux、Android、IOS。项目在企业端,会部署到Linux中。
人机交互方式:图形化界面(GUI,Graphical User Interface)、命令行方式(CLI,Command Line Interface)。


d: 进入D盘
dir 显示文件目录
md class1 创建新文件夹calss1
cd class1 进入这一级目录中的class1文件夹
cd.. 回退到上一级目录
cd\ 或 cd/ 回退到盘符根目录
rd tream1 删除文件夹tream1
del moon.txt 删除文件moon.txt
del *.txt 删除文件所有.txt 文件
cls 清屏
exit 退出命令提示符窗口









学完Java基础,可以看看这本书:

java基础也可以称为Java SE。

java后台,也可以说就是Java EE。

Java ME也不怎么使用,现在也被Android开发替代了。(Android开发不等于Java ME开发)











现在JDK21也已经出来了!!

安装:网上有很多安装方法
JAVA17---安装+配置环境变量 | JAVA安装完整教学_java runtime environment 17 / jre-17_Xunlan_的博客-CSDN博客




- JAVA_HOME
-
- CLASSPATH(不需要配置)
-
- JDK8:
-
- .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
-
- JDK17:
-
- .;;%JAVA_HOME%\lib\jrt-fs.jar
-
- path中添加:
-
- %JAVA_HOME%\bin
- %JAVA_HOME%\jre\bin (只有JDK8需要配置)
注意:


JAVA_HOME的值是JDK的安装路径,我一般安装在C盘下,方便运行。
设置JAVA_HOME:
一是为了方便引用,比如,JDK安装在C:\jdk17目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二则是归一原则, 当JDK路径改变的时候, 仅需更改JAVA_HOME的变量值即可, 否则,就要更改任何用绝对路径引用JDK目录的文档, 要是万一没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三则是第三方软件会引用约定好的 JAVA_HOME 变量, 不然, 你不能正常使用该软件。
在系统环境变量那一栏中点 -> 新建 JAVA_HOME (JAVA_HOME指向的是JDK的安装路径)
path 变量:
path 变量用于保存一系列路径,每个路径之间用分号隔开。当命令行运行一个可执行文件时,操作系统会在当前目录下查找是否存在该文件,找不到时会在path路径下找这个文件,也找不到,就会报错。![]()
所以我们配置path系统环境变量路径的值,告诉计算机java可执行程序都放在bin目录下,使得我们能够在系统中的任何地方运行java应用程序,比如 javac.exe、java.exe、javadoc.exe 等等。
JDK17也没有jre文件夹,所以,也不需要%JAVA_HOME%\jre\bin 。
classpath变量 :(强烈建议不配置)
classpath环境变量也用于保存一系列路径。当java虚拟机需要运行一个类时,会在classpath所定义的路径下寻找class文件。
但是JDK5.0开始,classpath变量没有进行配置,java虚拟机自动将其设置为“.”,也就是当前目录。所以不用配置classpath变量!

JDK中包含JRE,但是还是会询问是否安装JRE,(可以不装,JDK17也不会有这个询问)如果安装,需要新建一个安装目录:


然后下一步,就安装好啦。再配置环境变量就好了。下面是jdk的文件目录:



lib:library的缩写,Java类库或库文件,是开发工具使用的归档包文件。
src文件:放置JDK核心类的源代码。
bin目录:存放着很多java可执行程序,其中最重要的就是javac.exe和java.exe文件。


.text文件可以修改为.java文件,需要勾选显示文件扩展名。
为两个JDK新建两个JAVA_HOME,分别指定安装路径。
然后创建JAVA_HOME指定用的JDK(以后用8或17在这里切换)

Path中添加%JAVA_HOME%\bin 。

可以不删掉,只将%JAVA_HOME%\bin 移至最上。(Path中删掉自动添加的C:\..\Oracle\Java\javapath这条变量配置)。
CLASSPATH要手动更改:(也可以不配置这个,强烈建议不配置)

- JAVA_HOME %JAVA17_HOME% 或 %JAVA8_HOME%
-
- CLASSPATH (不需要配置)
-
- JDK8:
-
- .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
-
- JDK17:
-
- .;;%JAVA_HOME%\lib\jrt-fs.jar
-
- path中添加:
-
- %JAVA_HOME%\bin
- %JAVA_HOME%\jre\bin (只有JDK8需要)
JDK17中的lib下已经没有dt.jar和tool.jar两个包了。只剩一个jrt-fs.jar。

所以其实classpath的配置不用要(上面讲过classpath默认路径为“.”,即当前目录),且可省去 %JAVA_HOME%\jre\bin(建议不省去,否则切换jdk8时,要再配置一次!有这个配置jdk17平时也不影响使用。)
到此,配置完成。
完成后,win+R输入cmd,用java -version和javac命令验证一下就可。
有classpath变量可能会出现问题:(我没有出现这个问题,但是我把它删除了)
编译器编译完java文件后的字节码文件默认放在当前.java文件相同文件夹下。但是classpath变量编写完以后,java.exe运行.class文件的时候,会去classpath变量下的路径下找.class文件,会找不到。但是JDK5.0开始,classpath变量没有进行配置,java虚拟机自动将其设置为“.”,也就是当前目录。所以不用配置classpath变量!


由于我的JDK版本是17.0.4.1不是长期支持版本的最新版的版本17,所以我现在卸载并重新下载长期支持版本的最新版17.0.8:




配置环境变量:

安装成功:

之前的17.0.4.1:

java文件编写、编译、运行都要严格区分大小写。
在命令行窗口(Home+R)中,进入.java源文件所在文件目录,然后javac编译生成类名的.class文件。
然后输入“java 字节码文件名(.class文件名)”运行。

.java文件想要在javac.exe 中编译成功,需要在类class中写main主方法。


Java中的String[] args 和String args[]都可以运行,String[] args 和String args[]一般包含在main主类方法中,表示给主方法传一个字符数组,args只是字符串数组的变量名,是arguments的缩写,是个默认名,一般情况下照着写。(arguments中文就是参数的意思,其值可以手动赋值)
JAVA中的String[] args和String args[]详解。_string args[ ]和string[ ] args-CSDN博客
- class HelloChina {
-
- public static void main (String args[]){
-
- System.out.print("Hello China! 你好中国!");
-
- }
- }
-
- 或
-
- class HelloChina {
-
- public static void main (String[] args){
-
- System.out.print("Hello China!");
-
- }
- }


可在.text文件可以修改为.java文件时,打开txt文本的另存为设置编码格式:





Java程序是由虚拟机负责解释执行的,而非操作系统。所以只要在不同的操作系统中安装不同的虚拟机,就可以编译产生不同的机器代码,实现跨平台性(“一次编写,到处运行”)。
Java编译器(Javac.exe)将.java源文件编译成字节码文件.class之后,不同平台的java虚拟机 JVM for(Window、Linux、UNIX、others等不同平台。)启动类加载器加载类到内存,然后不同平台的java虚拟机再对加载到内存中的java类进行解释执行,就可以看到结果。
缺点:

