zoukankan      html  css  js  c++  java
  • 201621123031 《Java程序设计》第1周学习总结

    作业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进行输出。

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





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



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


    周次 总代码量 新增代码量 总文件数 新增文件数
    1 241 241 36 36
  • 相关阅读:
    Linux系统教程:设置GRUB菜单密码
    vimdiff的常用命令
    Zero-Copy实现原理
    解决业务代码里的分布式事务一致性问题
    用好这6个APP,学英语SO EASY!
    线程池调优
    理解select,poll,epoll实现分析
    时序图
    性能监控-TP理解
    sshd_config OpenSSH SSH 进程配置文件配置说明
  • 原文地址:https://www.cnblogs.com/cxf1404445126/p/7515858.html
Copyright © 2011-2022 走看看