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. React Native之本地文件系统访问组件react-native-fs的介绍与使用

    React Native之本地文件系统访问组件react-native-fs的介绍与使用 一,需求分析 1,需要将图片保存到本地相册: 2,需要创建文件,并对其进行读写 删除操作. 二,简单介绍 re ...

  2. ajax设置默认值ajaxSetup()方法

    $(function(){ //设置全局 jQuery Ajax全局参数 $.ajaxSetup({ type:"POST", async:false, cache:false, ...

  3. Flutter之 LimitedBox、Offstage、OverflowBox、SizedBox详解

    1. LimitedBox A box that limits its size only when it's unconstrained. 1.1 简介 LimitedBox,通过字面意思,也可以猜 ...

  4. 用织梦建站如何去掉a这个目录,还有内容页的a

    1.另外建一个站点,将物理路径直接指向a即可. 2.去掉文章页生成的带a的路径: 只需要这一句话:  function='str_replace("/a","" ...

  5. oracle11g安装教程完整版

    来自: https://www.2cto.com/database/201701/588135.html 64位WIN7+oracle11g+plsql安装 1.下载Oracle 11g R2 for ...

  6. codeforces498C

    Array and Operations CodeForces - 498C You have written on a piece of paper an array of n positive i ...

  7. BZOJ5063旅游——非旋转treap

    题目描述 小奇成功打开了大科学家的电脑. 大科学家打算前往n处景点旅游,他用一个序列来维护它们之间的顺序.初 始时,序列为1,2,...,n. 接着,大科学家进行m次操作来打乱顺序.每次操作有6步: ...

  8. HBase读取与写入流程

    写入流程 读取流程 https://yq.aliyun.com/articles/670748?spm=a2c4e.11153940.blogcont684011.28.427e4648CTtaPL

  9. 【UOJ349】【WC2018】即时战略 LCT 动态点分治

    这是一道交互题 题目大意 有一棵\(n\)个点的树.最开始\(1\)号点是白的,其他点是黑的. 每次你可以执行一个操作:\(explore(x,y)\).要求\(x\)是一个白点.该函数会返回从\(x ...

  10. C# 获取变量或对象的栈与堆地址

    C# 获取变量或对象的栈与堆地址 来源 https://www.cnblogs.com/xiaoyaodijun/p/6605070.html using System; using System.C ...