前言
Youtube上EJ Media(up主)的视频我依次学完了HTML、CSS、Javascript、Jquery。觉得他教得挺好的(短小精悍),就继续学他教的JAVA。感觉EJ教的都是些语法什么的。太复杂的没教。以及我也学过一点点python的语法。另外,大一还是大二的时候把Coursera上吴恩达的《机器学习》看了一遍,当时不懂编程所以操作题都是github上抄的,无奈,顺便学了点octave。总而言之,学习Java之前我只是会一些小小的语法罢了,总是这样浅尝辄止不行的啊。
当然不仅仅只跟着EJ Media学语法,学完语法还要学其他的,那些我就真的一无所知了。要努力啊!
隔一段时间上传一个版本(github)上,有时候会改一下前面的内容,尤其是前言(一直在改)。
注解:
- “?”意为“不确定并且暂时懒得查;
Day1 2018.7.4
想成为JAVA工程师,所以开始学JAVA。
万事开头难,还好我有点点基础。看了EJ Media 的 Java Tutorial for Beginners 01( #01 ),创建了第一个项目。一开始有点麻烦,还好没放弃。成功了。第一课学习完毕。发现还有 01之前还有00(intrudoction),看了一下,是基础介绍。加油!
Day2 2018.7.5
上午看了会儿JAVA的介绍,大致知道JAVA是面向对象,多平台,多应用的语言。刚刚完成了EJ Media 的 Java Tutorial for Beginners 02( #02 )。这节课讲了变量种类(int,double,float,String,boolean),跟着完成了练习。
#03 第三节课讲的是数学上的运算,加减乘除什么的,没什么难度。
#04 第四节课讲的是++和–,还有计算的优先级。优先级这块听得不是很懂,不过没关系。EJ说以后还会提起。
被实习公司炒鱿鱼了。真是被逼上绝路啊哈哈哈。要是我以后成了大神,我就可以说“不是我选择了编程,是编程选择了我啊”
#05 第五节课讲了String里面有引号怎么处理,这个学过(JavaScript?)。还有把字符串变大写,indexof。这节课也很简单。毕竟编程有相同之处啊。我就喜欢这种循序渐进的,学习重在坚持,不在效率。
#06 讲了新建java包和移动类。这节课有点点糊涂,但是操作基本还原。
今天学了五课,打算睡前再看看java学习的文章,别人学的日记,经验什么的。
Day3 2018.7.6
对了,昨天花了很长时间在Markdown和Github上了。就是把本地图片上传到Github变成在线图片。然后就在Markdown里面插入图片比较方便。本地图片的话,如果发布到其他的平台的话,上传图片好像不大方便。弄完了这个,我觉得很有用啊,上传到其他平台直接就一个Markdown文件就好了。真是提高效率的事情啊!本来看教程是在终端的,搞了半天不会。后来发现可以直接用网页版的Github啊!绕远路了。
#07 第七节课讲了if语句。感觉和以前学的Javascript差不多,就那样吧。很容易。其实语法什么的听说不用花多长时间的。所以……加快脚步。
#08 第八节课讲的是switch语句。同上。就是我现在用的IDE(是叫这个吧)是Netbeans。人家说初学用简单的notepad之类的就行了,免得IDE这种东西功能复杂,初学者会眼花缭乱。今天就眼花缭乱了。老说什么“一个或多个项目的编译错误”,我试着运行了一下,是可以的,不过既然它有提示,就一定出了问题。然后我把那些包(package)和类(class)搞了搞,理理清楚。现在已经没问题了。已上传压缩文件 MainjavaProject_2018.7.6.zip
#09 这节课讲的是for循环,有印象。刚刚敲代码的时候少敲了一个static,然后运行的时候找不到新建的类了。现在还不知道public,static,void这些是什么意思,应该跟结构有关。懒得还原了,现在能找到新的类了(forloop)
刚刚我的文本编辑器(?TextNut)突然闪退,然后打开来就只剩一行了。吓死我了。还好过了一两分钟重新打开又恢复了。吓得我赶紧把我这不成文的东西备份,先上传到github上去吧。
#10 这节课讲了while循环,有印象,敲一遍代码,pass。
哈哈哈找到Thinking in Java了。而且还有mobi版本的,感动到落泪。
#11 这节课讲的是dowhile。就是先执行(do),再循环。跟while的区别就是dowhile的话即使while()里的条件不符合也会执行一次。while的话就不执行。高中学VB的时候也讲过。
新技能get,复制 .java文件,粘贴的时候重构一下就好了。重构改文件名顺带可以把代码里的class名称一起改掉。不仅仅是完全的复制粘贴。迷之智能。
Day4 2018.7.7
Google了一下学习Java的路线图。以下引用自Neel Neeraj A G(Quora)的回答What are the learning stages of Java?
你可以按照以下路线来学习Java :
-
Java 基础 - 变量, 数据类型, 操作符, 控制语句,字符串, 数组和函数。
-
OOP(面向对象程序设计) - 类, 对象, 构造函数, 继承, 抽象概念 , 抽象类, 接口, 多态, 函数重载, 函数覆盖。
-
高级概念- 进程, 线程, XML文件操作符, 集合.
-
数据库连接 - JDCB操作.
-
Windows应用的开发 - AWT, Swing.
-
J2EE - Servlets, JSP.
-
Java 框架: Spring, Hibernate.
注解:
(以下来自维基百科/菜鸟教程/简书/w3cschool)
-
OOP 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。
-
XML 可扩展标记语言(英语:Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。
-
JDCB Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC是面向关系型数据库的。
-
AWT 抽象视窗工具组(Abstract Window Toolkit=AWT)是Java的平台独立的视窗系统, 图形和使用者界面器件工具包。
-
Swing
-
J2EE Java EE是一系列技术标准所组成的平台
-
Servlets Servlet 为创建基于 web 的应用程序提供了基于组件、独立于平台的方法,可以不受 CGI 程序的性能限制。Servlet 有权限访问所有的 Java API,包括访问企业级数据库的 JDBC API。
-
JSP JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为 *.jsp 。JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。
-
Java 框架 所谓的Java框架,简单理解是一个