都说「三十而立」,但是我的30岁却迎来了行业变革,想要在继续在这行工作,立是立不起来了,但是换个赛道又心有不甘,所以一直非常纠结
翻来复去好多天,抽了好几盒烟,喝了几保温杯的浓茶,嗨,想这个干锤子!
与其纠结烦恼,不如让自己从这种负面情绪里抽离出来,干脆学点自己本来感兴趣,但是一直没有接触过的东西好了
在网上搜索了各种各样的也不知道对不对的文章之后,看的一知半解的我决定尝试学习Java,随着第一行代码的成功运行,虽然只是Hello,World!,但是好歹也算是进了编程的大门了,也来这里给自己记录一下,看看自己究竟能坚持多久,究竟能够多久成为一个能够「写出来点有用的、有内容的、能够让自己和别人能够初步认可的程序」
学习途径是B站尚硅谷的入门课程,不得不说宋红康老师还是挺好玩儿的,经常讲些奇奇怪怪的冷笑话,内容讲的不难,也能够听懂
使用的电脑是M1的MacBook Air,跟教程里的windows系统有很大差别,在最初配置Java的时候遇到很多问题,真的是视频配置1分钟,自己研究一下午,预计后续还会有更多的差异化问题,这也没办法,确实是没有在网上找到针对macOS的Java教程,如果各位好心人看到这篇帖子,还是希望能够推荐给我一下
一、Java基本知识
1、Java基础:
1、基础程序设计:关键字、数据类型、运算符、流程控制、数组「排序算法、数据结构」
2、面向对象编程:类/对象、类的结构、三大特性、接口、设计模式
2、Java高级:
应用程序开发:JDBC、集合、IO/NIO、类库、多线程、异常处理、反射、网络
二、Java语言概述
1、软件:一系列按照特性顺序组织的计算机数据和指令的集合,分为:系统软件(Windows、macOS等)和应用软件(凡是用到的都是应用软件)
2、人机交互方式:图形化界面(GUI)、命令行(CLI)
应用程序 = 算法(解决程序写完之后正确与否的问题) + 数据结构(解决程序写完之后效率的问题)——pascal之父
3、常用的DOS命令:
1、dir:列出当前目录下的文件以及文件夹,macos为ls
2、md:创建目录
3、rd:删除目录
4、cd:进入指定目录
5、cd..:返回上一级目录,macos不是这么用好像
6、cd/:退回到根目录,macOS为cd ~
7、del:删除文件
8、exit:退出dos命令行
4、计算机语言的发展迭代史
1、第一代:机器语言,指令以二进制代码形式存在
2、第二代:汇编语言
3、第三代:高级语言
1、面向过程的语言:C、pascal、fortran等
2、面向对象的语言:Java、JS、Python、Scala等
5、Java语言版本的迭代
1、1991年,green项目,开发语言最初命名为oak
2、1996年,发布JDK1.0,约8.3万个网页应用java技术制作
3、2004年,发布里程碑版本,JDK1.5,更名为JDK5.0
4、2005年,J2SE➡️JavaSE(桌面级应用)、J2EE➡️JavaEE(企业级应用)、J2ME➡️JavaME(移动端设备应用)
5、2014年,发布JDK8.0,5.0后续的变化最大的版本
6、Java语言的应用领域
1、Java Web开发:后台开发
2、大数据开发
3、Android应用程序开发:客户端开发
7、Java语言的特点:
1、面向对象性:两个要素(类、对象)、三个特征(封装、继承、多态)
2、健壮性:去除了C语言中的指针(其实Java中也有指针「引用」)、有了自动的垃圾回收机制(JVM涉及到)但是仍然会出现内存溢出或内存泄漏问题
3、跨平台性:Java程序在任何系统都可以在针对不同系统的JVM上使用,write once,run anywhere「一次编译,到处运行」
8、JDK、JRE、JVM三者的关系
1、JDK = JRE + 开发工具集(例如Javac编译工具等)
2、JRE = JVM + Java核心类库
9、JDK下载和安装
1、下载:官网,GitHub等
2、安装:贼傻瓜,注意问题「路径不能有中文和空格」(安装包中含有jre文件,所以配置路径时候不需要单独配置jre环境)
10、path环境变量的配置:path环境变量「操作系统执行命令时搜寻的路径
1、为什么要配置path环境变量:希望Java的开发工具(javac、Java、Javadoc等)在任何的文件路径下都可以执行成功
2、如何配置:macos跟windows区别很大,配置JAVA_HOME
三、开发体验——HelloWorld
1、编写:
1、创建一个txt文档,后缀改为.java,命名为HelloWorld.java
2、输入代码:
class HelloWorld{ public static void main(String[] args){ System.out.println("Hello, World!"); }}
3、编译:javac HelloWorld.java
4、运行:java HelloWorld
2、常见问题(bug)的解决
3、总结写的第一个程序
四、注释:comment
1、单行注释://
1、作用1⃣️:对所写的程序进行解释说明,增强可读性,方便自己,方便别人
2、作用2⃣️:调试所写的代码
2、多行注释:
3、文档注释:
1、作用:注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件体现形式的该程序的说明文档
2、注意:多行注释不可以嵌套使用
4、特点:注释的内容不参与编译
五、API文档:
1、API = application programming interface,习惯上将语言提供的类库都称为API
2、API文档定义:针对于提供的类库如何使用的说明书,类似于新华字典,1.6的中文版翻译较好,内容与1.8差距不是很大
六、良好的编程风格:
七、开发工具使用:
1、文本编辑工具:
1、记事本
2、UltraEdit
3、EditPlus
4、TextPad
5、NotePad
2、Java集成开发环境(IDE):
1、JBuilder
2、NetBeans
3、Eclipse
4、MyEclipse
5、IntelliJ IDEA