20175310 《Java程序设计》第1周学习总结(2)
20175310 《Java程序设计》第1周学习总结(2)
教材学习内容总结
本周学习了教材的第一章内容,通过看微课的方式,自主学习,教材上讲的比较简单,主要的问题都在调试代码上,还有一两个问题还没解决,在下面有提到,希望老师指点。
教材学习中的问题和解决过程
一、看完第一章的微课视频后,做了【强化练习】。

共10道题,前九题都没有疑问,第10题的问题没能解决。

- 问题1:
不知道我的答案对不对,其中书上说classpath中的“.;”是指可以加载应用程序当前目录及其子目录的类,那么“.;”是不是一定要写在classpath中,不写的话有没有错?
- 问题1解决方案:
尚未解决
二、编写“Hello程序”并编译运行
1、打开记事本,将教材P9的程序输入。

2、保存时,选择另存为,文件名改为Hello.java,注意后缀名要改成.java(不是Hello.java.txt),保存类型为所有文件,编码是ANSI。

3、打开cmd,首先输入javac,判断path路径是否正确。如下图,若出现一堆选项,则说明path路径正确。

4、用常用的命令提示符口令,进入Hello.java文件所在的文件夹。

5、输入dir可以看到当前文件夹所包含的文件,现在作业文件夹下只有Hello.java一个文件。

6、输入javac Hello.java编译文件,若没有提示文字出现说明编译正确。

7、此时再次输入dir,可以发现现在作业文件夹里有三个文件,分别是Hello.java Hello.class Student.class,后面两个后缀名是class的文件就是编译Hello.java后产生的字节码文件。

8、输入java Hello运行程序,程序运行成功。

9、此外,输入javap Hello.class可以对字节码文件进行反编译。

代码调试中的问题和解决过程
一、安装git
1、Windows下安装Git,到Git for Windows下载安装Windows 版git。安装完右击桌面,点击「Gib Bash」图标:

2、在Git Bash中可以运行Linux 命令,我们使用git --version查看一下安装的版本,证明Git命令可用,这样就说明Git装好了。

二、在Linux操作系统中安装Git
1、打开终端后输入git -- version
- 问题2:
提示说目前还没有安装git

- 问题2解决方案:
输入sudo apt install git安装git输入密码开始安装

安装完后,再次输入git --version 就可以看到Git安装成功了

2、安装完成后进行git配置,输入指令git config --global user.name "20175310xcy"和 git config --global user.email "2591038766@qq.com"

3、创建验证用的公钥,使用命令ssh-keygen -C '2591038766@qq.com' -t rsa,会在用户目录~/.ssh/下建立相应的密钥文件。

使用命令cd ~/.ssh进入~/.ssh文件夹,输入gedit id_rsa.pub打开id_rsa.pub文件,复制其中所有内容。接着访问http://git.oschina.net/profile网页,点击SSH公钥把刚才复制的内容粘贴进去就OK了。


可以使用ssh -T git@git.oschina.net命令来测试连接是否畅通。
- 问题3:
我看参考博客中这里若是连接畅通应该显示“Welcome to Git@OSC, 20175310xcy”,但是我试了几次都没有成功,不知道是怎么回事。
- 问题3解决方案:
尚未解决
4、使用git init指令初始化一个git仓库,接着输入git add .添加文件,输入git commit -m "第一周作业"提交至仓库。

通过git status查看是否还有需要提交的文件。

5、输入git remote add origin https://git.oschina.net/20175310xcy/hello_xcy.git,git push origin master即可上传文件到码云

- 问题4:
操作后发现不能上传成功,它显示远程:未找到存储库,我在网上看到输入git remote set-url origin git@github.com:20175310xcy/hello_xcy.git就可以,设置之后发现出现了新的问题,没有访问权限。

- 问题4解决方案:
在网上试了很多方法还是没用,最后我换了个办法,不用SSH,改用HTTP。直接克隆的话会显示Repository Not Found fatal: repository“http://git.oschina.net/20175310xcy/hello_xcy.git ”not found.之后我重新从上面的步骤1一步一步做下来,重新安装并配置了git,此时再次克隆就成功了。

三、调试教材上代码,并把代码上传到码云上
1、接下来,参考《代码驱动的程序设计学习》,新建一个体现自己学号姓名的文件夹

在该文件夹中输入mkdir 20175310CSAPP2E 建立教材的项目文件夹。根据C项目的规范,我们在20175310CSAPP2E文件夹下建立相应的文件夹:
src:存放源代码文件
include: 存放头文件
bin:存放编译后的目标文件、可执行文件等
lib:存放项目所需的静态库、动态(共享)库
res: 存放项目所需的图标、声音、图片等资源
docs: 存放项目相关的参考资料、帮助文档,比如大家的学习博客就可以放在这里

