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. Java Hash集合的equals()与hashCode() 方法

    Java 集合实现类,无论是HashSet.HashMap等所有的Hash算法实现的集合类(后面简称Hash集合),加入的对象必须实现 hashCode() 与 equals() 方法,稍微不同的地方 ...

  2. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  3. eclipse中添加tomcat

    https://blog.csdn.net/Forlogen/article/details/54090335(copy) 为了Java Web的开发,下面我们来安装一下Tomcat服务器,并将其配置 ...

  4. C# Note22: 《Effective C#》笔记

    参考:<Effective C#>快速笔记(一)- C# 语言习惯 参考:<Effective C#>快速笔记(二)- .NET 资源托管 参考:<Effective C ...

  5. python学习笔记(12)--程序设计方法学

    计算思维: 逻辑思维:推演和演绎 实证思维:实验和验证,引力波->实验 计算思维:设计和构造,计算机为代表,汉诺塔递归. 计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解. ...

  6. 原 线程池中shutdown()和shutdownNow()方法的区别

    参考:shutdown和shutdownNow的区别 shutDown() 当线程池调用该方法时,线程池的状态则立刻变成SHUTDOWN状态.此时,则不能再往线程池中添加任何任务,否则将会抛出Reje ...

  7. idea创建maven项目的一点关键

    maven中的一些概念: POM:项目对象模型(Project Object Model),是项目的一些关键元信息的集合.主要包含项目管理信息.具体的项目描述.开发小组的构 成.源代码库(如CVS)和 ...

  8. ubuntu 完全卸载mysql

    卸载 sudo apt-get --purge remove mysql-common -y sudo apt-get --purge remove mysql* -y sudo apt-get au ...

  9. Python——管道通信

    管道:双向通信 2个进程之间相互通信 from multiprocessing import Pipe,Process def func(conn1,conn2): conn2.close() whi ...

  10. C-Lodop设置页面一加载就打印

    C-Lodop由于是服务不是np插件,调用打印语句(print或preview等)时机太早,在页面第一次加载完成后有几百毫秒时间等待WebSocket通讯服务准备完成,在没完成的时候会提示“C-Lod ...