一、快速上手第一个Java程序

1.1 需求说明

要求开发一个Hello.java程序,可以输出“Hello,world!”

1.2 开发步骤

  1. 将Java代码编写到扩展名为Hello.java的文件中 ```java //这是Java的快速入门,演示Java的开发步骤 //对代码的相关说明 //1.public class Hello 表示Hello是一个类,是一个public公有的类 //2.Hello{ } 表示一个类的开始和结束 //3.public static void main(String[] args) 表示一个主方法,即我们程序的入口 //4.main(){ } 表示方法的开始和结束 //5.System.out.println(“Hello,world~”) 表示输出”Hello,world~”到屏幕 //6.;表示语句结束

public class Hello {

  1. //编写一个main方法
  2. public static void main(String[] args) {
  3. System.out.println("Hello,world~");
  4. }

}

  1. 2. 通过javac命令对该文件进行编译,生成.class文件<br />* 打开保存Hello.java的文件夹<br />* 在地址栏全选并输入cmd回车,键入javac Hello.java并回车<br />注意,此时可能会报错<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12677686/1629681922046-043b05c7-b93e-4828-9849-d5a447558b77.png#clientId=uad9d2b76-e6de-4&from=paste&height=319&id=u79f61578&margin=%5Bobject%20Object%5D&name=image.png&originHeight=471&originWidth=927&originalType=binary&ratio=1&size=88685&status=done&style=none&taskId=u657a2461-3aea-4d74-a588-17db88a7ad3&width=628.5)<br />原因是我们的命令行程序是使用gbk编码的,我们的程序源文件中也同样使用了中文,如果没有使用gbk编码,就会产生以上错误<br />解决方法:回到sublime text 选择文件--设置文件编码--Chinese Simplified(GBK) 重新保存文件<br />然后再回到命令行窗口键入javac Hello.java并回车,此时成功生成class文件
  2. 2. 通过java命令对生成的class文件进行运行<br />在DOS命令行键入java Hello并回车,屏幕输出Hello,world~ 运行成功<br />注意不要在Hello后面加.class,加了反而会报错
  3. <a name="Q8E0t"></a>
  4. #### 1.3 运行原理示意图
  5. ![](https://cdn.nlark.com/yuque/0/2021/jpeg/12677686/1629682790250-745f1230-9ab3-4b1e-b105-4df44370cf5d.jpeg)
  6. <a name="LhxUN"></a>
  7. ### 二、Java执行流程分析
  8. ![SmartSelect_20210823-101237_HD.jpg](https://cdn.nlark.com/yuque/0/2021/jpeg/12677686/1629684791826-ee8ecd40-7b76-40e5-8883-16dfb474b120.jpeg#clientId=u3ce44f5a-36db-4&from=paste&height=150&id=u5e95a65a&margin=%5Bobject%20Object%5D&name=SmartSelect_20210823-101237_HD.jpg&originHeight=300&originWidth=1335&originalType=binary&ratio=1&size=173380&status=done&style=none&taskId=ud63dc4cc-f5b7-401a-be0a-ad4bd423c4f&width=667.5)
  9. <a name="Jgpt3"></a>
  10. #### 2.1 什么是编译
  11. javac Hello.java
  12. 1. 有了Java源文件,通过编译器将其编译成JVM可以识别的字节码文件
  13. 1. 在该源文件目录下,通过javac编译工具对Hello.java文件进行编译
  14. 1. 如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件成为字节码文件,也是可以执行的java的程序
  15. <a name="Cmwl4"></a>
  16. #### 2.2 什么是运行
  17. 1. 有了可执行的Java程序(Hello.class字节码文件)
  18. 1. 通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到JVM机执行
  19. <a name="ml1uR"></a>
  20. #### 2.3 Java程序开发注意事项
  21. 对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。
  22. <a name="Hm4H3"></a>
  23. ### 三、Java开发注意事项和细节说明
  24. 1. Java源文件以“.java”为拓展名,源文件的基本组成部分是类(class),如本例中的Hello
  25. 1. Java应用程序的执行入口是main()方法,它有固定的书写格式:<br />public static void main(String[] args) {...}
  26. 1. Java语言严格区分大小写
  27. 1. Java方法由一条条语句构成,每个语句以“;”结束
  28. 1. 大括号都是成对出现的,缺一不可。【习惯,先写{}再写代码】
  29. 1. 一个源文件中最多只能有一个public类。其他的类个数不限<br />编译后,每一个类,都对应一个.class
  30. 1. 如果源文件包含一个public类,则文件名必须按该类名命名!
  31. 1. 一个源文件中最多只能有一个public类。其他的类个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非publicmain方法
  32. <a name="OdIXR"></a>
  33. ### 四、Java学习方法
  34. 1. 学习动力源自需求
  35. 1. 工作需要
  36. 1. 跳槽,对方要求
  37. 1. 技术控
  38. 2. 学习新技术前看是否能用传统技术解决
  39. 1. 能解决。但是不完美
  40. 1. 解决不了
  41. 3. 引出我们学习的新技术和知识点
  42. 3. 学习新技术或者知识点的基本原理和基本语法(不要考虑细节)
  43. 3. 快速入门(基本程序,crud
  44. 3. 开始研究技术的注意事项,使用细节,使用规范,如何优化<br />没有止境,技术魅力
  45. <a name="dIkAY"></a>
  46. ### 五、Java基础 - 转义字符
  47. <a name="R77tK"></a>
  48. #### 5.1 Java常用的转义字符
  49. 1. \t :一个制表位,实现对齐功能
  50. 1. \n :换行符
  51. 1. \\ :一个 \
  52. 1. \" :一个 "
  53. 1. \' :一个 '
  54. 1. \r :一个回车
  55. <a name="BZkXi"></a>
  56. #### 5.2 说明
  57. 1. 在控制台,按上下键可以快速键入历史记录,按 tab 可以快速补齐
  58. 1. 如果需要输出 \\,需要键入 \\\\
  59. 1. 注意回车和换行的区别,回车是回到句首,覆盖输出<br />比如代码:System.out.println("我在学习Java\r欧耶");<br />输出结果:欧耶学习Java
  60. <a name="dbvSn"></a>
  61. ### 六、初学Java易犯的错误
  62. <a name="k6mrF"></a>
  63. #### 1. 找不到文件
  64. 解决方法:源文件名不存在或者写错,或者当前路径错误
  65. <a name="TC4je"></a>
  66. #### 2. 主类名和文件名不一致
  67. 解决方法:声明为public的主类英语文件名一致,否则编译失败
  68. <a name="KyfwR"></a>
  69. #### 3. 缺少分号
  70. 解决方法:编译失败,会有提示信息,注意错误出现的行数,再到源代码中指定位置改错
  71. <a name="x1BjZ"></a>
  72. #### 4. 常见错误总结
  73. 学习编程最容易烦的错是语法错误(初学者)。Java要求你必须按照语法规则编写代码,如果你写的程序违反了语法规则,例如:忘记了分号,大括号,引号;或者拼错了单词;Java编译器都会报语法错误。尝试着去看懂编译器所报告的错误信息。<br />举例:
  74. - 1 -> l
  75. - 0 -> o
  76. - 英文符号写成了中文符号 尤其是分号、引号
  77. - void -> viod 拼写错误
  78. - 不好修改的错误其实是业务错误,环境错误
  79. <a name="kRHxf"></a>
  80. ### 七、Java基础 - 注释(comment)
  81. <a name="KigQW"></a>
  82. #### 7.1 功能介绍
  83. 用于注解说明解释程序的文字就是注释,注释提高了代码可读性;注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过蛛丝先整理出来,再用代码去体现。
  84. <a name="IAIVD"></a>
  85. #### 7.2 Java中的注释类型
  86. 1. **单行注释**<br />格式://注释文字
  87. 1. **多行注释**<br />格式:/* 注释文字 */
  88. 1. **文档注释**<br />注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页形式体现的该程序的说明文档,一般写在类。
  89. 基本格式:
  90. ```java
  91. /**
  92. * @author HarborGao
  93. * @version 1.0
  94. */

