201871010104-陈园园 《面向对象程序设计 (java)》第一周学习总结
201871010104-陈园园 《面向对象程序设计 (java)》第一周学习总结
项目 | 内容 |
这个作业属于哪个课程 | https://www.cnblogs.com/nwnu-daizh/ |
这个作业要求在哪里 | https://www.cnblogs.com/lily-2018/p/11441372.html |
作业学习目标 |
|
第一部分:课程学习平台注册账号
平台名称 | 注册账号或者个人博客园地址 |
博客园:www.cnblogs.com | https://www.cnblogs.com/chanyeol1127/ |
程序设计评测:https://pintia.cn/ | cyybx |
中国大学MOOC:https://www.icourse163.org/ | 17339824297 |
以下回答是或否 | |
是否加入课程班级博客群 | 是 |
是否加入课程QQ讨论群 | 是 |
第二部分:理论知识学习部分
第一章 Java程序设计概述(由书本可知)
1、 java程序设计平台
“作为一种计算机语言,Java的广告词确实有点夸大其辞。”然而,Java的确是一种优秀的程序设计语言。作为一名名副其实的程序设计人员,使用Java无疑是一个好的选择。有人认为:Java将有望成为一种优秀的程序设计语言,但还需要一个相当长的发展时期。一旦一种语言应用于某一个领域,与现存代码的相容性问题就摆在了人们的面前。”
Java原先是有sun公司开发的,有许多非常优秀的特性。Java并不只是一种语言,Java是一个完整的平台,有一个庞大的库,其中包含了许多重要的代码和一个提供诸如安全性以及自动垃圾吸收等服务的执行环境。
与许多其他优秀的语言一样,Java完全满足了这些要求。Java具备所有的特性,它是一种功能齐全的出色语言,是一种高质量的执行环境,还提供了一个庞大的库。正是因为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力。
2、 Java“白皮书”的关键术语
1)简单性
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有很多相同之处,不过使用的虚拟机却是完全不同的)
3、Java发展简史
第二章 Java程序设计环境
jdk的下载与设置将在第三部分中说明。其次,学习了安装源库文件和文档:
库源文件在JDK中以一个压缩文件src.zip的形式发布,必须将其解压缩后才能够访问源代码。
使用命令行工具:javac程序是一个Java编译器,它将文件welcome.java编译成welcom.class。Java程序启动Java虚拟机。虚拟机执行编译器发在class文件中的字节码。
编译器需要一个文件名(Welcome.java),而在运行程序时,只需要指定类名(Welcome),不要带扩展名.java或.class。
使用集成开发环境:下载安装eclipse解压缩到你选择的位置,执行这个zip文件中的eclipse程序(详细安装过程将在第三部分在中说明)。
第三部分:实验部分
1. 实验名称:实验一 Java程序设计环境
2. 实验目的:
(1)掌握JDK的安装与配置;
(2)掌握使用JDK开发Java程序的基本命令及步骤;
(3)熟练运用Elipse集成开发环境开发java程序的基本步骤
(4)掌握Java程序的基本语法。
3. 实验步骤与内容:
实验1 JDK的安装与配置
1)首先根据班级群里老师发的 jdk-10.0.2_windows-x6...bin.exe下载文件,然后根据助教的知道进行安装。
2)安装完成后,出现如下位置的文件。
3)进行环境配置,修改环境变量。使用鼠标右击“我的电脑-属性-高级设置-环境变量-系统变量-编辑-新建-变量名”。
4)根据如下步骤找到路径,添加变量名后配置好环境变量。
5)然后按win+R组合键,会出现以下界面,去验证是否配置好,是否可以运行。
实验2下载教材示例程序包
1)在班级课程群里找到老师下发的文件corejava.zip进行下载。
2)然后进行解压,解压完成后才能使用。
实验3 命令行编译运行Welcome.java程序
1)将文件直接解压至D盘,并找到如下代码。
2)按键盘上的window键+R键,输入cmd,回车结束,进入dos。输入D:,转入D盘;输入javac Welcome.java,编译程序,得到运行结果。
实验4 用JDK命令行开发HelloWorld!程序
1)代码
public class Welcome
{
public static void main(String[] args)
{
String greeting = "HelloWorld!";
System.out.println(greeting);
for (int i = 0; i < greeting.length(); i++)
System.out.print("=");
System.out.println();
}
}
2)运行结果如下
实验5 下载安装Eclipse集成开发软件包
1)在班级群里面找到eclipse-inst-win64.exe,点击下载第一个或者第二个。
2)安装过程中可能会出现问题,此时就自己去网上下载,可能是这个安装包不适用的问题,下载完成后,按照步骤一步步进行安装,安装的时候尽量不要装到C盘,直到出现welcome to eclipse 的页面为止,说明安装完成了。
实验6 利用Eclipse开发程序输出九九乘法表
1)安装完成后,设置eclipse工作空间,建立Java文件夹。
2)代码如下
package welcome;
public class welcome { public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+'\t');
}
System.out.println();
}
}
}
3)运行结果如下
4.实验总结:
本节课是第一节java实验课,也是首次接触java,之前只是听说java是一种语言,但通过第一周的学习,慢慢了解到了java也是一个非常优秀的平台。本节课学习了java的发展简史,此外,学习的重点是JDK的安装与使用,以及环境配置,还有eclipsede的安装于使用,
在eclipse的配置过程中,出现了一些安装不良的问题,但是在助教的帮助下页顺利得到了解决。其次就是在不同的开发环境下程序的运行步骤也是非常重要的环节。总之,在助教的帮助下,此次学习过程是愉快的,同时,也为我学习java打下了良好的基础。
201871010104-陈园园 《面向对象程序设计 (java)》第一周学习总结的更多相关文章
- 20165218 2017-2018-1 《Java程序设计》第一周学习总结
20165218 2017-2018-1 <Java程序设计>第一周学习总结 教材学习内容总结 第一章.Java入门 1. Java特点 Java具有简单.面向对象.平台无关.多线程.动态 ...
- 《Java程序设计》 第一周学习总结
20175313 <Java程序设计>第一周学习总结 教材学习内容总结 了解Java的四个特点 学习JDK的安装以及系统环境变量的设置 掌握Java源文件命名.编译.运行 熟悉git的常用 ...
- 20175314 《Java程序设计》第一周学习总结
20175314 <Java程序设计>第一周学习总结 教材学习内容总结 除了学院统一购买的<Java 2 实用教程(第5版)>我还在网上买了一本<Head ...
- 20175126《Java程序设计》第一周学习总结
# 学号 20175126 <Java程序设计>第一周学习总结 ## 教材学习内容总结 - 1.安装了WINDOS系统的JDK,并学会了利用JDK编写并编译JAVA程序的基本方法. ...
- # 20165225 《Java程序设计》第一周学习总结
20165225 <Java程序设计>第一周学习总结 1.视频与课本中的学习: 首先是为了运行和开发Java分别安装了JRE和JDK,具体做法在老师给的<Java2 实用教程(第五版 ...
- 20165215 2017-2018-2《Java程序设计》第一周学习总结
20165215 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 跟随网课学习了<Java2 实用教程>的第一章,进行了基础的编译练习 在Ubun ...
- 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地位和特点 地位:网络. ...
随机推荐
- mysql 排它锁之行锁、间隙锁、后码锁
MySQL InnoDB支持三种行锁定 行锁(Record Lock):锁直接加在索引记录上面,锁住的是key. 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变.间隙锁是针对事务 ...
- Prometheus学习系列(七)之Prometheus PromQL说明
前言 本文来自Prometheus官网手册1.2.3 和 Prometheus简介1.2.3 PromQL操作符 一.二元操作符 Prometheus的查询语言支持基本的逻辑运算和算术运算.对于两个瞬 ...
- VisualStudio编译不生成xml、pdb文件的方法
我们为了减少发布/Release时项目的体积,希望在编译时不生成xml注释文档(包括引用的其他类库),和pdb调试文件 用你喜欢的文本编辑器打开项目.csproj文件,找到PropertyGroup节 ...
- MySQL相关参数总结
保留个原文链接,避免被爬虫爬了过去,以便后续更正补充:https://www.cnblogs.com/wy123/p/11273023.html MySQL参数繁多,是一个需要根据具体业务.软硬件环境 ...
- 第十六届浙江大学宁波理工学院程序设计大赛 D 雷顿女士与分队hard version(dp)
题意 链接:https://ac.nowcoder.com/acm/contest/2995/D来源:牛客网 卡特莉接到来自某程序设计竞赛集训队的邀请,来为他们进行分队规划. 现在集训队共有n名选手, ...
- 10. Vue - axios
一.预备知识 1. JS面向对象 特点:ES5之前用构造函数方式,构造函数就是一个普通函数,它的函数名大写. 构造函数的问题:方法不会提升至构造函数内,而是每创建一个对象,就要把那个方法保存在每个对象 ...
- Pro Micro
选择这块Arduino板主要是因为它便宜(淘宝上20元左右搞定),引脚相对较多,体积小,而且其使用的处理器核心ATmega32U4(兼容Arduino Leonardo)可用于模拟HID设备,可以配合 ...
- MyBatis核心对象之StatementHandler
MyBatis核心对象之StatementHandler StatementHandler ResultHandler ParameterHandler Executor org.apache.iba ...
- javascript 代替jqueryeach写法
javascript 代替jqueryeach写法 // 通过字面量方式实现的函数each var each = function(object, callback){ var type = (fun ...
- 分布式文件服务器FastDFS的使用
分布式项目中涉及到的文件上传与下载,此时使用之前的上传方式,将上传的文件与当前项目所在服务器放在同一个位置,显然不符合分布式项目的理念,此时我们借助FastDFS将上传的文件数据存储到单纯的一个服务器 ...