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变量的作用是指定命令的搜索路径。当在命令框执行java
或javac
等命令时,会到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(二进制的前导的零)
本题中处理思路有两种:
- 直接将十进制数转化为32位的二进制数,再从左至右读取32位的二进制数,每读到一个
0
则加前导的零总数加一,直至读到打一个不为零的数; - 分类处理,当输入的十进制数为
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 |