javaweb知识点总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

javaweb知识点总结
篇一:javaweb期末复习知识点整理
1、 Web应用概述
1. URL与URI
URL: 统一资源定位器
URI:统一资源定位符
2. 常见HTML标签
3. 表单的处理
4. 静态文档与动态文档的概念:静态文档是一种以文件的形式存放在服务器端的文档,客户发出对该文档的请求,服务器返回这个文档。

动态文档是指文档的内容可根据需要动态生成,又可分为服务器端动态文档和客户端动态文档技术。

5. Servlet概念:服务器端小程序,是使用ServletAPI 以及相关类编写的java程序,主要用来扩展web服务器的功能。

6. 处理404错误:查看给定的路径名是否正确,查看Servlet类文件是否在classes目录下,查看文件内容是否正确,查看tomcat是否启动
2、 Servlet技术模型
1. Servlet的API:包,包
Servlet接口及方法 :
1) public void init(ServletConfig config):完成Servlet初始化并准备提供服务。

容器传给该方法一个ServletConfig类型的参数。

2)public void service(ServletRequest req,ServletResponse res)throw ServletException,IOException:对每个客户请求容器调用一次该方法,它允许Servlet为请求提供响应。

3) public void destroy()该方法由容器调用,指示Servlet清除本身,释放请求的资源并准备结束服务。

4) public ServletConfig getServletConfig()返回关于Servlet的配置信息,如传递给init()方法的参数。

5) public String getServletInfo()返回关于Servlet 的信息,如作者,版本及版权信息。

ServleConfig接口作用及方法
HttpServlet类 :新的service方法,doGet,doPost HttpServletRequest接口及常用方法
HttpServletResponse接口及常用方法
2. Servlet的开发步骤
编写一个Servlet类
编译
部署
(1)在tomcat的虚拟目录下,创建Web目录
(2)将编译好的.class文件复制到Web目录的WEB-INF\classes目录
(3)修改配置文件WEB-INF\
(4)启动tomcat
运行
3. Servlet的执行过程
1) 用户通过单击超链接或提交表单向容器请求访问Servlet,容器分析这个请
求,创建request和response两个对象
2) 容器根据请求的URL找到正确的Servlet,为这个请求创建一个线程对象(每
次请求都创建一个线程)
3) 容器调用Servlet的service方法,把请求和响应对象作为参数传递给该方法
4) 调用Servlet的doGet()或doPost()方法
5) 向客户发送响应:Servlet使用相应对象获得输出流对象,调用有关方法将
响应写给客户,响应通过容器发送给浏览器。

4. Servlet的生命周期
加载实例化Servlet——初始化Servlet(init)——为客户提供服务(service)——销毁Servlet(destroy)
5. 分析请求
http请求结构:请求行——请求头——空行——数据
get方法与post方法的对比
public String getParameter(String name)
public String[] getParameterValues(String name) public Enumeration getParameterNames()
6. 请求转发
RequestDispatcher dispatcher=(location);
Dispatcher. forward(request, response)
7. 发送响应
响应结构:状态行——响应头——空行——响应数据
(“text/html;charset=gb2312”);
PrintWriter out=();
响应重定向:(“URL”); return;
响应重定向与请求转发的比较:forward()方法转发请求是服务器端控制权的转向,客户端地址栏中不显示转发后的资源地址。

sendRedirect()方法是服务器向浏览器发送一个特殊的响应,它使浏览器连接到新的位置,浏览器地址栏可看到地址的变化。

使用重定向,资源不能位于WEB-INF目录下。

页面错误:
200表示请求成功,404表示页面没有找到,500表示服务器内部错误
3、 Servlet容器模型
1. Web应用程序的部署
(1)在tomcat的虚拟目录下,创建Web目录
(2)将编译好的.class文件复制到Web目录的WEB-INF\classes目录
(3)修改配置文件WEB-INF\
(4)启动tomcat
2. 理解Web应用程序的部署描述文件
下面的代码展示了在部署描述文件中元素的一个典型的使用:
helloServlet 定义Servlet名称
指定Servlet类的完整名称
向Servlet传递的初始化参数,可以定义多个
email
hacker@
定义一个映射
HelloServlet
/Hello
3. ServletConfig
得到ServletConfig接口对象的方法:
ServletConfig config = getServletConfig();
覆盖Servlet的init方法。