所有文档注释 可参考菜鸟教程
如何生成文档注释
控制台键入 javadoc -d 保存位置 -xx -yy Demo.java
-xx -yy是所使用到的注释

八、Java代码规范

  1. 类、方法的注释,要以javadoc的方式来写
  2. 非Java Doc的注释,往往是给代码维护者看的,着重告诉读者为什么这样写,如何修改,注意事项等
  3. 使用 tab 操作,实现缩进,默认整体向右边移动,用 shift+tab 整体向左移
  4. 运算符和 = 两边习惯性各加一个空格。比如 2 + 4 * 5 + 345 - 89
  5. 源文件使用 utf-8 编码
  6. 行宽度不要超过80字符
  7. 代码编写次行风格和行尾风格
    行尾风格:
    image.png
    次行风格:
    image.png

九、DOS命令(了解)

9.1 DOS介绍

Disk Operating System 磁盘操作系统,简单说一下windows的目录结构。
Java快速入门 - 图3

9.2 相关的知识补充

Java快速入门 - 图4

相对路径:从当前目录开始定位,形成的一个路径 绝对路径:从顶级目录(比如D:),开始定位,形成的路径

需求:从 abc\test200 访问 hello.txt
相对路径 ....\abc2\test200\hello.txt
绝对路径 d:\abc2\test200\hello.txt1

9.3 常用的DOS命令

  1. 查看当前目录有什么
    dir dir d:\abc\test

image.png

  1. 切换到其他盘下:盘符号 cd
    比如切换到c盘:cd /D c: (/D 是固定形式,不是当前在D盘所以/D)
  2. 切换到当前盘的其他目录下(使用相对路径和绝对路径)..\表示上一级目录
    相对路径 ....\abc2\test200

绝对路径 d:\abc2\test200

  1. 切换到上一级: cd ..
  2. 切换到根目录: cd \
  3. 查看指定的目录下所有的子级目录:tree 指定目录
  4. 清屏:cls
  5. 退出DOS:exit
  6. 其他常见指令:
    md 创建目录
    rd 删除目录
    copy 拷贝文件 比如:copy ok.txt e:\ok.txt
    del 删除文件
    echo 创建文件并输入内容 比如:echo ok > test.txt
    type 创建文件并输入空内容 比如:type nul > abc.txt
    move 剪切 比如:move ok.txt e:\ok.txt

十、Java API文档

  1. API(Application Programming Interface,应用程序编程接口)是Java提供的基本编程接口(Java提供的类还有相关的方法)。中文在线文档:https://www.matools.com
  2. Java语言提供了大量的基础类,因此Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
  3. Java类的组织形式

Java快速入门 - 图6

  1. 举例说明如何使用:ArrayList类有哪些方法
    1. 包 -> 类 -> 方法
    2. 直接索引搜索

学习参考(致谢):

  1. B站 @程序员鱼皮 Java学习一条龙
  2. B站 @韩顺平 零基础30天学会Java