20165223 《JAVA程序设计》第一周学习总结

教材学习内容总结

通过网站JAVA第一章视频教程、教材、老师所给的教程及网上查询进行学习

  • 第一章要点

    • JAVA地位和特点

      • 地位:网络、语言、需求地位
      • 特点:简单、面向对象、平台无关、动态
    • 安装JDK
      • 三个平台:JAVA SE、JAVA EE、JAVA ME
      • JAVA集成开发环境:IntelliJ IDEA、MyEclipse、NetBean…
      • 安装过程:下载安装包、安装、设置环境变量
    • JAVA应用程序开发步骤
      • 编写源文件、编译源文件、运行程序
    • 简单的java应用程序
      • 使用 java SE jdk 开发程序

教材学习中遇到的问题和解决过程

一、安装JDK

  • 安装过程及疑难

    • 第一次安装jre运行环境,更改路径如E:/jdk1.8,不要装在C盘里
    • 第二次提示安装的jre有别于第一次的jre,直接使用默认路径,并且安装后bin中没有javac编译器
    • 分开安装两个jre的原因:防止第二个jre把第一个jre覆盖。由于没有javac编译器,今后若卸载第一个JDK时,第二个jre仍存在,因此仍可以运行JAVA程序,但无法编译了
    • 设定jdk中javac的路径:搜索cmd打开命令行提示符,敲击javac发现无法使用,如图:

    • 设定环境变量:右击计算机-属性-高级系统设置-环境变量,点击系统变量-新建,变量名JAVA_HOME,变量值安装JDK的盘,如E:/jdk1.8,确定
    • 设定PATH:直接继续在系统变量菜单里找到PATH(一定存在),直接编辑更改%JAVA_HOME%\bin:\……即可,因此设置了JAVA_HOME之后PATH的更改变得容易

二、java程序编写步骤及难点

  • 编写源文件

    • 扩展名为.java
    • 使用文本编辑器(Edit或记事本)编写
    • 基本特点:书写形式上是由多个独立的类组成的,与先后顺序无关
    • 大括号独行习惯:{一般放在上一行的末尾,不用换行可以缩减行数;}必须独立占一行
    • 注意缩进,方便编写查看
    • 保存txt时,要注意以下四点
      • 第一是保存地址位置,需要另选一盘新建文件夹
      • 第二是文件名。若是单个类,则改成这个类的名字(英文).java;若有多个类组成且没有“public”公共类存在,选择某个类的名字(英文).java;若有public(有且只能有一个)则改成由public修饰的类的名字(英文).java
      • 第三是保存类型,选择所有文件
      • 第四是编码,默认ANSI
    • 源文件至多有一个public类
    • 注意大小写,输入法等
  • 编译源文件
    • 使用javac.exe(java编译器)编译源文件,得到字节码文件
  • 运行程序
    • 使用java SE平台中的java.exe(java解释器)解释执行字节码文件

虚拟机使用中遇到的问题和解决过程

一、安装Git

  • 在本机上安装

    • 由于大一时在信安协会已经初步安装过了git,因此很容易就在windows和linux下都安装上了git,但在主机Windows里设置环境变量的时候出现了一些问题(如图)

    • 新建设置完JAVA_HOME之后找到PATH,点击编辑发现出现了多条路径选择,后来发现直接点击右下角的编辑文本即可进入更改

    • 顺利安装并调试好了git

  • 在linux上安装

    • 直接输入安装命令:sudo apt-get install git
    • 输入配置指令:git config --global user.name "xxx"git config --global user.email "你的邮箱地址"
    • 完成安装与调试

二、使用vim编辑器编辑代码

由于我的虚拟机不知为何无法安装IDEA,因此这里先使用了vim编辑器完成学习,今后安装好后再另外补充

  • 方法步骤(举例)

    • 新建一个java文件:touch *.java
    • 进入vim编辑器编辑代码:vi *.java
    • 单击i进入编辑界面,编辑时注意缩进
    • 单击Esc退出编辑界面,输入:wq!保存并退出
  • 更多操作

三、编写并运行脚本文件

  • 通过vim编写脚本:vim run.sh
  • 给脚本加上执行权限:chmod +x run.sh
  • 测试脚本:./run.sh

  • 没有问题后进行提交

