20165228 2017-2018-2 《Java程序设计》第1周学习总结

20165228 2017-2018-2 《Java程序设计》第1周学习总结

教材学习内容总结

  • JAVA程序的组成:多个书写独立的类组成,class后为类名,类名后的{ }里为类体
  • JAVA语言的特色:面向对象;平台无关;动态;安全;稳定;多线程
  • JAV语言的最大优点:编写的软件能在执行码上兼容
  • 运行JAVA编写的软件要求平台提供JAVA运行环境
  • 编写规则:
    代码里不能有中文符号
    独行风格:其中“{”在一行的末尾,“}”在独立的一行。类体前缩进3-4个字符
    源文件名: “源代码中某个类名”.java 好比Hello.java
    规则:若是源文件代码里有public class公共类(源文件里至多一个PUBLIC类),则文件名只能取为 公共类名.java
    Java虚拟机首先执行类中的main方法
    保存类型:全部文件
    编码:ANSI(其余编码编译器没法识别)
  • 编译源文件:将源文件转化为字节码文件(字节码不能被任何平台直接识别、执行)
    cmd命令行:
    cd  回到当前所在盘的根目录
    >cd 1000: 进入当前目录下的1000文件夹下
    cd.. :表示回退到上一目录
    编译命令:
javac + 源文件名.java
  • 运行程序
    判断主类:类体中的main前面有 public static void main(String args[])
    注意:主类与类名前是否有public无关,可以开始运行的类即为主类
    运行命令:
java + 类名(必须把目录定位在类的文件夹下)

反编译:将编译器获得的字节码文件还原为源文件,不能编译出方法的内容,能编译出方法的类名
命令:html

javap + 字节码文件名.class

反反编译:能给源代码加密java

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

  • 问题1:有不少次在运行*.class类程序时,而后提示找不到主类
  • 问题1解决方案:每次使用java运行命令时,定位路径到class文件的目录下。
  • 问题2:对于源代码中含有包时,如何处理?
  • 问题2解决方案:
javac -d. Hello.java
java 包名.文件名

或者git

package 包名:
mkdir 包名
mv Hello.class 包名
java 包名.Hello

-问题3:学习git过程当中我遇到了不少困难找不到命令或者解决方法
-问题3解决方案:我参考了经常使用 Git 命令清单以及码云平台git相关帮助文档
-问题4:使用git推代码的时候老是出错,我尝试重建仓库后显示branch类的问题
问题4解决方案:
尝试过编程

git push origin master
git push -f origin master

强推也失败,最后经过克隆的方式解决问题。数组

代码调试中的问题和解决过程

  • 问题1:为何例1源文件名是Hello而不是Student?
  • 问题1解决方案:当类中有Public类时,源文件名必须起为“Public类名.java”
  • 问题2:一个Java源文件编译获得的多个class类文件是否都能运行?
  • 问题2解决方案:只有主类才能够运行,不然不可运行。
  • 问题3:在敲print内容中含有汉字时会发现偶尔会编译失败
  • 问题3解决方法:我花了不少时间进行代码比对,发现代码中含有中文符号。在敲完汉字时马上切换为英文符号,javac没法识别中文符号。
  • 问题4: 使用Vi编辑的时候将汉字改为英文就能成功编译,改回汉字就会提示编码 GBK 的不可映射字符
  • 问题4解决办法:还未解决安全

    代码托管

    第一周测试错题总结

    有关第一周测试的一些知识点,我在前面已经总计了一部分
    如下是错题:
  • 下列说法错误的是 B
    A . 字节码不能被任何平台直接识别、执行。
    B . C/C++源程序所产生的可执行文件在全部平台上都能被执行。
    C . Java语言和其余语言相比,最大的优点就是编写的软件能在执行码上兼容。
    D . 不管哪一种编程语言编写的应用程序,都须要通过操做系统和处理器完成程序的运行。
    解析:不能保证C/C++源程序所产生的可执行文件在全部平台上都能被执行,由于不一样平台可能具备不一样的机器指令
  • ava编译器和Java解释器位于src中,所以编辑系统变量时,为Path添加的新值是“E:\JDK1.8\src”。
    A . true
    B . false
    解析:位于bin中。
  • 下列关于Java程序开发步骤的描述,正确的是
    A . 课本P9的程序Hello.java,若将第三行System.out.println(“你们好!”);改成System.out.print(“你们好!”);,运行结果不变。
    B . 使用命令提示符编译源文件时,能够用“-source”参数指定版本。
    C . 编译产生Hello.class文件,运行时可以使用“java Hello.class”命令。
    D . 运行时,java命令后是该java源文件的名字(不包括扩展名)。
    E . 反编译是把编译器获得的字节码文件还原为源文件。
    A项:考察println()和print()的区别。println为换行输出。C项:P12:在运行程序时,不能够带有扩展名。D项:P13:java命令后必须是主类的名字(不包括扩展名)。
  • public static void main (String args[ ])中的“main”和“args”都不可随意修改。
    A . true
    B . false
    解析:args为数组名称,可任意指定。多线程

    其余(感悟、思考等,可选)

    感悟:经过本周的学习,对Java语句的组成和程序的编译运行等方面有了一些初步的认识。在全部学习中,课本和教学视频提供给了我预习的机会,结合娄老师在课堂上的演示,对于不少操做都能十分明了。而后在课后的敲代码中巩固了所学的知识,尤为是在初学的时期,提供的帮助十分明显。因此我计划天天或者两天按期敲代码来学习Java。编程语言

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 25篇 400小时
第一周 235/235 1/1 15/15
相关文章
相关标签/搜索