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 |
201621123031 《Java程序设计》第1周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- Mybatis入门看这一篇就够了
什么是MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...
- Java高并发之从零到放弃
前言 本篇主要讲解如何去优化锁机制或者克服多线程因为锁可导致性能下降的问题 ThreadLocal线程变量 有这样一个场景,前面是一大桶水,10个人去喝水,为了保证线程安全,我们要在杯子上加锁导致大家 ...
- 【BZOJ3884】上帝与集合的正确用法(欧拉定理,数论)
[BZOJ3884]上帝与集合的正确用法(欧拉定理,数论) 题面 BZOJ 题解 我们有欧拉定理: 当\(b \perp p\)时 \[a^b≡a^{b\%\varphi(p)}\pmod p \] ...
- $CDQ$分治总结
A.\(CDQ\) 分治 特别基础的教程略. \(CDQ\)分治的优缺点: ( 1 )优点:代码量少,常数极小,可以降低处理维数. ( 2 )缺点:必须离线处理. \(CDQ\)分治与其他分治最本质的 ...
- [BZOJ1058][ZJOJ2007]报表统计
BZOJ Luogu 题目描述 Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一. 经过仔细观察,小Q发现统计一张报表实际上是维 ...
- 大文件视频断点续传插件resumabel.js,优化上传速度,缩短最后一片等待时长。
在angular中使用resumable.js遇到的一个问题:大视频上传到99-100%时,此时正在上传最后一片,最后一片的xhr一直是pending状态.原因插件会检查第一片和最后一片的元数据,检测 ...
- Ambari大数据的管理利器
概述 一个完全开源的管理平台,用于供应,管理,监控和保护Apache Hadoop集群.Apache Ambari客户管理和操作Hadoop集群 Apache Ambari作为Hortonworks数 ...
- c#多线程同步之Semaphore
一提到Semaphore(信号量)的使用,还挺有意思的,它允许多个线程同时访问多个稀有资源,我立马想到银行的ATM机取钱的场景.看下面的代码: ); public static void StartT ...
- 了解wireshark
Wireshark是很流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network lib ...
- 【转】UML的9种图例解析
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...