201621123010 《Java程序设计》第1周学习总结

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使用

1121053-20170916160841907-214432364.png
1121053-20170916160855922-1724269851.png
1121053-20170916160928172-778211977.png
1121053-20170916160934985-857920380.png


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

1121053-20170916161010578-1293832514.png
1121053-20170916161017766-1928736151.png


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

1121053-20170916173340157-1487456164.png

周次总代码量新增代码量总文件数新增文件数
1909055

转载于:https://www.cnblogs.com/Fogram-c/p/7531626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值