四、将本地代码提交到码云

  • 方法与步骤

    • 首先在Ubuntu上不要进入任何文件夹,直接克隆学习项目地址形成关联:git clone https://学习项目地址.git
    • 接着会在HOME中生成一个与学习项目地址一致的文件夹,如图

    • cd进入该文件夹,建立src和bin目录:mkdir src,mkdir bin
    • 进入vim编辑器编辑代码,保存后退出:vi src/*.java
    • 编译时直接将class生成在bin中:javac -d bin src/Hello.java
    • 执行:cd binjava *cd ..

    • 提交代码
      • git add .
      • git commit -m "输入文件名"
      • git push
      • 输入码云用户名和密码
      • 完成推送

  • 遇到的难题

  • git pull失败:查看是否有重复的文件,有就删去,再继续该步骤

  • git push失败:输入git pull --rebase origin master,再输入git push origin master即可

  • 出现合并冲突:这个仍然不太了解,参考了GIT中合并冲突决解勉强解决,需要进一步再理解

  • 此外在遇到各种问题的时候了解到git强大的分支概念,由于时间问题之后再深入探讨

代码托管

补充纠错:
由于上面忘了将在码云上提交的作业.doc拉回来,于是文档行数统计只有之前不小心git pull回来的2行。

在clone生成的文件夹内使用git pull后成功拉回文档,再次统计如下:

上周考试错题总结

对于程序代码完全不熟悉,稍微的一点小改动看不太出来或是挫人为另一情况导致答题错误。
详见博客:week1测试查漏补缺

感悟与思考

经过这一周的学习,我深刻的体会到了自己仍有很长的路要走。仅仅是安装虚拟机、jdk和git就已经让我感到困难,更不用说在实际操作过程中经常遇到的各种问题和错误提示。在遇到难题的时候我其实是有些害怕的,但在老师同学以及网络上许多大神教程的帮助下,仍然磕磕碰碰的走出了第一步。回顾这一周的学习,我看到自己从无到有的过程,以后也将继续努力,多练多学,掌握更多技巧。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 400小时
第一周 200/200 1/2 20/20

参考资料:

  1. Ubuntu下git的安装与使用
  2. 使用码云和博客云学习简易教程
  3. vim编辑器的使用教程
  4. JAVA第一章视频教程
  5. Git远程仓库的使用
  6. Ubuntu下安装jdk详解
  7. Linux Git使用教程
  8. Linux下实现文件上传至git
  9. 使用JDB调试java程序
  10. Intellj IDEA 简易教程

20165223《JAVA程序设计》第一周学习总结的更多相关文章

  1. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  2. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  3. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结

    丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  7. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

  8. 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...

  9. 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  10. 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结

    面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...

随机推荐

  1. 图片转字符画 【学习ing】

    1.创建ascii.py 2. 下面是 ascii.py 的完整代码: from PIL import Image import argparse #命令行输入参数处理 parser = argpar ...

  2. opencv2\core\cuda.hpp(106): error C2059: 语法错误:“常量”

    在 cuda.hpp 中, virtual void free(GpuMat* mat) = 0;   -> virtual void _free(GpuMat* mat) = 0;

  3. [转帖]KMS 是什么 以及 优缺点

    产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗? http://www.cnblogs.com/flowerslip/p/8370832.html ...

  4. SAP配置BOM的适用范围

    配置BOM中定义属性,单纯的编码要搞死人: 适合小批量周期短多品种

  5. VUE项目问题之:去掉url中的#/

    一.问题 使用VUE路由,项目的url总是带有锚点,如下: http://localhost:8082/#/ 二.解决 修改路由文件中 index.js 文件,即 src --> router ...

  6. Prism框架研究(三)

    这一篇主要用来介绍一下基于Prism Library中的核心服务以及如何配置Container,还有一个重要的部分是如何管理各个组件之间的依赖性,下面就这些内容来做一一的介绍. 1 Prism中的核心 ...

  7. Java多线程0:核心理论

    并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰.思维缜密,这样才能写出高效.安全.可靠的多线程并发程序.本系 ...

  8. 老男孩python学习自修第七天【包与模块】

    1.如何导入 from package import module module.function() 常用魔术方法 __init__.py 如果某个文件夹下面有该文件,则该文件夹是一个包,否则只是一 ...

  9. query中对应的OnSetText和onGetText事件

    今天在看代码的时候遇到一个问题,query中的某个字段和在表中显示的不是一个值,我觉得很奇怪,于是找了很久,才知道为什么,原来是query中的OnSetText和onGetText事件在作怪,经过一番 ...

  10. java、二维数组详解!

    /* java 二维数组的概念 使用方法! 1.什么是二维数组? 答案:数组的数组! 他的每一个元素都是数组!二维数组是(存储一维数组的)一维数组. 2.如何定义?(以二维数组为列) int arr[ ...