20165233 2017-2018-2 《Java程序设计》第一周学习总结
教材学习内容总结
第一章
- Java特点:语法简单、面向对象、与平台无关、动态。
- 字节码不能被任何平台直接识别、执行。Java虚拟机的字节码指令都是相同的。
- 安装JDK中易遗漏知识点
- Java编译器(javac.exe)和Java解释器(java.exe)
- 系统变量PATH在安装操作系统后就已经有了,所以无需再添加PATH,只需要为其增加新的取值。
- 由于系统已经设置了系统变量JAVA_HOME的值是E:\\JDK1.8,因此可以用%JAVA_HOME%代替E:\\JDK1.8
- 设置JAVA_HOME的好处之一就是便于PATH值的维护。
- classpath设置中的".;"是指可以加载应用程序当前目录及其子目录中的类。
- Java程序的开发
- 编写源文件:源文件名字必须与public类的名字相同;保存文件时的扩展名应为
.java
- 编译源文件:先进入自己源文件所在目录,再通过
javac wenjianming.java
进行编译 - 运行程序:Java解释器执行的类名必须是主类的名字。
java wenjianming
(注意此时不能带有扩展名,也不可以带着目录运行程序) - 反编译器:javap.exe
教材学习中的问题和解决过程
- 问题1:在第三节 安装JDK中,由于我的电脑为Mac,在系统环境设置时,遇到如下问题:(Mac配置环境变量教程参考)
在终端输入命令行sudo vim /etc/profile
进入设置,按照教程输入了
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
之后,再输入命令source /etc/profile
告诉我JAVA_HOME
无法找到,并且再后续的echo $JAVA_HOME
页没有路径,回车后得到空白行。
问题1解决方案:重新检查输入了一遍就成功了,不知道之前几次为什么失败。
- 问题2:在终端安装homebrew时,出现了一个警告:
/usr/local/bin is not in your PATH.
,但告诉我安装成功。随后输入git安装的命令行brew install git
却说brew无法找到? 问题2解决方案:在终端输入
echo PATH=/usr/local/bin:$PATH
,即可解决问题。- 问题3:在将自己的代码通过git提交到码云上时,push的时候出现fatal: Authentication failed for ‘https://git.oschina.net/minchan/Hello-world.git/‘问题.
问题3解决方案:是由于设置了双因子身份认证Two-Factor Athentication。
输入命令行:git remote -v
git remote remove origin
git remote add origin xxx
查看是否使用双因子认证。删除并重新添加关联xxx为项目地址。
参考CSDN博客
- 问题4:
git push origin master
时,出现了failed to push some refs to ‘https://gitee.com/minchan/Hello-world.git‘
的错误。 - 问题4解决方案:出现错误的主要原因是github中的README.md文件不在本地代码目录中。可以通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase origin master
;执行上面代码后可以看到本地代码库中多了README.md文件。此时再执行语句 git push -u origin master即可完成代码上传到码云.
参考百度经验
代码调试中的问题和解决过程
- 问题1:找不到符号
问题1解决方案:按照报错的位置,重新输入符号,错误原因多数为用中文输入法输入了符号。
- 问题2:在类 People 中找不到 main 方法
问题2解决方案:在运行People.java的程序时,
java
命令后必须是主类的名字,并且不包含扩展名。(注意主类与public类的区别)
代码托管
上周考试错题总结
- 错题1:下列不属于Java后继技术的是Python
原因:对于书上内容记忆不深刻,不熟练
- 错题2:下列说法正确的是A.Java SE提供了标准的JDK;C.使用Java EE可以构建企业级的服务应用
错误选项的正确形式B.Java EE平台包含Java SE平台;D.Java EE增加了附加类库,以便支持目录管理等功能。
原因:对于书上内容记忆不深刻,不熟练
- 错题3:如果C:\\workspace\\Hello\\classes中有以下原始码编译而成的Main.class:
`package cc.openhome;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}`
文本模式下你的工作路径是C:\\workspace,那么如何执行Main类别?
应该是:java Main
原因:题目中有打包的语句,对于其含义和用法的理解有些不清楚,导致错误。
其他(感悟、思考等,可选)
由于我的电脑是Mac,所以很多操作方法都与Windows不太相同,所以在安装JDK的时候,包括进行环境变量的配置时都很困难,一个个问题上网查找解决办法和教程,也因此对于Mac的使用更加熟练以及多一门技术的掌握。现在变成了自己主动去解决问题,而不是一有问题就搁置或者依赖别人解决。对于Java也有了初步的了解,为之后的学习打下了基础。