项目javascript |
内容java |
这个做业属于哪一个课程c++ |
https://www.cnblogs.com/nwnu-daizh/web |
这个做业的要求在哪里数据库 |
|
做业学习目标小程序 |
|
第一部分:课程学习平台注册帐号浏览器
平台名称安全 |
注册帐号或者我的博客园地址服务器 |
|
博客园:www.cnblogs.com |
https://www.cnblogs.com/zyja/ |
|
程序设计评测:https://pintia.cn/ |
1911296608@qq.com |
|
中国大学MOOC: https://www.icourse163.org/ |
18419244307 |
|
如下回答是或否 |
||
是否加入课程班级博客群 |
是 |
|
是否加入课程QQ讨论群 |
是 |
|
第二部分:理论知识学习部分
第一章 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 applet
Applet 是一种 Java 程序。它通常运行在支持 Java 的 Web 浏览器内。由于它有完整的 Java API支持,因此Applet 是一个全功能的 Java 应用程序。
1.以下所示是独立的 Java 应用程序和 applet 程序之间重要的不一样:
a. Java 中 Applet 类继承了 java.applet.Applet 类。
b. Applet 类没有定义 main(),因此一个 Applet 程序不会调用 main() 方法。
c. Applet 被设计为嵌入在一个 HTML 页面。
d. 当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。
e. 要查看一个 Applet 须要 JVM。 JVM 能够是 Web 浏览器的一个插件,或一个独立的运行时环境。
f. 用户机器上的 JVM 建立一个 Applet 类的实例,并调用 Applet 生命周期过程当中的各类方法。
g. Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。
h. Applet 须要的其余类能够用 Java 归档(JAR)文件的形式下载下来。
2. Applet的生命周期
Applet 类中的四个方法给咱们提供了一个框架,你能够在该框架上开发小程序:
init: 该方法的目的是为你的 Applet 提供所需的任何初始化。在 Applet 标记内的 param 标签被处理后调用该方法。
start: 浏览器调用 init 方法后,该方法被自动调用。每当用户从其余页面返回到包含 Applet 的页面时,则调用该方法。
stop: 当用户从包含 Applet 的页面移除的时候,该方法自动被调用。所以,能够在相同的 Applet 中反复调用该方法。
destroy: 此方法仅当浏览器正常关闭时调用。由于 Applet 只有在 HTML 网页上有效,因此你不该该在用户离开包含 Applet 的页面后遗漏任何资源。
paint: 该方法在 start() 方法以后当即被调用,或者在 Applet 须要重绘在浏览器的时候调用。paint() 方法实际上继承于 java.awt。
3. "Hello, World" Applet:
下面是一个简单的 Applet 程序 HelloWorldApplet.java:
HelloWorldApplet.java 文件代码:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}
4. Applet安全设置
Applet访问网络,抛出异常:
java.security.AccessControlException: access denied (java.net.SocketPermission server1 resolve)
这个错误的通知你访问被拒绝。这就是说,因为 applet 程序试图在没有得到正确的权限的状况下访问系统资源,括号中代码表示,若要纠正这种状况,您须要一个向数据库所在计算机(主机名为server1) 授予 applet 访问权限的 SocketPermission。
解决办法:
建立policy策略文件,内容以下:
grant {
permission java.net.SocketPermission "server1", "resolve";
permission java.net.SocketPermission "127.0.0.1:8080", "connect, resolve";
};
将该文件保存成ASCII文件,命名为netconnect.policy,存于${JRE_HOME}/lib/security/目录下(主要是为方便后面路径填写)。
修改Java安全配置:
建立了策略文件后,修改${JRE_HOME}/lib/security/java.security文件,在
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
下添加一行
policy.url.3= file: ${java.home}/lib/security/netconnect.policy
再次访问页面的applet,又捕获到以下异常:
java.security.AccessControlException: access denied(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)
网络访问仍受限,不能访问服务器127.0.0.1:8080,在前面生成的策略文件中加入
permission java.net.SocketPermission "
10.6.1.16:1521", "connect, resolve";
再次访问,运行成功。
三:关于JAVA的误解
1:Java是HTML的扩展。
Java是一种程序设计语言;HTML是一种描述网页结构的方式。除了用于在网页上放置Javaapplet的HTML扩展以外,二者没有任何共同之处。既然说到了HTML就不得不提一下JSP了,JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,他是一个动态网页设计。咱们能够把JSP理解为是Java Servlet的扩展;
2使用XML,就不须要Java。
Java是一种程序设计语言;XML是一种描述数据的方式,可使用任何一种程序设计语言处理XML数据,而Java API对XML处理提供了很好的支持。此外,许多重要的第三方XML工具采用Java编写。
3.Java是一种很是容易学习的程序设计语言。
像Java这种功能强大的语言大都不太容易学习。首先,必须将编写玩具式程序,或者模仿他人的增删改与实际项目是的艰难区分开来。Java类库包含了数千种类和接口与几万个方法,要解决Java的实际问题,咱们仍是要了解很多内容的;
4.Java将成为使用与全部平台的通用性编程语言。
从理论上讲,这是彻底有可能的。的确,除了微软以外的每个厂商都但愿如此。然而,有不少在桌面计算机上已经彻底工做良好的应用程序,在其余设备上或浏览器中或许不能正常地工做。同时,在编写这些应用程序时,利用了相应处理器的速度和本地的用户接口库,并且他们已经移植到全部重要的平台上。这类应用程序包括:字处理程序,图片编辑器以及Web浏览器。他们一般是用C编写的,采用Java语言从新编写彷佛对最终的用户不会带来什么特别的好处。
5.Java只不过是另一种程序设计语言。
Java是一种很好的程序设计语言,不少程序设计人员喜欢Java赛过C,有上百种好的程序语言没有普遍的流行,而带有明显缺陷的语言,而Java和C却大行其道。这是由于程序设计语言的的成功更多的取决于其支撑系统的能力,而不是优美的语法。人们主要关注:是否提供了易于实现某些功能的易用,
便捷和标准的库。是否拥有强大的程序设计能力与调试工具,语言和工具是否可以与计算器的其余基础结构整合在一块儿Java的成功源于其类库可以让人们轻松的完成本来有必定难度的事情。
6.JAVA是专用的,应该避免使用
若是想在嵌入式系统中使用加瓦,就须要另一个不一样的许可,极可能须要付费,不过,这些专利在将来十年内就会到期,那是JAVA就彻底免费了
7.Java是解释型语言,所以对于关键的应用程序速度太慢了。
早起的Java是解释型的,如今除了像手机这样的微型平台以外。Java虚拟机使用了即时编译器,所以采用Java编写的热点代码其运行速度与c++相差无几。
如今今天的计算机速度远比人们发出抱怨的时候快了不少。一个较慢的Java程序与几年前至关快的C++程序还要快一些。如今的人们已经不抱怨Java程序慢了,而去抱怨Java的界面太丑了。
8.JavaScript是Java的简易版。
JavaScript是一种在网页中使用的脚本语言。它是由Netscape发明的,原来的名字叫作LiveScript.JavaScript的语法相似于Java,除此以外。二者无任何关系。固然名字有些想象。
9.交换程序是主要的安全风险。
10.使用JAVA,能够用廉价的internet设备取代桌面计算机。
第二章:JAVA程序设计环境
系统环境的配置
,使用鼠标右击“计算机”->属性->左侧高级系统设置->环境变量
系统变量->新建
变量名:JAVA_HOME变量值:
c:\ProgramFiles\Java\jdk1.8.0
系统变量->新建
变量名:CLASSPATH变量值:
.;%JAVA_HOME%\lib
系统变量->编辑
变量名:Path在变量值的最前面
加上:%JAVA_HOME%\bin;
选择JAVA开发环境
1.使用命令行工具2.使用集成开发环境
使用集成开发环境3.从文本编辑器中编译程序
主要学习了Java程序开发过程。和如何分析Java应用程序。
1:源程序的编辑:Java源程序是以•Java为后缀的文本文件,能够用各类Java集成 开发环境中的源代码编辑器来编写,也能够用文本编辑工具来编写。
2:源文件的命名:若是源文件中有多个类,那么只能有一个类是public类。 若是有一个类是public类,那么源文件的名字必须与这个类的名字彻底相同 。源程序文件的扩展名是.java 。若是源文件没有public类,那么源文件的名字只要和某个类的名字相同,而且扩展名是.java就能够。 源程序名必定为MyJavaApplication.java
第三部分 :实验部分
一、实验名称:实验一 Java程序设计环境
2. 实验目的:
(1)掌握JDK的安装与配置;
(2)掌握使用JDK开发Java程序的基本命令及步骤;
(3)熟练运用Elipse集成开发环境开发java程序的基本步骤
(4)掌握Java程序的基本语法。
3. 实验步骤与内容:
实验1 JDK的安装与配置
1):下载jdk10.0.2文件并进行安装,安装路径不会改变。
安装后的文件夹截图以下
2):进行环境变量的设置
步骤:此电脑-计算机-属性-高级系统设置-环境变量-path-新建文件夹-将如图所示的变量名粘贴
3):java -version 以下图所示,则环境变量设置成功
4):window+R
4):输入java
5):输入javac
6):下载安装eclipse软件包,页面以下
7):安装后设置工做空间后,截图以下
8):建立Java文件,截图以下
9):利用eclipse输出九九乘法表
10):代码以下:
package cfb.java;
public class welcome {
public static void main(String[] args) {
int sum;
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
sum=i*j;
System.out.print(j+"*"+i+"="+sum+" ");
}
System.out.println();
}
}
}
4:实验总结
1.经过第一章的学习,我大概了解了JAVA,知道了JAVA白皮书的一些关键术语,知道了一些JAVA的优缺点,并大体了解了JAVA applet,以及JAVA的发展简史,经过学习关于JAVA的常见误解,也解开了我对JAVA的一些疑惑。 2.经过第二章JAVA程序设计环境的学习,我知道了JAVA的开发工具JDK如何编译和运行,如何安装JDK,设置环境变量,还有eclipse的安装,也学会了使用命令行工具来运行JAVA程序,也知道了使用集成开发环境来运行JAVA程序。 3.JDK和eclipse安装好了之后就运行了第一个程序运行,Welcome.java,以及九九乘法表,增强巩固了一下运行的步骤以及过程。 4.学知识很难,但学会了仍是比较开心的,也同时感谢助教和老师的帮助。