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 + 类名(必须把目录定位在类的文件夹下)

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

命令:

javap + 字节码文件名.class

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

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

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

或者

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

20165228 2017-2018-2 《Java程序设计》第1周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. CompareTo 基于的排序算法

    CompareTo 基于的排序算法(高级排序) 这个是今天学习MapReduce时发现的,自定义类后实现了WritableComparable<>接口后实现了接口中的compareTo方法 ...

  2. CP-ABE ToolKit 安装笔记(转载)

    博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...

  3. [LeetCode] 104. Maximum Depth of Binary Tree ☆(二叉树的最大深度)

    描述 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the l ...

  4. Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文

    Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文 ...

  5. Java文档注释导出帮助文档和项目的jar包导入和导出。

    1.1      文档注释导出帮助文档 在eclipse使用时,可以配合文档注释,导出对类的说明文档,从而供其他人阅读学习与使用. 通过使用文档注释,将类或者方法进行注释用@简单标注基本信息.如@au ...

  6. 转:Java工程师成神之路~(2018修订版)

    转: http://www.hollischuang.com/archives/489 阿里大牛珍藏架构资料,点击链接免费获取 针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所 ...

  7. 使用javassist进行动态编程

    今天在研究dubbo时,发现一个新的知识点,可以使用javassist包进行动态编程,hibernate也使用该包进行编程.晚上百度了很多资料,将它的特性以代码的形式展现出来. package com ...

  8. 学习笔记-AngularJs(六)

    在学习笔记-AngularJs(五),通过引入bootstrap.css进行改写整个样式,这时学习项目也变得好看多了,现在我们又需要目录再进行一次改变,如下图: 这样就符合之前讲的对学习目录进行布置了 ...

  9. day29-python阶段性复习三

    七.python打开文件方式 open r: 读的方式 w:已写的方式打开 a:以追加的方式 r+ 读写模式 w+ 读写 a+ 读写 rb:二进制读模式打开 wb:以二进制写模式打开 ab 二进制追加 ...

  10. OOP ⑴

    1.面向对象 类和对象的关系 类是我们在生活中,对身边的一系列事物,进行的不自觉的分类! 只是脑海中的一个印象! 在现实生活中,不存在! 存在的是我们这个印象的具体反映! 对象:用来描述客观事物的一个 ...