输入tree即可查看20175310CSAPP2E文件夹下建立的相应文件夹
- 问题5:
输入tree后显示未安装tree
- 问题5解决方案:
sudo apt install tree


2、用vi src/Hello.java编辑代码,输入以下程序:
1 public class Hello {
2 public static void main(String []args){
3 System.out.println("Hello Java World!");
4 }
5 }
此时输入tree就可以看到刚刚编辑的Hello.java文件。

3、接下来到src目录中使用javac Hello.java编译程序
- 问题6:
输入后发现javac还没安装无法编译

- 问题6解决方案:
按照下面给的提示输入了sudo apt install gcj-4.9-jdk

结果出现了下面的错误

从网上搜了回答,输入sudo rm /var/cache/apt/archives/lock和sudo rm /var/lib/dpkg/lock强制解锁,然后就可以安装啦

4、安装完成之后就可以编译运行啦

5、通过git add .,git commit把刚才的工作纳入版本控制,通过git push把文件上传到码云上。

6、到码云上,我们可以看到本地的代码已经上传到网站上了。

7、通过编译运行vim run.sh写一个脚本简化。
#!/bin/sh
javac -d bin src/Hello.java
cd bin
java Hello
cd ..
用chmod +x run.sh给脚本加上执行权限。脚本测试没有问题,使用git add .,git commit -m "add run script" 把脚本纳入版本控制中。

8、使用vim src/Hello.java编辑Hello.java代码,加入一行打印自己学号姓名的代码:
1 public class Hello {
2     public static void main(String []args){
3         System.out.println("Hello Java World!");
4         System.out.println("Hello 20175310xcy!");
5     }
6 }

代码托管

其他
第一次尝试以自学的方式学习编程,感觉难度较大,还需多加练习。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 6/6 | 2/2 | 30/30 | |
| 第二周 | 0/6 | 0/2 | 0/30 | |
| 第三周 | 0/6 | 0/2 | 0/30 | |
| 第四周 | 0/6 | 0/2 | 0/30 | 
20175310 《Java程序设计》第1周学习总结(2)的更多相关文章
- 20145213《Java程序设计》第九周学习总结
		
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
 - 20145213《Java程序设计》第二周学习总结
		
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
 - 20145213《Java程序设计》第一周学习总结
		
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
 - 21045308刘昊阳 《Java程序设计》第九周学习总结
		
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
 - 20145330孙文馨   《Java程序设计》第一周学习总结
		
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
 - 20145337 《Java程序设计》第九周学习总结
		
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
 - 20145337 《Java程序设计》第二周学习总结
		
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
 - 20145218《Java程序设计》第一周学习总结
		
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
 - 《Java程序设计》第九周学习总结
		
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
 - 《Java程序设计》第二周学习总结
		
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
 
随机推荐
- JAVA动态代理基础
			
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) 彻底理解JAVA动态代理 class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中. ...
 - AutoMapper在项目中的应用
			
一.先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领 ...
 - 如何在SpringMVC中使用REST风格的url
			
如何在SpringMVC中使用REST风格的url 1.url写法: get:/restUrl/{id} post:/restUrl delete:/restUrl/{id} put:/restUrl ...
 - 【读书笔记】iOS-网络-同步请求,队列式异步请求,异步请求的区别
			
一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...
 - HTML:target=_blank、target=_top、target=_parent、target=_self 的区别
			
HTML:target=_blank.target=_top.target=_parent.target=_self 的区别 _blank 在新窗口中打开链接_parent 在父窗体中打开链接_sel ...
 - Jquery 清除空白字符
			
$.grep(“jQuery数组”, function(n) { return $.trim(n).length > 0; }); /*仅过滤空数组,不过滤相同数组*/
 - php对文件的操作
			
如何让自己磁盘中的文件夹和目录显示在网页上?那就来看一下,用php是怎么来操作他们的吧 php中文件,一般包含两块内容,文件和目录先来一句一句的看代码,及他的作用 运行后看一下结果 file 指的是文 ...
 - RecyclerView-- 侧滑删除和拖动排序
			
实现这么个功能我们不需要再去继承RecyclerView,只需要去了解ItemTouchHelper这个类即可,接下来我们就去看看都有些什么 ItemTouchHelper.Callback 默认需要 ...
 - [iOS] Win8下在Vmware11中安装使用苹果系统OS X 10.10
			
近来因为人事变动,领导打算安排我做 iOS 的项目,所以需要花一些时间提前准备一下iOS相关的东西.因为自己手头上并没有 Mac(过年为了闲的时候能玩玩游戏买了联想,唉),想想不能只靠每天在公司的 ...
 - Paxos协议笔记
			
对Paxos协议的介绍,可以通过Leslie Lamport的<Paxos Made Simple>展开学习和了解.Paxos算法在允许失败的分布式系统环境下,实现系统一致性.失败的情况有 ...