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. PHP优化与提升

    一.十个不错的建议 1.使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里.这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 ...

  2. 【Python3练习题 015】 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?

    a = [100]  #每个‘反弹落地’过程经过的路程,第1次只有落地(100米) h = 100  #每个‘反弹落地’过程,反弹的高度,第1次为100米 print('第1次从%s米高落地,走过%s ...

  3. Oracle NVL空值处理函数

    --NVL空值处理函数 --需求:显示价格表中业主类型ID为1的价格记录 如果上限值为null,则显示9999999 ) from dual; select * from t_pricetable ) ...

  4. MyBatis映射文件3(参数处理Map)

    参数命名 POJO 如果多个参数,正好是业务逻辑的数据模型,那么我们就可以直接传入POJO,这样#{}中就可以直接使用属性名 Map 如果多个参数不是业务逻辑的数据模型,没有对应的POJO,为了方便, ...

  5. switch-case和if-else可互换时

    当switch-case和if-else可互换时,应当优先采用switch-case.因为switch-case的效率更高(详情下回分解).

  6. Keras和tensorflow的区别

    参考: https://blog.csdn.net/zhangbaoanhadoop/article/details/82111056

  7. re正则表达式-1

    匹配/查找/替换/分割函数: import re re.match('aa','aabbcc') 返回对象中span为开始位置和结束位置 re.match('aa','bbaacc') #返回值为No ...

  8. Prism框架研究(三)

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

  9. saltstack一

    Saltstack概述 Salt一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线, 使其可以 ...

  10. 设计模式笔记:简单工厂模式(Simple Factory)

    1. 简单工厂模式简介 1.1 定义 简单工厂模式:定义一个Factory类,可以根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类. 简单工厂模式:只需要一个Factory类. 简单工厂模 ...