作业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

201621123031 《Java程序设计》第1周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 【CJOJ P1333】【HNOI2012】矿场搭建

    [HNOI2012]矿场搭建 Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖 ...

  2. USACO08MAR Land Acquisition

    斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <s ...

  3. Java的深拷贝和浅拷贝

    关于Java的深拷贝和浅拷贝,简单来说就是创建一个和已知对象一模一样的对象.可能日常编码过程中用的不多,但是这是一个面试经常会问的问题,而且了解深拷贝和浅拷贝的原理,对于Java中的所谓值传递或者引用 ...

  4. react ( 二 )

    ref属性 当我们在 react组件中要访问真实的DOM元素时,你可能需要用到ref属性,ref接收一个函数作为属性值,函数接收一个参数,这个参数就是真实的DOM元素.真实的DOM元素渲染到页面上之后 ...

  5. SQL Server将自己的查询结果作为待查询数据子列之二

    嵌套子查询是SQL语句中比较常用的一种查询方法,开发过程中遇到查询需要将自己的某列作为待查询的数据,在参考别人的SQL语句的写法终于实现了自己需要的功能. 不太和谐查询语句如下: SELECT DIS ...

  6. oracle 12c 安装指南(各种问题总结)

    下一学期要学习数据库的知识,趁着敲代码之余,安装著名的oracle来放松一下 1.首先从官网下载安装包http://www.oracle.com/technetwork/database/enterp ...

  7. Matcher类的简单使用

    今天工作时遇到一个问题, 用正则处理html标签时不知该如何下手.还好有Matcher帮助解决了问题. 需求如下: 例如有如下html文章内容: <p><a href="w ...

  8. Unity 网格合并

    从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer, ...

  9. WordPress添加个性化的博客宠物的方法

    在很多的网站上都看见过这种效果,于是自己也想试试.看见我网站上的小宠物了吗,就是这种效果. 不多说,方法如下: 工具: 下载地址:http://yunpan.cn/cFUmZB8WWthty 访问密码 ...

  10. RDP 拒绝服务攻击

    先看一下百度百科怎么定义的 靶机ip  Win7: 192.168.123.19 Win7开远程桌面,为方便测试 需关闭防火墙 kali打开msf 进入  use auxiliary/dos/wind ...