201871010121-王方《面向对象程序设计(Java)》第一周学习总结
项目 |
内容 |
这个作业属于哪个课程 |
https://www.cnblogs.com/nwnu-daizh/ |
这个作业的要求在哪里 |
|
作业学习目标 |
|
第一部分:课程学习平台注册账号
平台名称 |
注册账号或者个人博客园地址 |
|
博客园 |
||
程序设计评测 |
计师-王方-201871010121 |
|
中国大学MOOC |
15101327578 |
|
以下回答是否 |
||
是否加入课程班级博客博 |
是 |
|
是否加入课程QQ讨论群 |
是 |
第二部分:理论知识学习部分
第一单元
(一)第一部分主要对Java程序设计做了概述,包括Java程序设计平台,Java设计简史 以及Java“白皮书”的关键术语、关于Java的常见误解,熟练掌握这些基础知识会对我们今后在学习Java过程中有很大的帮助 。
(二)第二部分主要主要讲了Java“白皮书”的关键术语,包括以下几个部分的特性。
1.简单性
人们希望构建一个无须深奥的专业训练就可以进行编程的系统,并且要符合当今的标准惯例。因此,尽管人们发现C++不太适合,但在设计java的时候还是尽可能地接近C++,以便系统更易于理解。Java挑剔了C++中许多很少使用、难以理解、易混淆的特性。在目前看来,这些新特性带来的麻烦远远多于其带来的好处。的确,Java语言是C++语法的一个纯净版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。然而设计者并没有试图清除C++中所有不适当的特性。例如,switch语句在Java中就没有改变。如果你了解C++你就会发现可以轻而易举地转换到Java语法。以前,Java刚发布时,许多开发人员肯定觉得Java并不简单。很多年以后Java的开发环境才迎头而上。如今,Java发开环境已经远远超过了大多数其他编程语言的开发环境。简单的另一方面是小。能够在小型机器上独立运行的软件。随着时代的发展,现在已经适用于嵌入式设备。
2.面向对象性
简单来说,面向对象设计是一种程序设计技术。它的重点在于对象。举一个例子:有一个木匠想做一把椅子,一个有面向对象特点的木匠,他始终关注的是所制造的椅子,然后再关注所使用的工具;一个不具有面向对象特点的木匠,他首先考虑的是所用的工具。在本质上,Java的面向对象能力和C++是一样的。主要不同点在于,C++可以多重继承,在Java中取而代之的是更简单的接口概念。总的来说,就是Java先考虑的是结果,再考虑怎么实现它。
3.分布式
Java有一个丰富的例程库,到这里是不是想问例程库 是什么? 有什么用? 它是用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能通过URL打开和访问网络上的对象,它的编写程度就相当于我们访问本地一样。
4.健壮性
Java的设计目标之一就在于Java编写的程序可以具有多方面的可靠性。Java编译器能够检测许多在其他语言中仅在运行时才能检测出来的问题。至于第二点,对于以前需要花费几个小时才能检查出指针bug而引起的内存冲突的人来说,一定会爱上Java的这一特性。简单来说,健壮性是指出错了也能继续运行的能力。
5.安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精力。使用Java可以构建防病毒、防篡改的系统。从一开始,Java就设计成能够防范各种攻击,其中包括:* 运行时堆栈溢出时。如蠕虫和病毒常用的攻击手段。*破坏自己的进程空间之外的内存。*未经授权读写文件。 不过黑客已经擅长找出全体系结构实现中的小漏洞,Java安全模型没有原先预想的那么成功,不过我相信迟早有一天,它会出现奇迹的。
6.体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代码可以在许多处理器上运行。Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速地翻译成本地机器的代码。字节码可以实现了结构中立。
7.可移植性
因为Java有一个JVM(Java Virtual Machine)Java虚拟机,源程序*.java被编译成字节码文件,字节码是与平台无关的,是面向jvm编写的,而Jvm又有自己的一套指令系统,在不同的平台上jvm的指令也是不一样的,也就是说不同操作平台有自己的Jvm但是Jvm向上的字节码接口是与平台无关的,Jvm接口向下是与硬件有关的,jvm是个中间件,这样只要有字节码和Jvm,不管在任何平台都可以运行Java程序。全靠的是Jvm虚拟机,可以跨平台,这就是可移植性。
8.解释型
Java解释器可以在任何移植解释器的机器上执行Java字节码。由于链接是一个轻量级的过程,所以,开发过程也变得更加敏捷,更加具有探索性。它其实就是把做好的源程序翻译一句,然后执行一句,直至结束。特点:执行速度慢、效率低;依靠解释器、跨平台性好。javascript语言也是解释型的。
9.高性能
尽管现在我们对解释后的字节码的性能已经比较满意了,但在有些场合还需要更高的性能,这时候我们该怎么办呢?字节码可以在运行时刻 动态地 翻译成对应这个应用的特定CPU的机器码。
10.多线程
多线程可以带来更好的交互响应和实时行为。如今,我们非常关注并发性,现在我们不再追求更快的处理器,而是获得更多的处理器,而且要让它们一直保持工作。并发程序设计绝非易事,不过Java在这方面表现很出色,可以很好地管理这个工作;web编程因为时间不是很长,处理器则要花很长时间来等待服务器响应,需要并发程序设计来确保用户界面不会被冻住。
11.动态性
从各种角度看,Java与C或C++相比更加具有动态性。因为它能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而客户端却没有任何影响。在Java中找出运行时类型信息十分简单。
当需要将某些代码添加到正在运行的程序中时,动态性将是一个非常重要的特性。比如说:从网上下载代码,然后在浏览器上运行。如果使用C或C++,这确实难度很大,不过Java可以很容易实现程序的推演。(C#与Java有很多相同之处,不过使用的虚拟机却是完全不同的)。
(三)第三部分主要讲了Java小程序与网络之间的关系,书上也为我们举了例子。另外这里也为我们简述了Java的发展背景与历程,还有我们习惯性的对Java的一些误解,比如说Java是HTML的展开,或者说使用XML,所以不需要Java。这些都是常见的对Java只是的误解。所以这更加鞭策我们要深入的学好这门知识。
第二单元
(一)第二单元主要讲了Java程序社会环境,其中包括安装Java开发工具包,运行图形化应用程序,运行命令行工具,使用集成开发环境。
(二)安装Java环境开发包
(1)短语JDK的安装与配置;
(2)使用JDK开发Java程序的基本命令和步骤;
(3)掌握elipse集成开发环境开发Java程序的基本步骤;
(4)Java程序的基本语法。
(三)分析JDK的安装步骤及配置
(1)首先下载老师发布在2018计师(1)OO群里文件,下载完成后点击打开安装,然后按照安装步骤依次点击下一步进行安装,在下载过程中不需要改变下载路径。
(2)下载完成后依次点开计算机(或此电脑)在C盘-Program Files-Java里就可看到jdk-10.0.2,(如图,此时表明JDK已安装)
(3)安装完成后,需要对系统环境变量进行重新配置,右键点击计算机(或此电脑)—属性—高级系统设计就可以对系统环境变量进行重新编辑。这时有些电脑会存在不一样的情况,比如以下情况应当按照这种步骤点击开始键—控制面板—系统与安全—系统—高级系统设置也同样可以对系统环境变量进行设置。
(4)点击(高级系统设置)中的(环境变量)然后找到path;单击path,然后点击编辑出现变量名和变量值;
(5)仔细观察看变量值尾部是否有分号,有则不管,没有的话要编辑分号(记住这里输入必须换成英文输入法!!!,即分号是英文的)
(6)点击计算机(此电脑)—C盘—Program Files—java—jdk10.0.2—bin,然后再网址栏点击出现蓝色网址进行复制(Ctrl+c)并将其粘贴在带有分号的变量值后面,点击确定。此时环境变量已重新配置。
(7)安装好之后这时去检测是否配置好。检测方法为按win+r,编辑cmd,点击回车键,出现运行框,依次对Java、Javac进行检测。
此时表明jdk已安装配置完成。
(四)下载教材示例程序包
(1)同样在 2018计师(1)OO群找到老师发的corejava.Zip这个文件压缩包,单击下载。
(2)等待下载完成后将其进行解压到D盘。
(五)命令行编译运行Welcome.java程
(1)同之前的Java检测环境一样,先输入D按回车键;
(2)输入Javac Welcome.Java,会显示文件出现在D盘;
(3)再次输入Java Welcome点击回车键即可出现目的指令。
(六)下载安装eclipse集成开发软件包
(1)首先在班级群里下载老师上传的文件,点击下载。等待下载完成后,出现以下界面 ,点击第一个进行下载。
(2)在选择下载路径时记得不要放在C盘,避免电脑出现超负荷。然后选择INSETALL,然后点击LAUNCH,等待加载完成即可。然后点击eclipse,出现welcome界面即可。
如图所示
(七)利用eclipse开发程序输出九九乘法表
(1)打开eclipse,设置正确的工作空间。
(2)创建Java新的工作项目,编辑名称,敲击代码,进行运行,检查结果。如图所示
课程心得:在这次课程当中,我们通过亲手操作,掌握了一点点有关Java知识的内容,虽然学的这些内容比较简单,但是这一定程度上大大激发了我们对这门课程的兴趣,让我们体会到Java知识方面的乐趣。在上课过程中通过老师的讲解和两位学长的帮忙,我们更加顺利的开启了这门课程的学习之路。当然,通过这次作业,我知道自己在这方面还有很多的不足,希望以后可以好好学习,有不会的知识及时向老师请教。
201871010121-王方《面向对象程序设计(Java)》第一周学习总结的更多相关文章
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20175221 2018-2019-2 《Java程序设计》第一周学习总结
20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线 ...
- 20165223《JAVA程序设计》第一周学习总结
20165223 <JAVA程序设计>第一周学习总结 教材学习内容总结 通过网站JAVA第一章视频教程.教材.老师所给的教程及网上查询进行学习 第一章要点 JAVA地位和特点 地位:网络. ...
- 20165203 2017-2018-2 《Java程序设计》第一周学习总结
20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...
- 20155217 2016-2017-2《java程序设计》第一周学习总结
20155217 2016-2017-2<java程序设计>第一周学习总结 浏览教材,根据自己的理解每章提出一个问题 java平台和java编程语言的区别? 怎样使用IDE来管理原始码与位 ...
- 20155226 2016-2017-2 《Java程序设计》第一周学习总结
20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...
- 20155227 2016-2017-2 《Java程序设计》第一周学习总结
20155227 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 Java三个平台的区别. JDK.JRE.JVM区 ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20155327 2016-2017-2 《Java程序设计》第一周学习总结
20155327 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 1.JAVA SE中JVM,JRE与JDK分别是什 ...
随机推荐
- pandas 过滤
条件过滤 通过loc进行行过滤,也可对过滤后的行进行赋值 import pandas as pd df = pd.DataFrame({"name": ["yang&qu ...
- spring4 学习4 spring MVC+mybatis+Mysql
在前面搭建的基础上,引入新的jar包如下: aopalliance-1.0.jaraspectjweaver-1.8.8.jarmybatis-3.3.0.jarmybatis-spring-1.2. ...
- SSM框架之SpringMVC(5)文件上传
SpringMVC(5)文件上传 1.实现文件上传的前期准备 1.1.文件上传的必要前提 A form 表单的 enctype 取值必须是: multipart/form-data(默认值是:appl ...
- 从0系统学Android--3.1编写UI界面
从0系统学Android--3.1编写UI界面 本系列文章目录:更多精品文章分类 本系列持续更新中.... 界面设计和功能开发同样重要,界面美观的应用程序不仅可以大大增加用户粘性,还能帮我们吸引到更多 ...
- JDK环境变量配置遇见的错误以及解决办法
cmd中输入java -version错误信息: An error has occurred while processing the shared archive file.Unable to un ...
- nova安装与配置
一.实验目的: 1.理解nova服务在OpenStack中的作用 2.掌握在控制节点上安装配置nova的方法和步骤 3.掌握在计算节点上安装与配置nova的方法和步骤 二.实验步骤: 1.在contr ...
- Java学习关于setContentPane()和getContentPane()的应用
http://www.java-gaming.org/topics/active-rendering-in-j2me/25240/view.html
- 使用python解析ip地址
前言 想要批量将ip地址转换为省份城市.国家或是经纬度?百度上的批量查找每次的容量太小满足不了要求?第三方库神器 - geoip2帮你解决所有烦恼. 准备工作 首先安装一下geoip2库, pip i ...
- C++如何使用宏定义来简化代码性能测试 | cpp macro like function to implement a performance profiler
本文首发于个人博客https://kezunlin.me/post/65dc693d/,欢迎阅读最新内容! cpp macro like function to implement a perform ...
- java 与 iOS 平台概念比较
java oc/swift jvm iphone jre runtime? jdk ios SDK spring xcode 生成的应用模版 服务器(tomcat) 系统的事件调度派发部分 class ...