作业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. iOS 双击tabbar刷新页面

    /*在继承UITabBarController控制器中*/ #pragma mark <UITabBarControllerDelegate> -(void)tabBarControlle ...

  2. springboot入门的一点基础

    什么是SpringBoot java问世20年由于,发展到现在从技术角度来说已经很成熟,开发过程中我们总是在想如何去提高团队开发规范性.减少重复配置.避免低效开发.部署发布时流程的复杂度以及第三方技术 ...

  3. jquery实例权威指南

    jquery的$(function(){}) 效率高于window.onload,前者页面框架加载完就执行,后者全部加载完毕且图片下载完毕后方可执行.且前者可以写多个,每次执行结果不同,后者的话尽管可 ...

  4. 【洛谷3047】[USACO12FEB]附近的牛Nearby Cows

    题面 题目描述 Farmer John has noticed that his cows often move between nearby fields. Taking this into acc ...

  5. [BZOJ2733] [HNOI2012] 永无乡 (splay启发式合并)

    Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...

  6. [BZOJ2761] [JLOI2011] 不重复数字 (set)

    Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...

  7. 【经验随笔】MYSQL表加锁升级导致数据库访问失败

    背景:有一次定位问题发现,在同一个session连接中对MYSQL部分表加锁,导致其它未加锁的表不能访问. 用Spring管理MYSQL数据连接,在多线程访问数据库的情况下容易出问题.一个线程中对部分 ...

  8. EF+Redis(StackExchange.Redis)实现分布式锁,自测可行

    电商平台 都会有抢购的情况,比如 1元抢购. 而抢购 最重要的 就是库存,很多情况下  库存处理不好,就会出现超卖现象. 本文将用redis为缓存,StackExchange 框架,消息队列方式 实现 ...

  9. QTcreator打包发布可运行程序(基于QT5.7)

    完成C++界面程序后,我们还需要对程序进行Release,然后进行打包,才可以直接运行.我在这期间绕了一个大弯,现在记录下来我的做法供参考. 正确步骤 第一步:将构建程序改为Release,然后构建项 ...

  10. Attrib +s +a +h +r 隐藏文件原理与破解

    制作了一个PE启动盘,不过这个启动盘不能深度隐藏,否则没效果,可以又想不让别人看见PE启动盘的一些内容,防止别人误删或者修改,于是就想找一种可以隐藏文件的方法,普通的隐藏文件的方法如下: