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/locksudo 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

最新文章

  1. 对Google cloud platform 做了点研究
  2. 《zw版·Halcon-delphi系列原创教程》 酸奶自动分类脚本(机器学习、人工智能)
  3. 大学生IT博客大赛最技术50强与最生活10强文章
  4. [js笔记整理]DOM 篇
  5. SpringMVC注解@RequestMapping之produces属性导致的406错误
  6. hack查询地址
  7. Linux查看本机IP:curl cip.cc
  8. vue获取地址栏传过来的参数VS原生js获取地址栏的参数
  9. django 静态css js文件配置
  10. springboot-day01-引入如何读取配置文件以及helloWorld
  11. MySQL中的数据约束
  12. asp.net mvc2+nhibernate实体类映射问题之“尝试创建Controller类型的控制器时出错请确保控制器具有无参数公共构造函数”
  13. Spark2 Linear Regression线性回归
  14. 用C链表实现约瑟夫环问题
  15. 802.11 ------ Beacon帧、Beacon Interval、TBTT、Listen Interval、TIM、DTIM
  16. mybatis----Integer = 0 刷选不出来条件原因以及sql改法
  17. js 获取url的get传值函数
  18. log在无法调试代码时的妙用
  19. 标注点(Labeled Point)
  20. ubuntu下如何控制风扇速度?

热门文章

  1. Netty中消除开始的日志消息修改日志级别
  2. JS中那些让人头昏眼花的弯子
  3. 服务注册中心Eureka vs Zookeeper vs Consul
  4. Linux命令行介绍
  5. SpringMVC 文件上传(Multipart)
  6. jQuery同步Ajax带来的UI线程阻塞问题
  7. iframe页面刷新问题
  8. 原生JSON解析
  9. ViewPager中切换界面Fragment被销毁的问题
  10. windows7下搭建python环境并用pip安装networkx