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 ...
随机推荐
- RestfulAPI超简单入门
简单入门 REST -- REpresentational State Transfer,英语的直译就是"表现层状态转移" 是目前最流行的 API 设计规范,用于 Web 数据接口 ...
- 理解JVM之Java内存区域
Java虚拟机运行时数据区分为以下几个部分: 方法区.虚拟机栈.本地方法栈.堆.程序计数器.如下图所示: 一.程序计数器 程序计数器可看作当前线程所执行的字节码行号指示器,字节码解释器工作时就是通过改 ...
- 5月7日——采用第三方页面内容,但是顶部title使用自己的
---------> 由A页面进入我的页面 代码如下: (1)A页面下需要添加的代码 (2)我的页面下需要添加的代码 此处用到的语法为mui框架中的语法,可参照mui官方 ...
- pms前端结构
后台采用.net MVC框架,前端采用requirejs.整个系统页面布局基本不变,每个页面只改变Main_Content部分. 模板页cshtml: <!DOCTYPE html> &l ...
- Android--根据子控件的大小自动换行的ViewGroup
1.自定义ViewGroup /** * Created by Administrator on 2016/2/26. * * --------自动换行的ViewGroup----------- */ ...
- [iOS]圆形进度条及计时功能
平时用战网安全令的时候很喜欢圆形倒计时的效果,然后简单看了一下Android的圆形进度条,后来又写了一个IOS的.整体界面参照IOS系统的倒计时功能,顺便熟悉了UIPickerView的一些特性的实现 ...
- AForge.NET简介
AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器 ...
- HDFS hflush hsync和close的区别
HDFS的hflush,hsync和close有啥区别,分别做了什么 hflush: 语义是保证flush的数据被新的reader读到,但是不保证数据被datanode持久化. hsync: 与hfl ...
- Python通过LDAP验证、查找用户(class,logging)
定义一个类,用于初始化ldap连接,验证.查找用户等功能 # -*- coding: UTF-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...
- abp框架里使用Redis
首先引用 nuget Abp.RedisCache 在 appsettings.json加上Redis服务器配置 "RedisCache": { "ConnectionS ...