20155314 2016-2017-2 《Java程序设计》第1周学习总结
20155314 2016-2017-2 《Java程序设计》第1周学习总结
学习目标
- 了解Java基础知识(已完成)
- 了解JVM、JRE与JDK,并下载、安装、测试JDK(已完成)
- 了解PATH、CLASSPATH、SOURCEPATH的作用并会设置(正在学习)
- 初步使用IDE(推荐IDEA),会编译、运行、调试简单的Java程序(已完成)
教材学习内容总结
- 浏览教材,根据自己的理解每章提出一个问题
- 认真学习教材第一章、第二章
第一章
Java常识
Java最早是Sun公司绿色项目Green Project中编写Star7应用程序的程序语言,当时取名为Oak
- Java诞生:1995年5月23日
- Java之父:James Gosling
- 最新Java版本:Java SE 8,2014年3月18日发布
- 相关名词解释(小白福利QAQ)
- Java SE:Java标准版本
- JVM:Java虚拟机
- JRE:1Java执行环境
- JDK:包括JRE及开发过程中需要的一些工具程序
- Java EE:Java企业版本
- Java ME:Java微型版本
- JCP:一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新
- JSR:Java规范提案,指向JCP提出新增一个标准化技术规范的正式请求
- RI:根据JSR成果做出免费且开发原始码的参考实现
- TCK:技术兼容测试工具箱
- Oracle JDK:被Oracle收购之后的JDK参考实现
- OpenJDk:Sun在2006年的JavaOne大会上把Java开源而形成的项目
- JavaOne:每年一次的Java盛会
- IDE:集成开发环境
- API:应用程序编程接口
- OO:面向对象
- JavaDoc:Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档
- javac:Java语言编程编译器,javac命令可以将java源文件编译为class字节码文件
- Java SE:Java标准版本
get到的重点——教材建议的Java学习路径
- 深入了解JVM/JRE/JDK:JVM是Java程序唯一认识的操作系统,其可执行文件为.class文档
- 理解封装(Encapsulation)、继承(Inheritance)、多态(Polymorphosm):面向对象中最重要的概念
- 掌握常用Java SE API架构
可参考Java 集合系列之Collection架构
- 学习容器观念:
- 操作层面:执行于JVM上的Java应用程序
- 抽象层面:应用程序沟通、协调相关资源的系统
- 研究开放原始码项目:参考教材作者林信良教授的在线文件
- 学习设计模式与重构:根据需求做出好的设计,因应需求变化调整现有程序架构
- 熟悉相关开发工具:Eclipse IDE、NetBeans IDE,还可以搭配Ant构建工具、Maven或Gradle项目工具等一同使用
通过百度学到的macOS终端命令
参考Mac 终端命令大全,这里列出几个常用的命令
| 命令名| 功能描述|使用举例|
-------- | :---------------😐:----------------😐:---------------: |:-----😐
|man|查看命令的详细帮助|man ls
| mkdir| 创建一个目录 |mkdir dirname|
| rmdir| 删除一个目录 |rmdir dirname|
| cd| 改变当前目录|cd dirname|
| pwd | 显示当前目录的路径名|pwd |
|cp| 复制文件或目录| cp file1 file2
|find|使用匹配表达式查找文件| find . -name "*.c" -print|
|file|显示文件类型| file filename
|open| 使用默认的程序打开文件| open filename
|passwd| 修改用户密码| passwd
|xlock| 给终端上锁| xlock -remote
|touch|更新文件的访问和修改时间|touch -m 05202400 filename
|ps| 显示进程当前状态| ps u
|kill| 终止进程 |kill -9 30142
|history|列出最近执行过的几条命令及编号|history
|uname| 显示操作系统的有关信息 |uname -a
|clear| 清除屏幕或窗口内容|clear
|who|列出当前登录的所有用户|who
|whoami|显示当前正进行操作的用户名| whoami
tty |显示终端或伪终端的名称 |tty
du| 查询磁盘使用情况| du -k subdir
df |显示文件系统的总空间和可用空间| df /tmp
w |显示当前系统活动的总信息 |w
通过百度学到的Mac终端常用快捷键(百度真是好东西)
Tab
命令、文件名等自动补全
ctrl + C
终止正在运行的程序
ctrl + D
退出 Terminal(建议用command + W
)
ctrl + U
清除当前输入命令
ctrl + W
删除当前输入命令最后一个单词
Ctrl + K
删除光标处到行尾的字符
ctrl + A
光标跳至行首
ctrl + E
光标跳至行尾
ctrl + L
清屏
command + T
新建终端窗口标签
command + D
垂直分屏
command + ctrl + F
全屏
教材学习中的问题和解决过程
JDK(JDK 8 for mac)的下载、安装
按住之前在百度的帮助在macOS上Automator.app中设置好的快捷键contrl+alt+T
,打开终端,输入java:
显示JDK尚未安装,点击【更多信息...】进入下载页面:
下载完毕,双击安装:
点击【继续】,直至安装完成:
安装完JDK for mac后,需要搭建Java开发环境
我的MBP配置如下:
再次打开终端,输入echo $SHELL
查看macOS Sierra 10.12.3版本的系统使用的是什么shell命令:
终端输出的是bash,说明是默认的Unix Shell命令
输入java,就会出现如下界面:
通过命令行查看Java版本:
终端输出JDK的版本为1.8,是当前最新版本哟~( ̀⌄ ́)~
配置环境变量
在终端中输入sudo vim etc/profile
,输入mac用户密码(就不告诉你(/ω\))
额...怎么又突然全变成英文了尴尬(¬_¬)
使用vi编辑profile文件
键入i
,进入插入模式,在文件尾部,添加Java路径:
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/" CLASS_PATH="$JAVA_HOME/lib" PATH=".;$PATH:$JAVA_HOME/bin"
添加完毕之后,按esc退出插入模式,并键入wq!
保存退出文件。
shit,为什么又打不开了。。
只好再次求助百度啊百度QAQ
某大神提供了一个超简便的方法:
打开terminal
然后输入vi .bash_profile
将这段文字输入:JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
在vi编辑器使用:wq命令保存退出
输入source .bash_profile 这样就可以使得环境变量起作用了
再输入echo $JAVA_HOME
然后...啊居然成功了( ̀⌄ ́)成功输出刚才配置的路径~表示环境变量已经配置好了·_·
然而不巧我忽然看到大神最下面的一句话:
必须说明的是这种配置方法只适用于用户环境变量,如果系统更新,之前的配置可能失效,如果想要永久改变需要配置在/etc目录下的profile文件中
我:……还是不靠谱啊喂!!
不管怎样,环境变量已经配置完毕,打开终端输入javac
即出现以下界面:
代码调试中的问题和解决过程
macOS下运行Java Hello World——我的第一个Java程序
-
在写第一个Java程序之前,我通过万能的百度Mac上如何新建文本文档学到了用终端命令行法在Desktop上新建了一个名为Hello.txt的文本文档——终端下:
cd 目录
vi 文件名
或vim 文件名
即如下图所示:
按i
键,在Hello.txt中输入娄老师第一节Java课上给的Hello World代码,如下图,输入完成后,按esc
,再输入:wq
即完成创建,并把文件名改为Hello.java:
public class Hello{ public static void main(String[] args){ System.out.printf("Hello World!\n"); } }
-
在主目录下新建一个文件夹java,把Hello.java放到该文件夹
-
终端下切换到当前目录
cd java
,现在可以编译程序了~输入
javac Hello.java
,这时在主目录的java文件夹里已经生产了一个编译出的class文件再次运行终端,输入
java Hello
这时激动人心的字幕“Hello World!”出现了!至此人生中第一个Java程序成功编译了66666!我成功了!!欧耶!
在Eclipse for mac中也实现了Hello World
关于IDE,我自学并安装了macOS平台下使用较为广泛的Eclipse作为我以后的Java开发环境,毕竟在相应的开发环境下编译运行Java程序比在终端输入命令要方便很多,如同学习C语言时在VC2012、VC6.0和CodeBlocks等环境下一样。通过安装Eclipse,我又对IDE以及JDK有了进一步的认识,无论是通过翻阅教材还是百度,我确实学到了不少新知识,开阔了眼界。
在Eclipse官网下载完Eclipse后开始安装,我选择的是for java Developers的IDE配置模式,其实看下面的选项就知道Eclipse还可以作为C语言学习的开发环境,只可惜当时学C的时候被CodeBlocks死死局限住了,当时真孤陋寡闻啊(>_<)
安装完后,出现welcome界面,eclipse界面令人焕然一新~(纯英文界面,好在成功考过六级,看懂这些还是不成问题的(。ì _ í。))但由于我迫不及待地开始编写我的Hello World,这些一概无视(>_<)(其实提示信息什么的还是要好好看看啊QAQ)
选create a java project,在最上面Project name一栏自豪地写上了我的“Hello World”,finish,OK项目已建成!
然后需要新建一个类(class),点击左边刚刚新建的Hello World,展开后右键src,选择new——class
同样的要写上类的名字,不过刚开始我起的Hello World好像出了点问题,如图,上面的提示似乎是不能出现空格?那就HelloWorld呗( ̀⌄ ́)
不过要注意下面红框框里的main要勾选哟(不明觉厉)
下面就到了熟悉的尽情码代码的环节了~很快便把娄老师给的Hello World代码又输了上去,点击Run,最激动人心的时刻来临了!屏幕下方Console界面上赫然出现的“Hello World!”还是使我受到莫大的鼓舞
mission complete!(>_<)
代码托管
- 代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
- 代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
上周考试错题总结
- 木有考试QAQ但需要好好复习一下Linux(◐‿◑)
学习心得与体会
这是我第一次写这么长的博客,差不多历时五天吧,每晚上自习都会投入大量的时间(玩弄我的macOS),可能以后每天还要继续更新。由于我用的是macOS导致直接形成与大家的windows对立的局面,很多问题别人根本无法解答只能靠自己一点点百度,别人来问我windows上如何用git呀这个那个的老实说很遗憾我也并不太清楚(o.O)第一周作业做的虽然有些仓促不过真心学到了不少东西,包括markdown(macOS下我用的macdown)的语法和终端命令我又里里外外研究了个遍,很多时候我看教材也会经常翻回前面两章看看,平时没事翻翻以前的博客、娄老师的课程汇总,做到温故而知新,同学们的博客我也经常逛哟(这是什么癖好(>_<))
百度是个好东西,在百度的过程中关于macOS快捷键又学会了一招!
macOS下写路径的方法:
shift+command+G
(在Finder里操作)
真的好方便啊哈哈哈哈(/ω\)
shift+command+G
shift+command+G
shift+command+G
重要的快捷键要提醒自己三遍!!
杂音
今天我的win7虚拟机崩了,无法安装更新,难过
开学的时候从某宝上给我心爱的MBP弄了一个可爱的实用的键盘膜酱QwQ上面有很多便于学习macOS快捷键的提示哟暖暖的很贴心嗯(拒绝打广告)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 34/34 | 1/4 | 12/12 |