1. 本章学习总结
对于我们学计算机的学生而言,要想提高编程能力,只有多练习,把我们所学到的东西运用到实践中去,整天抱着书本冥思苦想而不动手到具体的环境中去试验是很难有所提升的。大一学C语言的时候平时没有多加练习,只觉得上可认真听就可以了,可是到了最后去具体实现一些功能的时候才发现自己无从下手。而通过这周的实践练习,掌握了JDD,JRE,JVM之间的关系,java语言可跨平台行的特点,java语言的发展历史,以及一些常用的语法。
2. 书面作业
1.虚拟机
1.1执行java程序的步骤是什么?为什么java程序可以跨平台运行?
答:编写java
程序,将文件后缀名改为.java
在命令行中输入javac 文件名
从而将.java
文件编译为.class
文件,再输入java 类名
将.class
文件转化为机器能理解的形式。
java
程序之所以能够跨平台执行关键在于JVM
。java
有属于自己的运行环境,即JVM
。我们知道不同的系统平台都有各自的JVM
,java
程序编译后将产成一个结构中立的.class
文件,而JVM
的作用是将这个.class
文件“翻译”为对应平台能够理解的形式。
1.2 什么是JDK?JDK,JRE,JVM有什么联系?
答:JRE
中包含了JVM
、Java SE API以及部署技术。JVM
包括在java
的执行环境中,若只是为了运行java
程序则需要安装JRE
。
JDK
中包含了JRE
及开发过程中的工具程序。要编译源代码文件则需要编译程序这样的工具程序,而JRE
中不包含这些工具程序,若是要开发java
程序则必须安装JDK
。
2. java与javac
2.1 java HelloWorld命令中,这条命令的含义是什么?HelloWorld这个参数指的是什么?
答:该命令的含义是启动JVM
将HelloWorld.class
该平台下机器能理解的形式。
HelloWorld
是类名。
2.2 path变量有什么用?
答:简单来讲path
变量作用就是设定执行命令的搜索路径。举个例子,当我们在命令行中输入javac HelloWorld.java
时内核就会到path
变量查找我们所设置的路径,如果找到就可以执行。补充:javac
在bin
目录下
2.3 使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?
答:对于C
来讲将过程是:.c
->.obj
->.exe
,即,编辑,编译,链接。
编辑就是我们通过键盘输入代码。
编译就是源程序转化为计算机能够识别的二进制语言;
链接是将编译产生的
.obj
文件和系统库链接装配成一个可执行的程序。
C
是不可以跨平台运行的。对于不同的平台有各自相应的编译器,而编译器将源程序编译为与平台有关的机器码。
对于java
来讲过程是:.java
->.class
,编译器编译的.class
文件是与系统平台无关的。
3. 实验总结:
3.1 PTA中怎么处理输入?怎么进行格式化输出?
答:输入:1.通过import java.util.Scanner
语句导入util
包
2. 通过Scanner sc=new Scanner(System.in)
语句建立一个扫描器
3. 以整形为例,int a=sc.nextInt()
输入一个整形,也可以是String,double...
格式化输出:用System.out.printf("%d",a)
语句。
3.2 7-2(取数字)实验总结
输入形式为String
- 进制转换时:
tmp = Integer.parseInt(pwd);
将字符转为数字
Integer.toBinaryString(tmp)
将十进制转为二进制
Integer.toOctalString(tmp)
将十进制转换为八进制
Integer.toHexString(tmp)
将十进制转为十六进制 - 数字抽取时:
String[] pwdArray = pwd.split("");
将字符串单独分开,遍历pwdArray
对于负号-
进行筛选,同时将字符转为数字累加,输出总和。
3.3 7-3(取数字浮点数)实验总结
基本思路同7-2
。主要用split
函数。
3.4 7-4开根号实验总结
输入形式为double
- 当
num<0
时直接输出NaN。 - 当
num>0
时:进入for
循环,运用逐步逼近法,设定i=0
步长为0.0001
,当满足条件num - Math.pow(i, 2) < 0.0001
时跳出循环,输出i
。
3.5 7-5二进制前导的零
基本思路:输入一个数num
若该数等于0
,直接输出32
,否则运用Integer.toBinaryString(num)
方法将该数转化为二进制存储在字符串str中,调用str.length()
获取字符窜长度。32-str.length()
即为结果。
4. Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?
- java应用:
桌面应用系统开发
嵌入式系统开发
电子商务应用
企业级应用开发
交互式系统开发
多媒体系统开发
分布式系统开发
Web应用系统开发
-
请描述一下你的技术基础(会什么语言,都写了多少行代码)
答:大一学过C语言,但是并不算真正意义上的会。具体写了多少行代码没统计过,代码量不多。 -
设定一个目标:
一周准备花多少时间? | 本学期总共要写多少行代码?平均到每周几行? | 准备采用怎样的学习方式 | 遇到困难打算怎样解决 |
由于大一的基础并不好,这学期学习java就要多花时间了,平时还有其他的课需要学习,但是java每天至少3小时。 | 我也不确定一学期具体写多少行,但是平时pta上的题目必须要写完,若有多余时间,会找其他题目练习。 | 要想提高编程能力只有多敲代码,用eclipse多实践,碰到要点记下来 | java学习过程中,要学会查阅API文档,学会自己思考,若自己解决不了,就去请教老师同学。平时多与同学交流,毕竟每个人都有思维的局限性。 |
3.1 GIT使用
3.2 PTA提交记录截图
3.3 使用学姐、学长开发的jar程序统计每周的代码量![
行数 | 新增行数 | 文件数 | 新增文件数 |
94 | 94 | 4 | 4 |