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字节码文件

get到的重点——教材建议的Java学习路径

  1. 深入了解JVM/JRE/JDK:JVM是Java程序唯一认识的操作系统,其可执行文件为.class文档
  2. 理解封装(Encapsulation)、继承(Inheritance)、多态(Polymorphosm):面向对象中最重要的概念
  3. 掌握常用Java SE API架构
    可参考Java 集合系列之Collection架构
  4. 学习容器观念:
    • 操作层面:执行于JVM上的Java应用程序
    • 抽象层面:应用程序沟通、协调相关资源的系统
  5. 研究开放原始码项目:参考教材作者林信良教授的在线文件
  6. 学习设计模式与重构:根据需求做出好的设计,因应需求变化调整现有程序架构
  7. 熟悉相关开发工具: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程序

  1. 在写第一个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"); } }


  2. 在主目录下新建一个文件夹java,把Hello.java放到该文件夹

  3. 终端下切换到当前目录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

参考资料

posted @ 2017-02-26 16:57  20155314刘子健  阅读(548)  评论(8编辑  收藏  举报
Live2D