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

时间:2023-12-24 22:35:25

作业01-Java基本概念


1.本周学习总结

1.本周学习内容:Java发展史(简述)、Java语言特点、JDK 、JRE 、JVM 、Java的开发步骤、Java开发工具。

2.关键概念之间的联系:Java语言是一种面向对象的程序设计语言,Java语言的语法简单并且它是一种跨平台的程序设计语言,在Java中编写的程序可以在不同的设备和平台上运行。在学习Java之前,我们必须要先搭建Java的开发环境,即要安装JDK,JDK是Java语言的开发工具包,其包含了Java运行环境JRE等,而JRE又包含了Java虚拟机JVM。安装完JDK还需配置其环境变量。另外,除了eclipse,Java程序还可以用记事本或notepad++来编写。

2.书面作业

1.虚拟机

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

1.使用命令行执行Java程序步骤:

①.在记事本中写好Java源程序

②.保存为.java类型

③.使用WIN+R打开命令行窗口

④.输入cd加上刚刚保存的Java程序的路径

⑤.输入javac 加上文件名将其转换为字节码文件

⑥.输入java加上文件名编译java程序(此时不用加后缀名)

2.使用eclipse执行Java程序步骤:

①.搭建Java开发环境并配置环境变量,安装eclipse(只需第一次)

②.点击File——New——Java Project新建Java工程

③.右击scr文件夹选择New——Class

④.输入类名与包名

⑤.编写代码

⑥.运行程序

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

JDK是Java语言的软件开发工具包,JDK包括了JRE(Java运行环境)Java的类库以及Java工具,JRE包括了JVM(Java虚拟机)以及Java核心类库。JVM是Java实现跨平台的核心,能够运行Java程序。

2.java与javac

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

java HelloWorld命令是用于编译Java程序,HelloWorld是指类名,即HelloWorld.class

2.2 Path变量有什么用?

Path变量是用于在使用javac将java源代码编译为.class文件时搜索指定的路径,在该路径中查看能否找到相应的命令程序。

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

Java语言:先是生成.java文件,后来编译生成.class文件。.

C语言:先是生成.cpp文件,随后是.o文件,最后是.exe文件。

3.实验总结

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

1.Java中的输入需要先导入Scanner类,方法为import java.util.Scanner。然后要生成Scanner对象,即输入Scanner sc = new Scanner(System.in);接着根据不同的输入对象选择不同的方法,若要输入字符串型则使用sc.next();若要输入int型则使用sc.nextInt();若要输入double型则使用sc.nextDouble();若要输入Boolean型则使用sc.Boolean();

2.格式化的输出以‘%’开头,然后根据需要进行替换。对于一些转换符如下所示,可使用System.out.println进行输出。

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

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

取数字主要用到的还是Java包装类中的Integer类来进行字符串与数字间的转换。其中toBinaryString()toHexString()toOctalString()方法可分别将值转换成二进制、十六进制和八进制字符串。在将数字单独抽取出来时用了数组的方法,之前想过用String类的chatAt()来实现,但是后来发现要将数字进行多次转换,觉得挺麻烦的,就改用了数组。对于负数还有先用abs函数将其转换为正数,然后再进行操作。

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

取数字浮点数先用了abs函数将其转换为正数再进行操作,本来原先的想法是想用int的强制转换来得到数字的整数部分,再将原先的浮点数减去整数得到小数部分的值,但是,在写完代码后发现,这种方法并不能成功,因为其中发生了精度的丢失,至于原因,在此引用一段我查阅的资料中的话来解释:

我们知道,计算机并不能识别除了二进制数据以外的任何数据。无论我们使用何种编程语言,在何种编译环境下工作,都要先 把源程序翻译成二进制的机器码后才能被计算机识别。以上面提到的情况为例,我们源程序里的2.4是十进制的,计算机不能直接识别,要先编译成二进制。但问 题来了,2.4的二进制表示并非是精确的2.4,反而最为接近的二进制表示是2.3999999999999999。原因在于浮点数由两部分组成:指数和尾数,这点如果知道怎样进行浮点数的二进制与十进制转换,应该是不难理解的。如果在这个转换的过程中,浮点数参与了计算,那么转换的过程就会变得不可预 知,并且变得不可逆。我们有理由相信,就是在这个过程中,发生了精度的丢失。

后来选择使用String类中的toCharArray()方法将其转换为字符数组,然后还是用到了Integer类进行字符与数字的转换,然后再通过遍历数组进行相加得到结果。

3.4 选做:5-4(开根号), 5-5(二进制的前导的零)

1.5-4(开根号)实验总结

这题的题目要求使用逐步逼近法对给定数值x求开根号。因此就不能用sqrt函数来实现。应使用pow函数来通过对步长进行平方运算来判断该数字是否为数值x的开根号的数值。每次算完一个数字的开根号值是要记得对步长进行清零。

2.5-5(二进制的前导的零)实验总结

这题步骤并不难,只需要不断将数值进行除二计算来获得二进制的位数,再用32减去其位数并进行输出即可,但是要注意的是,负数的第一位数为1,因此,负数的前导的零都为0。

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

第一、“企业级应用”:简单地说,就是大规模的应用,一般使用人数较多,数据量较大,对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求。

第二、桌面级应用:尤其是需要跨平台的桌面级应用程序。再就是java ME的手机游戏开发,现在这也是热门。

第三、嵌入式设备及消费类电子产品

内容 计划
一周花费时间 15小时以上
一学期代码量 7000行+吧,一周大概400行
学习方式 在理解老师上课讲的内容的情况下先完成老师布置作业,再去了解学习关于Java的其他的内容
处理问题 主要靠上网查找资料,尽量自己解决

3.使用码云管理Java代码

3.1 GIT使用

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

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

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

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

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

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

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

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

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

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

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

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

周次 总代码量 新增代码量 总文件数 新增文件数
1 241 241 36 36