201621123016《Java程序设计》第1周学习总结
1. 本周学习总结
- 本周的学习内容:java的发展历史,java程序设计环境,java简单语法。
- java与c++一样是一门面向对象的程序设计语言(相比于c++它是一门更彻底的面向对象的程序设计语言)。java自从1966年发布便引起人们的极大关注。到现在java版本已经出到java8了。java的每个版本的发展都是在前一版本的基础上加以发展,所以令其学习旧版本的程序员可以快速适应新版。我们要安装java程序设计环境时,要到java的官网下载jdk即java开发工具箱 ,在安装时你会看到java SE,java EE,java ME。其中java SE是其标准版。当然你可能看到jre,这是java运行时用户使用的软件。最后是java的一些简单语法。它的许多语法是从c/c++学习过来的,所以在有C语言基础的情况下,可以很快了解java的一些简单语法。
2. 书面作业
1. 虚拟机
-
1 执行java程序的步骤是什么?为什么java程序可以跨平台运行?(请自己组织语言回答,不要直接照搬网页参考资料,如有引用请使用>标记,否则-5分)
1.执行java程序的步骤是什么- 打开txt文本,在其中写入java的代码。
- 把txt后缀改为java
- 在window处输入cmd打开命令行窗口
- 进入刚才保存文件的位置接着输入javac 文件名.java生成字节码文件
- 输入java 文件名执行命令
- 当然如果直接使用java的集成开发环境,在编好代码后便只需在开发环境的界面中点run运行。
2.为什么java程序可以跨平台运行
java在执行命令时是把文件生成.class的字节码文件,之后才由jvm(虚拟机)解释给本机电脑执行。所以不同电脑只要安装有java程序环境便可以通过虚拟机解释为电脑的语言,从而运行程序。
-
2 什么是jdk?jdk, jre, jvm的联系是什么?
1.什么是jdk
jdk:java开发工具包,只有在安装好jdk后才能编译运行java的程序
2.jdk, jre, jvm的联系是什么
jdk包含了jre而jre包含了jvm。
2.java与javac
-
1 java HelloWorld命令中,这条命令的含义是什么?HelloWorld这个参数指的是什么?
java HelloWorld用来编译运行HelloWorld文件,其中HelloWorld在java的程序中是一个类名。 -
2 Path变量有什么用?
Path变量可执行文件的搜索路径
在要编译java的文件时,若配好了环境变量,系统会通过Path变量找到其相应的命令再执行。
- 3 使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?
使用java编写的程序在生成的中间文件为字节码文件class,其要通过虚拟机的解释才能在计算机上执行,最后生成java文件。用C语言编写的程序编译时会生成.o的中间文件,接着生成exe文件,这可以直接在计算机上运行。
3.实验总结
-
1 PTA中怎么处理输入?怎么进行格式化输出?
-
在使用java的输入时要添加
import java.util.Scanner
接着定义输入变量Scanner in=new Scanner(System.in)
便可完成输入。当然如果不愿加impor语句直接使用java.util.Scanner in=new java.util.Scanner(System.in)
也是一样的。之后只要使用in里的函数便可以对不同类型变量进行输入。 -
使用格式化输入时,使用
System.out.printf()
函数,这个函数的用法与C语言是一样的。所以我们可以通过"%"控制不同格式的输出。当然也可以使用在System.out中包含的其它输入函数。 -
2 5-2(取数字)实验总结。
在输入时用string类型记录要输入的整数,之后使用Integer.parseInt()
函数把字符串类型转化为整形,接着用函数Integer.toBinaryString()
,Integer.toOctalString()
,Integer.toHexString()
分别把其转化为二进制字符串、八进制字符串、十六进制字符串输出。
输出String的字符时,可以使用String.charAt()取出单个字符。在对其单个字符对应的值求和时每次都要减去48(我是使用ascii码计算的)
for(int i=0;i<c.length();i++)
{
if(c.charAt(i)>='0'&&c.charAt(i)<='9')
{
d=(int)c.charAt(i);
d=d-48;
add=d+add;
}
}
-
3 5-3(取数字浮点数)实验总结。
取浮点数的这题我用的方法是与上面的相同,所以这里我不在多加描述。 -
4 选做:5-4(开根号), 5-5(二进制的前导的零)
-
5-4(开根号)
for(;a-b*b>0.0001;b=b+0.0001)
{
}
System.out.printf("%.6f\n",b);
- 5-5(二进制的前导的零)
这个只要b=Integer.toBinaryString(a);
把整数改为二进制字符串,接着用32减去b的长度便得到a的二进制的前导的零。
4.Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?
java主要在网络网页开发,安卓软件等方面有较大的优势
我在这门课的目标是在我学完java的课程后能够单独编写一个完整的网站。
内容 | 计划 |
---|---|
花费时间 | 每天两小时 |
代码量 | 每周350行代码 |
学习方式 | 除了理解老师上课讲的知识,更多还要花时间自学 |
处理问题 | 自己多想一想,不行上网查找,再不行才问老师 |
3.使用码云管理Java代码
-
1 GIT使用
-
2 截图题集“Java基本语法”PTA提交列表
-
3 使用学姐、学长开发的jar程序统计每周的代码量
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
1 | 625 | 625 | 99 | 99 |