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