ServletConfig接口共定义了下面4个方法:
public String getInitParameter(String name):返回指定名称的初始化参数值(是从DD文件中取出)public Enumeration getInitParameterNames ()
public String getServletName() :返回DD文件中的名称 public ServletContext getServletContext():返回Servlet所在上下文对象
4. ServletContext接口
使用RequestDispatcher实现请求转发
ServletRequest的getRequestDispatcher()方法,可以传递一个相对路径,
ServletContext的getRequestDispatcher()方法只能传递以“/”开头的路径。

通过ServletContext对象共享数据
4、会话管理
1. 会话管理
理解会话的基本思想和管理机制了解会话对象HttpSession及常见方法
调用获取HttpSession对象:
HttpSession session = (true);
将信息存入会话
public void setAttribute (String name, Object value)
查找与会话相关联的信息
public Object getAttribute(String name)
public Enumeration getAttributeNames()
public void removeAttribute(String name)
使用HttpSession对象通常需要三步:
(1)为客户创建或获得与请求关联的会话对象;
(2)在会话对象中添加或删除名/值对属性;
(3)如果需要可使会话失效。

2. 通过Cookie(一小段文字信息)支持会话
Cookie类的常用方法:getName、getValue、setValue、setMaxAge和getMaxAge;
向客户端发送Cookie
创建Cookie对象
Cookie c = new Cookie("username", "hacker");
将Cookie放入到HTTP响应中
(c)
从客户端读取Cookie
Cookie[] cookies = ();
if (cookies!=null){
for(int i = 0;i Cookie cookie = cookies[i]; if(().equals(cookieName))
cookieValue = ();
}
}
3. URL重写与隐藏表单域
重写正在重定向的URL
调用encodeRedirectURL( )方法
(
(http://localhost/store/catalog)
在HTML页面中,可以使用下面代码实现隐藏的表单域:
5、 JSP技术模型
1. JSP基本语法
JSP 指令:page指令、include指令和taglib指令 JSP 声明:理解和的区别 JSP小脚本
JSP表达式
JSP 动作:jsp标准动作、JSTL中的动作、用户自定义动作
jsp标准动作包括、、、、、
JSP注释
2. JSP页面生命周期
理解JSP的执行过程
浏览器访问一个jsp页面,服务器端的web容器将jsp 转换为servlet,并处理执行此servlet中的相关内容,产生响应结果,然后再由web容器将响应结果返回客户端浏览器。

理解JSP页面转换
理解JSP页面的生命周期
页面转换——页面编译——加载类——创建实例——调用jspInit()方法——调用_jspService()方法——调用jspDestroy()方法
3. 理解page指令属性
page指令用于告诉容器关于JSP页面的全局属性,该指令适用于整个转换单元而不仅仅是它所声明的页面。

语法格式如下:
[ language="java" ]
[extends=""]合法的实现了接口的java类
[ import="{ | package.*},..." ] 导入在jsp中使用
的java类和接口
[ contentType="mimeType [;charset=characterSet]" |
"text/html; charset=ISO-8859-1" ] 指定输出类型
[ session="true | false" ] 指定jsp是否参加http 会话
[ buffer="none | 8kb | sizekb" ] 指定输出缓冲区的大小
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relativeURL" ] 用相对URL指定另一个jsp页面来处理错误
[ isErrorPage="true | false" ]指定是否要用另一个jsp页面来处理错误 %>
4. JSP隐含变量(内置对象)
JSP 有以下九种内置对象,包括:
request,请求对象(是HttpServletRequest的隐含变量)
篇二:javaweb基础知识整理
一、 TOMCAT服务器的安装与配置
1.常见服务器:
WebLogic(BEA)、webSphere(IBM)、Tomcat(Apache)的下载与安装
下载地址:http:///
安装目录不能包含中文和空格
JAVA_HOME环境变量指定Tomcat运行时所要用的jdk所在的位置,注意,配到目录就行了,不用指定到bin。

端口占用问题:netstat -ano命令查看端口占用信息
Catalina_Home环境变量:启动哪个tomcat由此环境变量指定,如果不配置则启动当前tomcat,推荐不要配置此环境变量。

的目录结构
bin--存放tomcat启动关闭所用的批处理文件
conf--tomcat的配置文件,最终要的是
*实验:修改,更改tomcat运行所在的端口号,从8080改为80
lib--tomcat运行所需jar包
logs--tomcat运行时产生的日志文件
temp--tomcat运行时使用的临时目录,不需要我们关注webapps--web应用所应存放的目录
work--tomcat工作目录,后面学jsp用到
4.虚拟主机
一个真实主机可以运行多个站,对于浏览器来说访问这
些站感觉起来就像这些站都运行在自己的独立主机中一样,所以,我们可以说这里的每一个站都运行在一个虚拟主机上,一个站就是一个虚拟主机。

配置虚拟主机
在中标签下配置,其中name属性指定虚拟主机名,appBase指定虚拟主机所在的目录只在中配置Hosts,还不能使其他人通过虚拟主机名访问站,还需要在DNS服务器上注册一把,我们可以使用hosts文件模拟这个过程。

默认虚拟主机:在配置多个虚拟主机的情况下,如果浏览器使用ip地址直接访问站时,该使用哪个虚拟主机响应呢?可以在标签上设置defaultHost来指定。

应用
web资源不能直接交给虚拟主机,需要按照功能组织用目录成一个web应用再交给虚拟主机管理。

应用的目录结构
web应用目录
| - html、css、js、jsp静态资源和JSP文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到
| - WEB-INF 可以没有,但是最好有,如果有则一定要保证他的目录结构是完整的。

放置在WEB-INF目录下的所有资源浏览器没有办法直接进行访问。

| - classes动态web资源运行时的class文件要放在这个目录下。

| - lib 动态web资源运行时所依赖的jar包要放在这个目录下。

| - 整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行。

文件的作用
某个web资源配置为web应用首页将servlet程序映射到某个url地址上为web应用配置监听器
*实验:配置一个web应用的主页
应用的虚拟目录映射
在的标签下配置如果path=""则这个web应用就被配置为了这个虚拟主机的默认web应用。

在tomcat/conf/引擎名/虚拟主机名之下建立一个.xml文件,其中文件名用来指定虚拟路径,如果是多级的用#代替/表示,文件中配置,如果文件名起为则此web应用为默认web应用。

这种配置方式不需要重启服务器,推荐。

直接将web应用放置到虚拟主机对应的目录下,如果目录名起为ROOT则此web应用为默认web应用。

如果三处都配置默认web应用则 > config/.../ > webapps。

杂项
(1)打war包:方式一:jar -cvf * 方式二:直接用
压缩工具压缩为zip包,该后缀为.war。

(2)通用context和通用,所有的都继承子conf/,所有的都继承自conf/
(3)reloadable让tomcat自动加载更新后的web应用,当java程序修改后不用重启,服务器自动从新加载,开发时设为true方便开发,发布时设为false,提高性能。

(4)Tomcat管理平台,可以在conf/下配置用户名密码及权限。

6.作业
配置一个这样一台虚拟主机,其中包含news应用和mail 应用,news应用中有一个。

实现在浏览器中输入直接看到中的芙蓉姐姐。

二、HTTP协议
协议概述
HTTP协议用于定义客户端与web服务器通迅的格式。

HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议
HTTP使用请求-响应的方式进行传输,一个请求对应一个响应,并且请求只能是由客户端发起的。

HTTP协议的版本:HTTP/、HTTP/,其中一次请求发起一次连接,响应过后连接自动断开。

里每次请求响应后连接将保持一段时间,这段时间内可以再执行请求响应。

一次请求对应一次响应,请求只能由客户端发出,服务器只能被动的等待请求做出响应
请求
请求行
GET /books/ HTTP/
请求方式请求的资源名所遵循的协议
请求方式:GET、POST
七种请求方式: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
其中GET方式在请求资源的URL后跟“参数名=参数值&参数名=......”方式传递参数,传输的数据内容最大为1K 其中POST方式在请求实体中传输数据。

除了用Form表单明确用method指定用post方式提交数据以外,其他的方式都是GET提交方式。

3.请求头
Accept: text/html,image/* 客户端可以接受的数据类型 Accept-Charset: ISO-8859-1 客户端接受数据需要使用的字符集编码 Accept-Encoding: gzip,compress 客户端可以接受的数据压缩格式 Accept-Language: en-us,zh-cn可接受的语言环境 Host: :80 想要访问的虚拟主机名If-Modified-Since: Tue, 11 Jul XX 18:23:51 GMT 这是和缓存相关的一个头,带着缓存资源的最后获取时间
Cookie 会在后面讲会话技术的时候单讲 Connection: close/Keep-Alive 指定是否继续保持连接 Date: Tue, 11 Jul XX 18:23:51 GMT 当前时间
4.实体内容
响应
状态行
HTTP/ 200 OK 格式: HTTP版本号状态码原因叙述状态码: 200:请求处理成功 302:请求重定向 304、307:服务器通知浏览器使用缓存 404:资源未找到 500:服务器端错误
若干响应头
Location: /retype/zoom/c9e01eb3ad02de80d5d8408bpn=4&x=0&y=0&r aww=714&rawh=450&o=jpg_6_0_______&type=pic&aimh=&md 5sum=5f1aeb36827b79d9dd7580820c9628bc&sign=75ae5466 a6&zoom=&png=0-3033&jpg=0-23380" target="_blank">点此查看
的生命周期
生命周期的概念:一件事物,什么时候生,什么时候死,以及在其生存阶段的某一时点会触发的事件,统称为该事物的生命周期。

Servlet的生命周期:
通常情况下,服务器会在Servlet第一次被调用时创建该Servlet类的实例对象(servlet出生);一旦被创建出来,该Servlet实例就会驻留在内存中,为后续请求服务;直至web容器退出,servlet实例对象才会被销毁(servlet 死亡)。

在Servlet的整个生命周期内,Servlet的init 方法只有在servlet被创建时被调用一次。

而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。

对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。

servlet被销毁前,会调用destroy() 方法。

接口的继承结构
Servlet接口:定义了一个servlet应该具有的方法,所有的Servlet都应该直接或间接实现此接口
|----GenericServlet:对Servlet接口的默认实现,通用Servlet,这是一个抽象类,其中的大部分方法都做了默认实现,只有service方法是一个抽象方法需要继承者自己实现
|----HttpServlet:对HTTP协议进行了优化的Servlet,继承自GenericServlet类,并且实现了其中的service抽
象方法,默认的实现中判断了请求的请求方式,并根据请求方式的不同分别调用不同的doXXX()方法。

通常我们直接继承HttpServlet即可。

5. Servlet的注意事项
注册
由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在文件中使用元素和元素完成。

元素用于注册Servlet,它包含有两个主要的子元素:和,分别用于设置Servlet
的注册名称和Servlet的完整类名。

一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:和,分别用于指定Servlet 的注册名称和Servlet的对外访问路径。

例如:
例如:
AnyName
HelloServlet
AnyName
/demo/
同一个Servlet可以被映射到多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名。

在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。

级别最低。

如果在元素中配置了一个元素,那么WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。

举例:
invoker
2
缺省servlet
如果一个servlet的对外访问路径被设置为/,则该
servlet就是一个缺省servlet,其他servlet不处理的请求都由它来处理。

在conf/中配置了缺省servlet,对静态资源的访问和错误页面的输出就是由这个缺省servlet来处理的。

如果我们自己写一个缺省servlet把爸爸中的缺省servlet覆盖的话,会导致静态web资源无法访问。

所以不推荐配置。

在\conf\文件中,注册了一个名称为的Servlet,并将这个Servlet设置为了缺省Servlet。

当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。

其实对于静态资源的访问就是由缺省Servlet来执行。

设置404页面500页面等提示页面也是由缺省Servlet来执行。

通常我们不会自己去配置缺省Servlet。

篇三:javaweb复习总结全
javaweb第一天
1、 junit测试框架
Arrsert. assertEquals(long execpted,long actual) 测试两个long类型的值 execpted 与
actual 是否相等,相等返回true,否则返回false;
2、泛型类型的转换
1、泛型的实际类型参数不具备继承关系、
2、泛型的作用:
之前,将对象保存到集合中,对象会失去他自己特有的信息,在从集合中取出
该集合时,程序员必须手动的强制类型转换,这样不免在给程序带来安全性的问题,
但是泛型的出现使得程序员在编码时可以限制集合中的处理类型,从而把运行时的可
能发生的问题,转变为编译时的问题,以此提高程序的可读性和安全性。

结论:通过限制集合中的处理类型,使得程序更具可读性和安全性
3、自定义泛型方法public void doMethod( T t );
注意:在泛型方法中只有对象类型才能作为实际参数
3、枚举类
1、java中声明的枚举类,都是的实例
2、枚举类中的构造方法默认只能是private的,
为什么枚举类中的构造方法默认只能是private呢?答:因为使用枚举给变量赋值时,他必须是规定的范围的枚举值,既然是规定范围的,
那么就不能让外界new 出一个对象。

3、枚举类中声明的每一个枚举值都是枚举类的一个实例对象
1、name() 获得枚举对象的名字
2、ordinal() 获得
枚举的下标 3、valueof (String name) 将一字符串转变成枚举 4、values() 返回枚举数组,用于遍历枚举数组
4、反射
1、反射就是将java的各个成分映射成java类。

使用反射需要使用到以下一个API:
Class 、onstructor、Field、Method
2、使用发射的要领就是需要先得到类的字节码对象,得到了字节码对象就得到了类身
上的所有的一切,有了字节码,利用反射就可以操作类,给类的成员变量赋值,调用类的
方法等。

3、使用反射得到泛型的实际参数类型,比如:List 需要获得Date的实际类型
4、如何得到字节码: 1、类名.class2、对象名.class 3、(“包名.类名”);
5、()方法的作用:他首先查看内存之中有没有某个类的字节码,若没有,
则创建一份字节码,若有,则加载字节码到内存之中,并封装成Class对象
5、内省---javabean
1、什么是javabean?答:javabean就是遵循一定编写规则的特殊java类,规则有: 1、必须提供一个公共的
午餐的构造方法
2、必须具有的属性都是private的
3、必须提供get和set方法供外界操作和访问该javabean的属性,方法名一定是
set和get后要紧跟属性名,属性名的第一个字母要大些
2、使用BeanUtils工具包操作javabean
1、常用的方法:
1、(Object bean, Map properties)
2、(Object bean, String name, Object value)
3、(Object dest, Object src)
2、使用BeanUtils时,有些复杂类型,BeanUtils不能自动将值设置到javabean
中,必须手动注册一个转换器
ConvertUtils. register(Converter converter, Class clazz)
converter: 表示注册的自定义的类型转换器
clazz: 就是要将别类型转换成clazz字节码代表的类的类型
细节:
1、 () 生成0-1的小数,包含0, 不包含1
2、在拆箱, 装箱方法调用时,原则:使用与的结果相同
3、通过查看API知道,使用反射,若是调用getConstructor()方法不能生成一个对象,因为不是public的, getConstructor()方法只能是针对public修饰的若是硬要生成一个对象,那
么应该是使用getDeclaredConstructor()方法。

javaweb 第二天
1、xml
1、什么是xml?
答:xml是可扩展标记语言
2、xml有那写特点?答:xml类似于html, 但是xml 中没有预定义的标签,最初设计是用来传输数据的。

3、xml 的应用在哪里?答:1、存储和传输复杂关系模型数据 2、作为配置文件 encoding:表示文档编码 2、xml文档声明standalone: 说明文档是否独立(文档如果依赖别的文档就是不独立)
3、 XML元素指XML文件中出现的标签
4、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理
5、CDATA区
在编写xml时,有些内容不想让解析程序执行,须当做原始内容处理,那么将该数据放大CDATA区中例如:
]]>
6、DTD约束
1、xml文档为什么要引入约束?答: 因为xml是可扩展的标记语言,在xml中没有预定义标签,那么程序员就可以随意书写xml的标签,这样在开发中就没有统一使用标准,这样的就会造成xml文档中的标签混乱。

所以引入约束,指定xml中可以使用那些标签,不可以使用那些标签。

这样就统一了使用标准。

2、DTD与xml三种关联的方式1、使用内部DTD 2、使用外部DTD若关联的dtd文件在本地则使用:
3、使用公共DTD 若关联的是一个公共的dtd文件则使用:篇四:java各知识点详细总结
Java基础知识总结
写代码:
1,明确需求。

我要做什么?
2,分析思路。

我要怎么做?1,2,3。

3,确定步骤。

每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。

用具体的java语言代码把思路体现出来。

学习新技术的四点:
1,该技术是什么?
2,该技术有什么特点(使用注意):
3,该技术怎么使用。

demo
4,该技术什么时候用?test。

----------------------------------------------------------------------------------------------- 一:java概述:
1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA 等的微处理器;
1994年将Oak语言更名为Java;
Java的三种技术架构:
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdk\bin目录下的工具,可
以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:
1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

还会在当前目录找吗?两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目
录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

4,javac命令和java命令做什么事情呢?
要知道java是分两部分的:一个是编译,一个是运行。

javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。

对指定扩展名的.java文件进行编译。

生成了jvm可以识别的字节码文件。

也就是class文件,也就是java的运行程序。

java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行. 一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
5,虚拟机
当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。

---------------------------------------------------------------------------------------------- 二:java语法基础:
1,关键字:其实就是某种语言赋予了特殊含义的单
词。

保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

2,标示符:其实就是在程序中自定义的名词。

比如类名,变量名,函数名。

包含 0-9、a-z、$、_ ;
注意:
1),数字不可以开头。

2),不可以使用关键字。

3,常量:是在程序中的不会变化的数据。

4,变量:其实就是内存中的一个存储空间,用于存储常量数据。

作用:方便于运算。

因为有些数据不确定。

所以确定该数据的名词和存储空间。

特点:变量空间可以重复使用。

什么时候定义变量?只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?
1,这个空间要存储什么数据?数据类型。

2,这个空间叫什么名字啊?变量名称。

3,这个空间的第一次的数据是什么?变量的初始化值。

变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;
数据类型:
1):基本数据类型:byte、short、int、long、float、double、char、boolean
2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用把一个高级别的数赋给一个别该数的级别低的变量;
运算符号:
1)、算术运算符。

+ - * / %%:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

+:连接符。

++,--
2)、赋值运算符。

= += -= *= /= %=
3)、比较运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

4)、逻辑运算符。

& | ^ !&&||
逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。

否则就是false。

|:只要两边都为false结果是false,否则就是true
^:异或:和或有点不一样。

两边结果一样,就为false。

两边结果不一样,就为true.
& 和 &&区别: & :无论左边结果是什么,右边都参与运算。

&&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别:|:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

5)、位运算符:用于操作二进制位的运算符。

& | ^
>>>>(无符号右移)
练习:对两个变量的数据进行互换。

不需要第三方变量。

int a = 3,b = 5;-->b = 3,a = 5;
a = a + b; a = 8;。

相关文档
最新文档