1. 本周学习总结


本周主要学习了五个知识点

  • Java是面向对象的语言
  • JDK,JRE,JVM的联系
  • javac及java指令
  • Java跨平台运行的原理
  • 新概念:类,类是面向对象中的概念

2. 书面作业


1. 虚拟机

1.1 执行java程序的步骤是什么?为什么java程序可以跨平台运行?

Q1:执行java程序,首先要在记事本或Notepad++中编写好源代码并保存为".java"源文件,在命令框中执行javac命令后,生成“.class”的字节码文件,再执行java+类名命令,即可运行成功。

Q2:java之所以可以跨平台运行主要是因为".class"文件不是直接运行在操作系统上,而是运行在虚拟机(JVM)上,虚拟机是一个程序,可直接运行在各操作系统上,并执行“.class”字节码文件。

1.2 什么是jdk?jdk, jre, jvm的联系是什么?

Q1:JDK应该是Java Development Kit,是Java语言的软件开发工具包,没有JDK的话,无法编译Java程序。

Q2:三者的联系简单来说就是JDK包含JRE,JRE又包含JVM。


2. java与javac

2.1 java HelloWorld命令中,这条命令的含义是什么?HelloWorld这个参数指的是什么?

Q1:这条命令的含义是,执行类名为“HelloWorld”的字节码文件。

Q2:“HelloWorld”这个参数指的是一个类名。

2.2 Path变量有什么用?

path变量的作用是指定命令的搜索路径。当在命令框执行javajavac等命令时,会到path变量指定的路径中查找相对应的命令程序。

参考自默名守候的博客

2.3 使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?

使用Java编写程序保存的源代码文件后缀为“.java”,C语言保存的源代码文件后缀为“.c”;java运行的为后缀为“.class”的字节码文件,而C运行的是“.exe”的可执行程序。


3.实验总结(不得出现大段代码):

3.1 PTA中怎么处理输入?怎么进行格式化输出?

Q1:PTA中处理输入时,首先要import java.util.Scanner;导入Scanner类,之后通过Scanner sc = new Scanner(System.in);构造一个Scanner对象,并与System.in关联,实现控制台输入。而Scanner类中,next()nextLine()读取字符串,nextInt()nextFloat()读取整数和浮点数及通过hasNextXxx进行判断,nextDouble()读取浮点数及输入多个数字求总和平均数。

参考自墨子冰的博客

Q2:格式化输出时需使用代码段System.out.print();System.out.println();后者与前者相比在输出时会自行增加一个换行。若是直接输出字符串时,则需要以“”号包括,连续输出时中间需以+衔接。

3.2 5-2(取数字)实验总结。

该实验中进制转换模块可通过java的Integer类来直接实现转换。

String B = Integer.toBinaryString(a);
String O = Integer.toOctalString(a);
String H = Integer.toHexString(a);

而拆分数字模块我则是利用charAt()对输入的字符串一一检视,对符合ASCLL值在48~57区间内的位数字,取出来并存起来,转换类型为整形后相加,不符合的则直接舍去。

3.3 5-3(取数字浮点数)实验总结。

本题类似题5-2(取数字)的拆分数字模块,因而我用同样的思路,使用charAt()的方法,将数字取出,舍去符号,将字符转换为整形后在进行相加。

3.4 5-5(二进制的前导的零)

本题中处理思路有两种:

  1. 直接将十进制数转化为32位的二进制数,再从左至右读取32位的二进制数,每读到一个0则加前导的零总数加一,直至读到打一个不为零的数;
  2. 分类处理,当输入的十进制数为0时,则直接输出前导的零总数为32,非零时,则将转化获得的二进制数转为字符串类型,以str.length()读取该字符串长度,再以32扣除,即得到结果。

    本题中考虑到转为32位的二进制数较难,因而我采用的是第二种方法。

4.Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?

  • Java目前来说应用层面还是很广的,包括了安卓Apps,网站应用,软件工具,嵌入式领域以及大数据技术等领域。
目标 学有所成,不单单是应付考试
每周花费时间 当前阶段预估每周投入九小时以上
代码量预估 预估每周两百行以上,一学期4000多行
学习方式 理论实际多结合,多一些代码编写,不再片面只抓理论
解决困难 有困难找百度,解决不了的情况下咨询同学或是学姐、学长、老师

3.使用码云管理Java代码


3.1 GIT使用








3.2 截图题集“Java基本语法”PTA提交列表




3.3 使用学姐、学长开发的jar程序统计每周的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
1 90 90 5 5

201621123010 《Java程序设计》第1周学习总结的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 前端 html span标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 有关ros::spin()和ros::spinonce()若干感受

    ros::spinonce()一般与loop_rate.sleep()同时出现,用来控制处理回调函数的频率,并且没有消息就收来时,就会程序堵塞,不会占用CPU资源. ros::spin(),用于回调函 ...

  3. (1)R介绍

    1. R初窥 从CRAN(The Comprehensive R Archive Network)cran.r-project.org—mirrors.html中选择一个镜像,然后下载合适的安装包(R ...

  4. 小论“Boolean参数作为入参”的函数

    <Clean Code>一书中对于如何写好函数有着很动人的描写,其中对于函数参数的建议有如下两点: 函数参数的数量应该尽可能少 给一个一元函数传入bool类型的参数很"罪恶&qu ...

  5. Django RF:学习笔记(8)——快速开始

    Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...

  6. Linux内核分析 03

    一,构造一个简单的Linux系统MenuOS 1.Linux内核源代码简介 回顾一下前面的三大法宝和两把宝剑. arch/x86目录下的代码需要重点关注 阅读代码的时候把除了x86以外的都删掉会有利于 ...

  7. linux下如何kill tty终端

    答:一共有两个步骤,如下: 1.列出打开的终端 who 2.kill需要kill的tty终端 pkill -kill -t pts/2

  8. POJ 1185 炮兵阵地(状压DP)题解

    思路:和上一篇思路一样,但是这里要求最大能排几个,这里要开三维,记录上次和上上次的状态,再一一判定,状态转移方程为 dp[i][j][k] = max(dp[i][j][k],dp[i - 1][k] ...

  9. 2015-9-13 NOIP模拟赛 by hzwer

    好老的题了,但是还是很有做头的. 总结 不吸氧看来确实是没法用stl的啊(set常数太大了,开O2也没过) SPFA没认真学,觉得有堆优化Dijkstra就天下无敌了,今天负边权教我做人 于是苦逼的只 ...

  10. Android -- service 利用广播调用服务的方法

    1. 实现原理,在Service里面注册一个广播接收者, 想要调用的时候app发送出广播, 后台的service里面的广播接收者接收到广播,并调用service里面的方法. 2. 示例代码 MainA ...