关于作者

用户名:04320710222shine
笔名:04320710222shine
地区: 成都
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



访问统计:
文章个数:53
评论个数:90
留言条数:59




Powered by BlogDriver 2.1

自由空间

 

欢迎来到shine的空间,有什么意见就请你留言,谢谢!

文章

女人嫁人是什么样子?

正如题目似的,最近工作刚刚稳定了,

于是便回来看看,变了变了,一切都变了

朋友都在打算自己嫁人是什么样子的,

嫁什么样的老公,自己才会幸福,

而我呢,?似乎什么都没有,一无所有。

我跟洁不会有结果的吧,做这种朋友会长久吗?

问洁:几年后,要是我们都各自结婚,见到对方会是什么样的情境呢?

也不知自己为什么会这样问他,,因为我刚看完了古天乐与刘若英的《生日快乐!》。

我知道我们的结果不会如此,可是局情真的好像呢,

突然自己失去了安全感,洁说他会出国。

我不会阻止他的事业发展的,做IT真好比是吃年轻饭。

我没有这个权利匀阻止他,干挠他。

我们算什么呢,比朋友更好的朋友,,,比情人还情人的情人,

可就是不能是夫妻,对吧。

- 作者: 04320710222shine 2007年02月9日, 星期五 17:21  回复(1) |  引用(0) 加入博采

爱错了

[00:03.39]《爱错了》
[00:04.83]
[00:06.15]作词:杨帆 作曲:功夫
[00:12.14]by super  QQ:27792292
[00:19.36]我想这是最后一次有你陪我过的生日
[00:22.06]客厅角落里已经放着你的行李
[00:24.68]我看着时钟从九点走向十点钟
[00:27.25]他会准时来接你 带你搬出我的回忆
[00:30.40]
[00:30.76]你亲手做的蛋糕依然香甜
[00:32.85]上面二十二棵蜡烛已经渐渐快要熄灭
[00:35.74]我们还是什么话都没有说 难得沉默
[00:38.46]我知道你的心在飞 手里转着空酒杯
[00:41.94]你说今天不喝酒 他会不喜欢
[00:44.60]我说我也不想喝 我怕醉倒没人管
[00:47.24]终于又看到 你久违的笑容
[00:49.76]就像最初走向我时那个美丽的梦


[00:52.85]我从前对酒精过敏自从和你在一起
[00:55.78]你的温柔蛮横让我变的没脾气
[00:58.37]情愿在每天睡前都陪你喝两杯
[01:01.45]我亲手调的bloody marry


[01:04.55]我在纵容着你是他改变了你
[01:06.82]我想这就是他能把你带走的原因
[01:09.82]我应该知道不是爱你就能给你幸福
[01:12.44]面对现实我就象是一片落叶一样无助


[01:15.54]楼下传来停车声 宣告电影已散场
[01:18.27]作为悲剧男主角 我的笑很勉强
[01:21.10]最后的对白对你已经没有任何意义
[01:23.93]门已经敞开了 只能看见空的楼梯
[01:26.94]你曾说过欣赏他 讨厌他 崇拜他
[01:29.33]那段时间里 夸的骂的都是他
[01:32.06]我还单纯的以为你的心总属于我
[01:34.97]可是朋友告诉我 我的纵容就是错


[01:38.06]直到你为他哭了 我才知道心疼
[01:40.73]后悔已经没有用 其实结局已注定
[01:43.54]我关上那扇窗 是你离去的方向
[01:46.53]只留下两个空的酒杯 Happy birthday...


[02:11.77][01:49.95]*这到底是谁的错 谁的错
[02:14.65][01:51.93]爱与不爱都是错 太多结局没想过
[02:17.54][01:54.74]飞出我的世界你比想象中的快乐
[02:20.44][01:57.28]是谁屏住呼吸忍住痛抗下这些错
[02:23.06][02:00.58]这到底是谁的错 谁的错 谁的错
[02:25.87][02:03.24]恨与不恨都是错 心情矛盾中降落
[02:28.57][02:05.92]一个人的房间比我想象中的寂寞
[02:31.52][02:08.78]难道那种幸福太珍贵 原本就是错*


[02:34.67]开始慢慢的习惯 抛开整夜的思念
[02:37.05]把你的玩具熊和酒瓶都锁在衣柜里
[02:39.93]我怎么舍得丢弃 这是唯一的纪念
[02:42.60]至少可以证明我曾拥有美好的瞬间
[02:45.62]我原本以为再也不会见到你
[02:48.05]可是没想到 事情的变化竟会如此奇妙
[02:51.30]一阵敲门声 节奏熟悉而短暂
[02:54.11]你又出现在门口 哭肿了双眼


[02:57.17]你呆坐在那里 哭的很伤心
[02:59.30]消瘦一张脸分不清泪水和酒精
[03:02.48]我从没见你醉的这么厉害


[03:05.49]我只是心头一紧觉得自己比你还要委屈
[03:08.60]你一边咬着我的手一边骂他太花心
[03:11.42]发现他的情人多过我手上的牙齿印
[03:14.12]你最喜欢抱着玩具熊睡去
[03:16.70]可他觉得太幼稚 一直没肯买给你
[03:19.57]你哭着哭着哭累了 爬到床上睡着了
[03:22.70]几句梦话含糊不清找着你的玩具熊
[03:25.43]我打开衣柜 想把它拿给你
[03:28.00]结果里面凌乱的衣服散落了一地


[03:31.01]我终于可以承认 不用再逃避
[03:33.56]生活里 没有你 已经变得一团糟
[03:36.34]小熊还是安静的坐在那里
[03:39.03]可是其他的东西已经乱的完全没了规矩


[03:42.14]我靠窗坐一夜 心痛快要被撕裂
[03:44.76]他的一个电话把你叫醒简单的道歉
[03:47.55]你只是责怪他对你还不够认真
[03:50.10]然后站起身 我才看见那条新的钻石项链
[03:53.53]我曾经多想买给你 但是渴望不可及
[03:56.84]只要他愿意他会让你更美丽
[03:59.14]你最后 转过身看了一眼我和玩具熊
[04:02.02]只留下一句 Don't hate me please


[04:27.14][04:05.49]* 这到底是谁的错 谁的错 谁的错
[04:30.06][04:08.02]爱与不爱都是错 太多结局没想过
[04:32.93][04:10.41]飞出我的世界你比想象中的快乐
[04:35.79][04:13.10]是谁屏住呼吸忍住痛抗下这些错
[04:38.49][04:15.92]这到底是谁的错 谁的错 谁的错
[04:41.34][04:18.71]恨与不恨都是错 心情矛盾中降落
[04:44.11][04:21.55]一个人的房间比我想象中的寂寞
[04:46.81][04:24.63]难道那种幸福太珍贵 原本就是错 *


[05:01.31]我在纵容着你 是他改变了你
[05:03.87]只要他愿意他会让你更美丽
[05:06.72]我关上那扇窗是你离去的方向
[05:09.48]只剩下两个空的酒杯 热的发烫


[05:12.47]你一边咬着我的手一边骂他太花心
[05:15.41]后悔已经没有用 其实结局已注定
[05:18.51]你最后转过身看了一眼我和玩具熊
[05:21.72]只留下一句 to speak is the sin

- 作者: 04320710222shine 2005年12月28日, 星期三 18:46  回复(1) |  引用(0) 加入博采

JSP入门教程

JavaServer Pages (JSP)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。

JSP可与微软的Active Server Pages (ASP)相媲美,但JSP使用的是类似于HTML的标记和Java 代码片段而不是用VBScript。当你使用不提供ASP本地支持的Web服务器(例如 Apache或Netscape服务器)时,你就可以考虑使用JSP了。你虽然也可以为这些服务器弄一个ASP附加软件模块,但是太昂贵了。现在Sun公司并不会因你使用JSP向你收费(虽然将来可能要收),况且用于Solaris、 Linux以及Windows系统的组件都很容易获得。

不要把JSP与服务器端的javascript语言搞混了。Web服务器自动将通过JSP生成的Java代码片段转换成Java 片段(servlets)。 JSP也可自动控制许多功能,如过去用Perl脚本编写功能程序或像ASP这样的服务器专用API(应用编程接口)。

我们马上就要开始帮助你建立一个使用JSP 技术的网站范例了。


准备好计算机以使用JSP

你需要Java2软件开发工具箱(J2SDK),过去称之为Java开发工具箱(JDK)、JavaServer 网络开发工具箱(JSWDK)、Tomcat,或者其它能支持JSP的Web服务器。升阳公司为Windows、Solaris以及 Linux平台提供免费的J2SDK和JSWDK。

如果你想在现有的Web服务器上使用JSP,而此服务器本身不支持JSP和Java 代码片段,可以试用Allaire公司的Jrun。它可以为Netscape的Enterprise Server和Fasttrack Server、微软的Internet Information Server(IIS)和Personal Web Server(PWS)、Apache以及其他服务器充当Web服务器附件。你也可以使用Apache服务器的Java版,其中包含最新的JSWDK。

下载并安装所需的软件
目前,版本号为1.2.2-001的J2SDK可下载版以可安装的归档文件形式出现。这个大约20MB的下载量软件可提供一个彻底的Java开发环境,让你创造任何基于Java并且利用了而标准核心API的解决方案。其实,你的Web服务器使用JSP的唯一条件是要有Java编辑器。要让Web服务器知道编辑器的位置,需要JAVA_HOME 环境变量设置为J2SDK安装目录。如果你已经在Windows系统中进行了安装并且接受了默认目录, 请将“set JAVA_HOME=C:1.2.2”添加到你的“autoexec.bat”文件中,然后重新启动。

安装J2SDK后,下载并安装JSWDK或者是Tomcat β版,即基于Java的Apache Web服务器的β版。你把JSWDK放在什么地方是无关紧要的,只要你以后能找到它就行。通常,将其放在顶层目录中,这样你在替换JSWDK或JSDK时无需删除另一个软件。安装好这个文件后,准备工作已经就绪,你可以开始JSP开发工作了。

正确地安装JSWDK后,请运行“startserver”脚本程序,以启动Web服务器,使其按照默认情况监听8080端口。你要在启动服务器之后查看您是否已正确地安装了此工具,请加载一个JSP样本文件(http://locahost:8080/examples/jsp/)。如果你能成功地运行这些样本文件,说明你已经正确地安装了这个软件。如果你在用来启动服务器的控制台窗口中看到报错信息,你就需要做些修改。最经常发生的问题是没有设置或不正确地设置了JAVA_HOME环境变量。要看到当前环境变量设置情况,要请在DOS提示符下键入“set”设置。

开始
在解释 JSP语法前,创建一个快捷网页,显示目当前的日期和时间,并然后将之其保存为sample.jsp:

<html>
<head>
<title>First Page</title>
</head>
<body>
<H3>Today is:
<%= new java.util.Date() %>
</H3>
</body>
</html>.

把这个文件以及你所有的HTML 和 JSP 页面放在JSWDK安装目录下的网页目录里。你可以从http://localhost:8080/sample.jsp加载此网页。该网页首次被访问时,Web服务器会把JSP编译成Java代码片段,这样你就能够看到当前的日期和时间了。

你已经下载、安装并配置好了开发环境,你可以开始学习JSP语法并创建自己的基于JSP的解决方案了。
 

JSP基本语法
讲完安装问题后,现在进入来讨论JSP语法。一个投机取巧的办法是下载语法卡片。如果你不熟悉Java编程,也许你想看一下Sun的指南 。然而网页创建者并不需要进行太多的Java开发。除了一些方法调用,在你的JSP网页里应尽可能少用Java代码。

记住以上提示,我们首先来看一看JSP指令和脚本元素,之后我们会解释JavaBeans和隐含对象。共有五种JSP指令和脚本元素。在JSP 1.0版中,大部分JSP被一个以“<%” 开头和以“%>”结尾的的标记括在其中。在更新的JSP 1.1规范出台后,就有了与XML兼容的版本。

JSP指令和脚本元素
Directives <%@ directive %>
Declarations <%! declaration %>
Expressions <%= expression %>
Code Fragment/Scriptlet <% code fragment %>
Comments <%-- comment --%>

指令
JSP指令是为JSP引擎而设计的。他们并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页面。这些指令始终被括在 “<%@ ?%>”标记中。两个最重要的指令是“pagePage”和“Include”。“Taglib”指令不在讨论之列,但是在用JSP1.1创建自定义标记可以使用它。

几乎在所有JSP页面顶部都会看到“Page”指令。尽管不是必须的,但它可以让你指定:
到何处查找起支持作用的Java类别:
<%@ page import="java.util.Date" %>,

出现Java运行问题时,将网上冲浪者引向何处:
<%@ page errorPage="errorPage.jsp" %>,

还有你是否需要管理用户的会话级信息,这些信息可能来自多个网页(在下面的JavaBeans一节将对此做进一步讲)述:
<%@ page session="true" %>.

“Include”指令可以把你的内容分成更多可管理的元素,比如包括一个普通页面页眉或页脚的元素。包含的网页可以是一个固定的HTML 页面或更多的JSP内容:
<%@ include file="200453092147.htm.jsp" %>

声明
JSP声明用来让你定义页面级变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。如果你发现代码太多,通常最好把它们写成一个独立的Java类别。声明一般都在“<%! ?%>”标记中。一定要以分号(;)结束变量声明,因为任何内容都必须是有效的Java语句:
<%! int i=0; %>。

表达式
有了JSP表达式,表达式评估结果会被转换成一个字符串,并且被直接包括在输出页面之内。JSP 表达式包含在“<%= ?%>” 标记中,没有分号,除非在加引号的字符串部分使用分号。


<%= i %>
<%= "Hello" %> .


代码片段/脚本片段
代码片段/脚本片段(Scriptlets) JSP代码片段或脚本片段是嵌在“<% ?%>”标记中的。这种Java代码在Web服务器响应请求时就会运行。在脚本片段周围可能是原始的HTML或XML语句,在这些地方,代码片段可以使你创建条件执行代码,或要用到另外一段代码的代码。例如,以下的代码组合使用表达式和代码片段,显示H1、H2、H3和H4标记中的字符串“Hello”。代码片段并不局限于一行源代码:

<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>.

注释
最后一个主要的JSP元素是嵌入式注释。尽管你始终可以在文件中加入HTML注释,但用户在查看页面源代码时会看到这些注释。如果你不想让用户看到它,你就应该将其嵌入“<%-- ?--%>” 标记中:

<%-- comment for server side only --%>.

带JavaBean 的JSP
虽然你可以把大段的代码放在脚本片段(scriptlet)内,但是绝大多数的Java代码属于可重复使用的名为JavaBea的组件。JavaBean类似于ActiveX控件:他们都能提供常用功能并且可以重复使用。

JavaBean的值是通过一些属性获得的,你可通过这些属性访问JavaBean设置。以一个人来打比方,这个人就是一个JavaBean,这个人的名字、身份证号码以及住址就是其属性。在JSP网站,你基本上就是通过玩“Connect the beans)”来使你的网站动态化。

假设JavaBean先于网站被创建出来,你需要做的第一件事就是告诉JSP页面它将要用到一个“Bean”。你可以用“<jsp:useBean>”标记来做到这一点:
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />。

“<jsp:useBean>”标记要求你用“id”属性来识鉴别Bean。这里你提供一个名字来JSP页面其余部分的Bean。除了“id”属性,你还须告诉网页面从何处查找Bean,或者它的Java类别名是什么。这种类别属性提供确 认Bean的功能,其他一些方法也可以做到这一点。最后一个必需的元素是“scope”属性。有了“scope”属性的帮助,你就能告诉Bean为单一页面(默认情况)[scope="page"]、为[scope="request"]请求为会话[scope="session"],或者为整个应用程序[scope="application"]保持留信息。有了会话范围,你就能非常容易地在JSP网页面上维护购物车等项目。

一旦你声名了一个JavaBean,你就可以访问它的属性来定制它。要获得属性值,请用“<jsp:getProperty>”标记。有了这个标记,你就能指定将要用到的Bean名称(从useBean的"id"字段得到)以及你想得到其值的属性。实际的值被放在输出中:
<jsp:getProperty id="localName" property="name" />。

要改变JavaBean属性,你必须使用“<jsp:setProperty>”标记。对这个标记,你需要再次识别Bean和属性,以修改并额外提供新值。如果命名正确,这些值可以从一个已提交的表中直接获得:参数获得:
<jsp:setProperty id="localName" property="*" />;

可以从一个参数获得,但你必须直接命名属性和参数:
<jsp:setProperty id="localName" property="serialNumber" value="string" />

或者直接用一个名字称和值来设置: <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.

关于JavaBean 的最后一件事: 为了Web服务器能找到JavaBean,你需要将其类别文件放在一个特殊位置。用JSWDK,最 方便的位置是安装目录下的类别目录,如jswdk-1.0.1classes。

JSP隐含对象
与JSP语法相关的最后的元素是一些叫做“隐含对象”的东西。在JSP代码片段中,你可以利用这些隐含对象与JSP页面的代码片段执行环境产生互动。应尽量少访问这些内置隐含对象。但是,在一某些情况下,访问隐含对象是可被接受的。若要充分利用隐含对象,就需了解最新的Java Servlet API。
下表列出可用的隐含对象集合。

隐含对象说明
request 客户端请求,包括从GET/POST请求传递过来的参数
response 网页传回客户端的反应
pageContext 在此管理网页属性
session 与请求关联的会话
application 代码片段的运行环境
out 传送响应的输出流
config 代码片段配置对象
page JSP网页本身
exception 有错的网页中未被捕获的例外

这些都是用来做什么的,你又如何来使用它们呢?基本上说,在你的脚本片段里,你可以用它们进入执行JSP代码的代码片段。用不着深入了解太多的Servlet API细节,我们来看看能用它们来做到的某些事情:


你可以不用表达式,直接进入“Out”隐含对象,将某些内容输出到响应中:
<% out.println("Hello"); %>。
用不着把一个参数直接送到JavaBean,你可以从请求对象获取参数值:
<% String name=request.getParameter("name"); out.println(name); %>.

在你用JSP进行开发的过程中,进行更多的开发的过程中,如果创建了JavaBeans或发现JSP文件中加入了太多的Java源代码,你就需要创建起支持作用的Java分类(class)了,它可以协助你重复利用源代码并减少JSP网页编译时间。当你需要创建Java分类文件时,你必须:


将JDSWK installationin目录添加到PATH中。在autoexec.bat文件PATH行的末尾,加入“C:1.2.2/bin”。
用这个命令将JAR文件复制到“jrelibext:”目录中: copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.

创建一个JSP网站
现在该是把所有这些JSP语法派上用场的时候了。我们将创建一个网页,它有一个输入表单,可以使用户输入一个股票代号以获得出当前股价(有20分钟)。如果输入有误,则显示报错网页。

quote.jsp
首先,用 这个代码 创建一个quote.jsp网页并将其保存在JSWDK安装目录下的网页目录中。大多数的网页是标准的HTML,其间散布着JSP代码。第六行是一个网页指示,表示将把所有错误发送到“errorPage.jsp”文中。第13到15行是一个脚本片段,主要说明只有提供“符号”参数才会显示表格。“If”代码段在32到34行结束。第17行定义了要用的JavaBean,第18行从参数加载JavaBean的符号属性。第27行到29行显示Bean的属性。除了"if "代码段,实际上并不涉及其它Java代码。

errorPage.jsp
下一步,将下列JSP源代码保存到网页目录中的“errorPage.jsp”文件中。“这是一个错误网页”的提示为第一行,它将isErrorPage网页提示属性设置为真。上一页说了明错误网页的位置,本页则说明这就是错误网页。其它JSP文件中的JSP专用代码只有访问隐含例外对象才用到。网页只显示其值:

<%@ page isErrorPage="true" %>

<html>
<head>
<title>Error Page</title>
</head>
<body>

<h1>Our Error Page</h1></font>

<!-- Print Exception -->
We got ourselves an exception:
<%= exception %>
<a href="quote.jsp">Restart</a>
</body>
</html>。

Quotes.java
Quotes JavaBean 利用Yahoo资源来获得股票价格。需要将此 资源保存到JSWDK安装目录下“classescomjguru”目录中的“quotes.java”文件中。请在此用JSDK中的Javac编辑器来编辑它。


你的第一个JSP网页。
创建了这两个JSP文件,建立了JavaBean资源文件并编辑了它后,你就可以从http://localhost:8080/quote.jsp加载“quote.jsp”文件以查看结果,假设你没有更改JSWDK安装设置,转而使用别的端口。这个网页当然能做得更漂亮,但是它已实现了需要实现的功能,并且很好地展示了JSP的功能。

欢迎使用JavaServer Pages(以下简称JSP)技术—制作动态内容网页的方法。

如果你希望学习这篇教程的话,我想你一定是这项技术的新手。你可能想成为一名利用JSP技术开发网络应用程序的程序员或者网页设计师。本教程中包含了一系列JSP的技巧和一些简单的代码的写法,每一步都举了一组例子来讲述原理。

我建议你在学习本教程之前先去看一看FAQ,了解如果配置你的服务器好让他能支持并运行JSP。那样你就可以跳过前边的内容直接看你感兴趣的内容了。

OK,费话少说,Let’s go!

第一课:真正的开始

现在开始做我们的第一个JSP页面。图1-1展示了一个最简单的JSP页面,接下来是两段代码。

[dukebanner.html]

<table border=”0” width=”400” cellspacing=”0” cellpadding=”0”>

<tr>

<td height=”150” width=”150”> &nbsp; </td>

<td width=”250”> &nbsp; </td>

</tr>

<tr>

<td width=”150”> &nbsp; </td>

<td align=”right” width=”250”>
<img src=”duke.waving.gif”></td></tr></table><br>

helloworld.jsp

<%@ page info="a hello world example" %>

<html>

<head><title>Hello, World</title></head>

<body bgcolor="#ffffff" background="background.gif">

<%@ include file="dukebanner.html" %>

<table>

<tr>

<td width=150> &nbsp; </td>

<td width=250 align=right> <h1>Hello, World!</h1> </td>

</tr>

</table>

</body>

</html>

页面说明:

在很多JSP文件中你都要写上这样的说明。在helloword.jsp中:

<%@ page info="a hello world example" %>

傻瓜也看得出来,这句话没什么大用,只是简要的说明一下这段代码的作用。

你可以在JSP文件中的任何地方写这种代码,但是好的习惯是把他写在最前面,还有,因为他是JSP标签,记住一定要放在<html>前面,呵

include说明:

include用来在主JSP文件中调用本地的一个其他文件,通常是一些版权信息啦,脚本语言啦等其他任何你想在其他文件中重复使用的代码。在这个例子中就是调用了一个图片其实。大家明白这个意思就得了。

随便说两句:

在JSP中对写法非常敏感,不可以有一点错误。举个例子,把<jsp:useBean>写成<jsp:usebean>那样服务器会出现错误信息。一些如类名,包名,路径名还有其他的敏感的标签等千万不要写错。有一些JSP标签拿不准的话就去查一下JavaServer Pages语法卡片。

代码写好了,如何试验一下呢?

我这里写的UNIX下的方法,如果你用Windows,那么换一下路径就可以了

1、 先建一个目录:../jswdk-1.0/examples/jsp/tutorial/helloworld

2、 把这些文件拷过去background.gif, duke.waving.gif, dukebanner.html, and helloworld.jsp

3、 cd ../jswdk-1.0,然后startserver

4、 开一个浏览器,

5、 http://yourMachineName:8080/examples/jsp/tutorial/helloworld/helloworld.jsp

第二课:用HTML表单

大多数情况下,商业的网站都要有一些表单,比如说输入一下消费者的姓名啦,地址啦,或者敲一个词来用搜索引擎来查一下啦,或者市场人员从来访者处收集一些数据供参考什么的。

那些表单传回的数据怎么处理的?

来访者通过表单向JSP引擎输入了数据,并保存在了request对象中,那么接下来怎么办?

图2-1向你展示了数据流是如何在服务器和客户之间传递的(至少在SUN的JSP reference implementation是这么做的,别的JSP引擎工作起来可能会有一点点的不同,其实大同小异,都差不多)

字儿太小了,可能看不大清吧?俺来解释一下了只好。

首先,JSP引擎把存放在request对象中的数据发到JSP页面指定的服务器端的组件(JavaBeans组件, servlet,或者enterprise bean),组件收到这些个数据以后,有可能再存这些数据到数据库或者其他的地方存放起来,同时,返回一个response对象给JSP引擎。JSP引擎再把response对象传给JSP页面,这时的页面包含了定义好的格式和从服务器端得到的数据。这时JSP引擎和Web服务器再发送一个整理好的完整的页面给客户,也就是这们在浏览器上看到的结果。客户和服务器间的通信协议可以用HTTP,当然也可以用其他的。

Request和Response对象在你制作的JSP原代码中起作用。到于request对象到底怎么用,我要在接下来详细的讲给你听。

如何创建表单

用HTML定义一些有代表性的表单做成一个JSP文件,然后用JSP标签在表单和服务器端对象(通常都用Bean)传递数据。一般情况下是这么干的:

1、 写JSP原文件,创建一些HTML的表单并命名。

2、 在Java文件里写Bean,定义属性,GET或者SET方法来配合已经被你指定好名字的表单。

3、 回到JSP原文件中,增加<jsp:useBean>标签来创建一个或者调用一个现成的Bean。

4、 增加<jsp:setProperty>标签设置HTML表单中需要SET方法的Bean的属性。

5、 增加<jsp:getProperty>标签设置HTML表单中需要GET方法的Bean的属性。

6、 如果需要处理更多的用户数据,用request对象。

说了半天你可能看不懂,其实看一个例子你就懂了。

先看一个简单的hello的例子吧:

这段程序其实还是计算机程序里那个最经典的“hello,world”的程序,只不过呢,我使他挠了一点弯儿,使他看起来比较智能和复杂。首先你输入你的名字,然后Duke跟你说:“hello!”

看看代码吧:

dukebanner.html

<table border="0" width="400" cellspacing="0" cellpadding="0">

<tr>

<td height="150" width="150"> &nbsp; </td>

<td width="250"> &nbsp; </td>

</tr>

<tr>

<td width="150"> &nbsp; </td>

<td align="right" width="250">
<img src="duke.waving.gif"> </td>

</tr></table><br>

主JSP文件:hellouser.jsp

<%@ page import="hello.NameHandler" %>

<jsp:useBean id="mybean" scope="page" class="hello.NameHandler" />

<jsp:setProperty name="mybean" property="*" />

<html>

<head><title>Hello, User</title></head>

<body bgcolor="#ffffff" background="background.gif">

<%@ include file="dukebanner.html" %>

<table border="0" width="700">

<tr><td width="150"> &nbsp; </td>

<td width="550">

<h1>My name is Duke. What's yours?</h1></td></tr>

<tr><td width="150" &nbsp; </td><td width="550">

<form method="get">

<input type="text" name="username" size="25">

<br>

<input type="submit" value="Submit">

<input type="reset" value="Reset">

</td></tr>

</form>

</table>

<%

If ( request.getParameter("username") != null )

{

%>

<% @ include file="response.jsp" %>

<% }

%>

</body></html>

回应文件:response.jsp

<table border="0" width="700">

<tr>

<td width="150"> &nbsp; </td>

<td width="550">

<h1>Hello, <jsp:getProperty name="mybean" property="username" />!

</h1>

</td>

</tr>

</table>

处理数据的Bean:(namehandler.java)

package hello;

public class NameHandler

{

private String username;

public NameHandler() {

username = null;

}

public void setUsername( String name ) {

username = name;

}

public String getUsername() {

return username;

}

}


建立HTML表单

一个HTML的窗分为三个部分:<form>标签,输入方法,提交按钮发数据到服务器。一般的HTML页面里,是这么写的<form method=get action=someurl>,在其他的页面里的action属性可能是其他特殊的CGI程序或者其他能处理数据的程序,那么在JSP里边是怎么用的呢,呵,如果你想把数据发到Bean里的话那么你可以省略action里边的东里了,直接写<jsp:useBean>标签或者其他特定的JSP文件了。接下来的那些表单和普通的HTML差不多了,<input>的方法,然后加一个提交按钮,可能还有一个Reset按钮,对了,别忘了,还得给每一个input表单加一个名字。
这么写:<input type="text" name="username">

使用GET和POST方法

用GET和POST方法可以发数据到服务器,在JSP程序中GET和POST方法可以发数据到Bean、servlet、或者其他服务器端的组件。

理论上说,GET是从服务器上请求数据,POST是发送数据到服务器。事实上,GET方法是把数据参数队列(query string)加到一个URL上,值和表单是一一对应的。比如说,name=John。在队列里,值和表单用一个&符号分开,空格用+号替换,特殊的符号转换成十六进制的代码。因为这一队列在URL里边,这样队列的参数就能看得到,可以被记录下来,或更改。通常GET方法还限制字符的大小。事实上POST方法可以没有时间限制的传递数据到服务器,用户在浏览器端是看不到这一过程的,所以POST方法比较适合用于发送一个保密的(比如信用卡号)或者比较大量的数据到服务器。

写Bean

如果JSP程序用到了Bean,你就得按照JavaBeans API的说明设计你的Bean。

记住下面两个关键部分。

如果JSP程序里用<jsp:getProperty>标签,那你就得在Bean里边配合的GET方法。

如果JSP程序进而用 <jsp:setProperty>标签,那你就得在Bean里边配合的Set方法。

设置参数到Bean或者从里边取参数将在以后的部分详细介绍。

传数据到Bean
把HTML表单的数据传到Bean里需要两个工作:

· 用<jsp:useBean>标签创建或者定位到Bean

· 在Bean里面用<jsp:serProperty>设置属性值

第一步用<jsp:useBean>标签创建或者定位到Bean一定要用在<jsp:setProperty>之前,<jsp:useBean>首先按照你指定的名字查找Bean,如果没找到,会给你指定一个。允许在一个JSP文件中创建一个Bean,然后再另一个文件中调用,这就给了Bean一个很广泛的运行空间。

第二步在Bean里面用<jsp:setProperty>设置属性值。最简单的方法是把值定义成与表单名相配合。举个例子,如果你把表单名定义成“username”那么,你就在Bean里定义属性“username”然后用方法getUsername和setUsername。

当然也可以定义成不同的名字,只要你不认为麻烦。谁让你记忆力好呢!

Request对象
用户输入的数据用来存放在Request对象里,用javax.servlet.HttpServletRequest来执行(你也可以用其他不同的工具来执行,但他们其实都是javax.servlet.HttpServletRequest的子集)

你也可以直接用scriptlet来直接访问Request对象。Scriptlet将在下一讲里边详细的讨论,现在你只需要知道他是用脚本语言写的一段放在<% 和%> 之间的代码就足够了。在JSP 1.0中,你必须用JavaTM程序语言作为你的脚本语言。
你经常会用到如下方法处理Request对象:

方法
说明
执行结果

getRequest
Javax.servlet.jsp.PageContext
返回当前Request对象

getParameterNames
javax.servlet.ServletRequest
返回当前Request对象参数名

getParameterValues
javax.servlet.ServletRequest
返回当前Request对象参数值


你将会发现其他方法包括ServletRequest,HttpServletRequest或者其他任何ServletRequest的子集。

JSP引擎经常在scenes之后使用Request对象,即使你没有明确地在JSP文件中调用。

从Bean中调数据到JSP页面
一旦用户的数据被传到Bean,你就想重新得到数据,然后在JSP面页中显示出来。想达到这一步,你就得用到<jsp:getProperty>标签。传Bean名和属性名:

<h1>Hello, <jsp:getProperty name="mybean" property="username"/>!

<jsp:useBean>, <jsp:setProperty>, 和 <jsp:getProperty>标签必须相配,举个例子:

hellouser.jsp:
<jsp:useBean id="mybean" scope="session" class="hello.NameHandler" />
<jsp:setProperty name="mybean" property="*" />
response.jsp:
<h1>Hello, <jsp:getProperty name="mybean" property="username"/>!

在这个例子里,标签被放在两个文件中,但是指定的名字都是相同的,如果不同的话,那么系统会返回一个错误信息。

如何运行例子
我用的是UNIX主机,如果你用windows,那么改相应的路径即可。

创建路径../jswdk-1.0/examples/jsp/tutorial/hellouser.

把文件background.gif, duke.waving.gif, dukebanner.html, hellousr.jsp和response.jsp文件放进去。

创建一个目录,../jswdk-1.0/examples/WEB-INF/jsp/beans/hello

把文件NameHandler.java和NameHandler.class放进去。

cd../jswdk-1.0然后startserver

打开浏览器http://计算机名:8080/examples/jsp/tutorial/hellouser/hellouser.jsp

使用脚本
在有些地方,你大概要加一些好的,成熟的程序到你的JSP页里,JSP的标签虽然很强大,但是完成某些工作还是比较费力的困难的。这时你可以使用脚本语言段来补充JSP标签。
使用的JSP引擎是支持脚本语言的,SUN的JSP参考文说明,必须使用Java程序语言来编写脚本,但是其他第三方的JSP引擎允许使用其他语言来写脚本程。
如何增加脚本
首先,你必须了解一些增加脚本元素到JSP页中的一些基本规则
1、 在JSP页面里用Page指令定义脚本(默认值是Java,一般不需要定义)
2、 声明语法<%!……%>声明变量和方法(函数)。
3、 表达式语法<%=……%>定义脚本语言表达式
4、 脚本语法〈%……%>可以操作声明、表达式和其他类型合法的代码段在页脚本语言。
5、 一定要在结尾加%>标签
声明、表达式、脚本使用起来有一些相似,但也有一些不同让我们用一些例子来讲述一下相同点和不同点吧。
声明<%!……%>包含了一个或多个变量和方法,结尾以分号分隔。
例:<%! Int I=0 ; %>
<%! Int a, b ; double c ; %>
<%! Circle a = new circle(2.0) ; %>
在页面中使用变量和方法之前必须声明
声明的范围通常是JSP页,但如果页面中使用INCLUDE指令包含其他页面,范围应变得扩展到被包含的页面。
表达式<%=……%>可以在页面中包含任何合法的语言表达式,不用分号。
例:<%= Math.sqrt(2) %>
<%= item[I] %>
<%= a+b+c %>
<%= new java.util.date() %>
表达式和脚本的一个关键的不同点就是不需要分号。如果你需要在脚本中使用表达式就必须加分号。
脚本<%……%>允许你写的任何数量的脚本语言
例:<% String name=null ;
If (request.getParmeter("name")==null{
%>
记住在脚本中必须使用分号结尾。
猜数字游戏
猜数字游戏非常的有趣,而且从这里你还可以学到很多表达式的用法。
代码
显示用的主屏幕(numguess.jsp)
<!--
Number Guess Game
Written by Jason Hunter, CTO, K&A Software
jasonh@kasoftware.com, http://www.servlets.com
Copyright 1999, K&A Software
Distributed by Sun Microsystems with permission
-->
<%@ page import = "num.NumberGuessBean" %>

<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session" />
<jsp:setProperty name="numguess" property="*" />

<html>
<head><title>Number Guess</title></head>
<body bgcolor="white">
<font size=4>

<% if (numguess.getSuccess() ) { %>

Congratulations! You got it.
And after just <%= numguess.getNumGuesses() %>tries.<p>

<% numguess.reset(); %>
Care to <a href="numguess.jsp">try again</a>?

<% } else if (numguess.getNumGuesses() == 0) { %>

Welcome to the Number Guess game.<p>
I'm thinking of a number between 1 and 100.<p>

<form method=get>
What's your guess? <input type=text name=guess>
<input type=submit value="Submit">
</form>

<% } else { %>
Good guess, but nope. Try <b><%= numguess.getHint() %></b>.
You have made <%= numguess.getNumGuesses() %> guesses.
<p>I'm thinking of a number between 1 and 100.
<p><form method=get>

What's your guess? <input type=text name=guess>
<input type=submit value="Submit">
</form>
<% } %>
</font>
</body>
</html>


操作程序(NumberGuessBean.java)
// Number Guess Game
// Written by Jason Hunter, CTO, K&A Software
// jasonh@kasoftware.com, http://www.servlets.com
// Copyright 1999, K&A Software
// Distributed by Sun Microsystems with permission

package num;
import java.util.*;
public class NumberGuessBean {
int answer;
boolean success;
String hint;
int numGuesses;
public NumberGuessBean() {
reset();
}
public void setGuess(String guess) {
numGuesses++;
int g;
try {
g = Integer.parseInt(guess);
}
catch (NumberFormatException e) {
g = -1;
}
if (g == answer) {
success = true;
}
else if (g == -1) {
hint = "a number next time";
}
else if (g < answer) {
hint = "higher";
}
else if (g > answer) {
hint = "lower";
}
}
public boolean getSuccess() {
return success;
}
public String getHint() {
return "" + hint;
}
public int getNumGuesses() {
return numGuesses;
}
public void reset() {
answer = Math.abs(new Random().nextInt() % 100)
+ 1;
success = false;
numGuesses = 0;
}
}

在JSP文件中使用脚本
numguess.jsp是一个非常有趣儿的用脚本写的例子,你看他的结构其实是一个很大的IF……ELSE结构,但是很一个从句又都是用HTML写的,看起来象一个大的程序段。
不过你也不一定非得象numguess.jsp那样用HTML和JSP标签一起来写脚本。在<%和%>标签之间,你可以写任意多行的脚本代码,在通常情况下,尽量少用脚本来处理程序,而尽可能的使用servlets或者Beans,这样你的程序看起来会非常的清析,明了。话又说回来,怎么写JSP还得根据你的习惯和爱好,我不强迫非得使用任何一种方法,SUN的JSP详细说明书不规定脚本的长度。

用标签组合脚本
使用HTML和JSP标签来写脚本的时候,注意前后的标签不要忘记,一定要“封”好。说的不明白,举个例子吧:
<% } else { %> <!-- 用JSP标签的时候先关上 -->

... 这时候用JSP标签吧 ...

<% } %> <!-- 这样你应该看懂了吧?! -->
开始的时候这种做法看起来可能有一点奇怪,但它以确保你JSP文件编译的时候脚本的成功转换。

那么,脚本什么时候执行呢?
一个JSP原文件的处理分为两个阶段:一个是HTTP的编译时候,一个是请求的处理时间。

HTTP编译的时候,当用户第一次读JSP页面的时候,JSP的原代码被编译成CLASS,通常是servlet。HTML标签和JSP标签在这个时候同时被处理了,这之前用户还没有任何的请求被提交。

请求处理时间是当用户在JSP页面中提交了一个请求,这时请求由客户端被request对象传到了服务器端,JSP引擎根据用户提交的值执行编译过的JSP文件或者servlet。

当你在JSP页中使用脚本的时候,你必须知道他们什么时候被执行。声明在HTTP编译阶段就已经被处理了,其他脚本,表达式在编译JSP文件的时候也可用。表达式在HTTP编译的时候也被执行了。表达式的值被转换成了字符串被插入到JSP文件中一块儿被编译。其实在请求阶段,脚本也是可以利用的。

如何运行例子
我现在给出的都是在UNIX风格下的路径,如果你用Windows,那么改成Windows风格路径
1、猜数字游戏在装TOMCAT或者JSWDK的时候就已经装好了。
2、.jsp和.html文件在../jswdk-1.0.1/examples/num中
3、.java和.class文件在../jswdk-1.0.1/examples/WEB-INF/jsp/bean/num中
4、开浏览器,http://机器名/examples/jsp/num/numguess.jsp

- 作者: 04320710222shine 2005年12月2日, 星期五 16:46  回复(4) |  引用(0) 加入博采

什么叫做爱情
爱情就是远方的牵挂和思念,爱情就是身边的付出和感动。
爱情就是你炒菜我洗碗,就是你洗衣服我晾晒。
就是分吃一个苹果,就是同喝一杯水。
就是月光下的漫步,就是风雨中的同行。
就是夜晚相依相偎,就是情话绵绵。
就是看着对方从活蹦乱跳的青年,变成白发苍苍的老人。
就是一起盼孩子长大,抱完儿子抱孙子。
见证彼此人生最灰暗、最辉煌、最快乐、最忧伤,发现了对方所有缺点并忍受的人。
没有无暇的婚姻,没有完美的爱情,没有无憾的人生。
有的人爱情如烟花爆竹,瞬间燃烧,释放出巨大能量夺目光彩,又几年消于无形。
有人承认曾经的激情,有人忘却,继续寻找爱情。
有的人爱情如兰,散发悠悠芬芳,一丝丝,一缕缕,日积月累,由陌生变熟悉变喜欢变最爱,变成彼此一生不可缺少的伴侣。
有的人从相爱变陌生变仇恨,扯断婚姻的红线,选择让感情流浪,让身心漂泊。
有的人觉得自己从未爱过,不知激情为何物?那个冤家成为生活中食之无味,弃之可惜的鸡肋。
人人都向往童话般美好的爱情,可童话是讲给儿童听的故事,不知在这铜臭世界里,成人的你我还能否相信世上有真情
爱情就是细枝末节,就是女人递上的一杯热茶,就是老婆熨得笔挺的西服,就是问老婆我的袜子在哪里?
就是做老婆的跟班,就是烟的档次降了再降,为老婆买衣服、买化妆品那一声斩钉截铁的“买”。
就是陪老婆逛商场一家一家转转转,提着大包小包决不做逃兵。
就是挤上公车,觅一宝座,赶紧让与夫人,并站一旁,乐当护花使者。
用心感受,其实爱无处不在!
婚姻是一场赌博,婚姻更是一场男女的合作!
假如今天让你重新寻找,你自信能找到自己的最爱,能找到最爱自己的人吗?
我们不能!
即使此刻把你放出婚姻的牢笼,你能保证等待你的一定是幸福吗?
当生活已变成一种习惯,一种依赖,一天天,一年年,从指间划过。
我们平凡,我们是茫茫宇宙一粒尘埃,不能扭转乾坤,不能改变世界,甚至不能改变自己的生活状态!
我们伟大,我们是地球上最具灵性的生物,拥有思想,拥有灵魂!
我们幸福,我们没有生活在男尊女卑的时代!
我们骄傲,我们走在大街上花枝招展,我们在工作中与男人比翼齐肩!
我们悲哀,思想解放的同时,我们饱读诗书,放眼更高、更远的世界,向往更真、更纯、更美的爱情。
蓦然回首,却发现自己的生活远不及美好的期待。有时候想,幸福对于女人,只是一种心情,一种感觉。
以悲观的心态去看周围的一切,一切都很灰暗。
我告诉自己,为什么不把现在、把未来涂上乐观的色彩?
有人说,男人的幸福一半来自于事业,一半来自于女人。女人的幸福来源于爱情。
无从考证此话的出处。但我相信,每个女人心里都有一个美丽的爱情梦当女人遭遇爱情,是可以付出生命的热烈,是飞蛾扑火的豪迈!
是如母的关怀,是如妻的柔情,是如女的娇憨。
把爱情把男人看作眼里心里整个的世界!
男人遭遇爱情,也会说出为你赴汤蹈火的豪言!
如父的疼,如兄的怜,如夫的爱,是女人亘古不变的幸福。
而现实,爱情只是男人生命中无足轻重的点缀 ,
只是寂寞难耐时,一丝若有若无的牵挂。
婚姻相伴,无论相伴一生,还是相伴一程,请首先珍惜我们的所有。
当爱情成为一个遥不可及的梦想,请抓住我们生活中每一个小小的感动。
所以,我选择把梦境收藏,我选择把痛苦遗忘,
在梦想和现实之间追求理想。
不知道我奔走的小路通向何方,
我还是在翘首踮足把幸福渴望!

- 作者: 04320710222shine 2005年12月2日, 星期五 13:04  回复(6) |  引用(0) 加入博采

ORACLE SQL and SQL*PLUS
四、从多个表里选取数据记录
1. 数据表间的连接
简单的连接语法:
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……] 
WHERE 表名1.字段名 = 表名2. 字段名 [ AND ……] ; 
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
  WHERE 表名1.字段名 = 表名2. 字段名(+) [ AND ……] ; 
有(+)号的字段位置自动补空值 

连接的分类:
等于的连接  =
不等于的连接 != BETWEEN … AND … IN 注意IN和OR不能一起用
外连接 有一个字段名(+) , 没有满足的条件补空值
自连接 同一个表自己跟自己连接 例如找重复记录

2. 数据表间的连接例子
删除table_name表里字段名email重复的记录:
SQL>delete from table_name t1
where t1.rowid >
(select min(rowid) from table_name t2
where t1.email = t2.email
group by email 
having count(email) > 1);

找到手机用户的服务区域:
SQL> select a.handphoneno,nvl(c.name,'null'),a.totalscore 
 from topscore a,chargeoperator cc,chargeoperatorinfo c 
 where substr(a.handphoneno,1,7)=cc.hpnohead(+) 
 and cc.chargetype=c.chargetype(+)
 order by a.totalscore desc;

3. 数据表间的连接技巧
连接N个表, 需要N-1个连接操作
被连接的表最好建一个单字符的别名, 字段名前加上这个单字符的别名
BETWEEN .. AND.. 比用 >= AND <= 要好
连接操作的字段名上最好要有索引
连接操作的字段最好用整数数字类型
有外连接时, 不能用OR或IN的比较操作

4. 如何分析和执行SQL语句
写多表连接SQL语句时要知道它的分析执行计划的情况. 
Sys用户下运行@/ORACLE_HOME/sqlplus/admin/plustrce.sql 
产生plustrace角色
Sys用户下把此角色赋予一般用户 SQL> grant plustrace to &username;
一般用户下运行@/ORACLE_HOME/rdbms/admin/utlxplan.sql 
产生plan_table
SQL> set time on; 说明:打开时间显示 
SQL> set autotrace on;  说明:打开自动分析统计,并显示SQL语句的运行结果
SQL> set autotrace traceonly; 说明:打开自动分析统计,不显示SQL语句的运行结果
接下来你就运行测试SQL语句,看到其分析统计结果了。
一般来讲,我们的SQL语句应该避免大表的全表扫描。
SQL> set autotrace off;  说明:关闭自动分析统计

五、集合函数 经常和group by一起使用 
1. 集合函数列表
AVG  (DISTINCT | ALL | N) 取平均值
COUNT (DISTINCT | ALL | N | expr | * ) 统计数量
MAX (DISTINCT | ALL | N) 取最大值
MIN  (DISTINCT | ALL | N) 取最小值
SUM  (DISTINCT | ALL | N) 取合计值
STDDEV  (DISTINCT | ALL | N) 取偏差值,如果组里选择的内容都相同,结果为0
VARIANCE  (DISTINCT | ALL | N)   取平方偏差值

2. 使用集合函数的语法
SELECT column, group_function FROM table
WHERE condition GROUP BY group_by_expression
HAVING group_condition ORDER BY column;

3. 使用count时的注意事项
SELECT COUNT(*) FROM table;
SELECT COUNT(常量) FROM table;

都是统计表中记录数量,如果没有PK后者要好一些
SELECT COUNT(all 字段名) FROM table;
SELECT COUNT(字段名) FROM table;

不会统计为NULL的字段的数量
SUM,AVG时都会忽略为NULL的字段

4. 用group by时的限制条件
SELECT字段名不能随意, 要包含在GROUP BY的字段里
 GROUP BY后ORDER BY时不能用位置符号和别名
 限制GROUP BY的显示结果, 用HAVING条件
 
5. 例子
SQL> select title,sum(salary) payroll from s_emp
where title like 'VP%' group by title
having sum(salary)>5000 order by sum(salary) desc;

找出某表里字段重复的记录数, 并显示
SQL> select (duplicate field names) from table_name
 group by (list out fields) having count(*)>1;

6. 判断题(T/F)
(1) Group functions include nulls in calculations [F]
(2) Using the having clause to exclude rows from a group calculation [F]
解释:
Group function 都是忽略NULL值的 如果您要计算NULL值, 用NVL函数
Where语句在Group By前把结果集排除在外Having语句在Group By后把结果集排除在外

7. 在SQL*PLUS里可使用的其它命令:

Ctrl^C 终止正在运行的SQL语句
remark /*...*/ -- 注释符号
HOST  可执行的操作系统下的命令 有些unix可以用 !

BREAK ON column_name SKIP n [ ON column_name SKIP n ] 
 按字段的名称column_name分隔显示,更清晰,SKIP n 是在分隔处空行的数量n
 BREAK ON ROW SKIP n 每一行间隔都放n个空行

COMPUTE 集合运算符 OF 字段1 ON 字段2 按字段2对字段1进行集合运算
COMPUTE后面可以跟的集合运算符:
SUM MINIMUM MAXIMUM AVG STD VARIANCE COUNT NUMBER

8.在SQL*PLUS里可使用的其它命令举例:(scott用户)
 
 BREAK ON REPORT
 COMPUTE SUM LABEL TOTAL OF SAL ON REPORT 在全部结果集后面算合计
 select ename,sal from emp where job='SALESMAN';
 
 COMPUTE AVG LABEL avg OF SAL ON REPORT 在全部结果集后面算平均值
 / 再次执行上次的sql语句
 
 break on DEPTNO skip 2 on JOB skip 1  在BREAK字段结果集后面算合计
COMPUTE SUM OF SAL ON DEPTNO
 SELECT DEPTNO,JOB,ENAME,SAL FROM EMP ORDER BY DEPTNO,JOB;
 
SQL> CLEAR BREAKS; 清除设置的BREAK条件
SQL> CLEAR COMPUTES; 清除设置的COMPUTE条件

六、子查询
1. 查询语句可以嵌套 
例如: SELECT …… FROM (SELECT …… FROM表名1, [表名2, ……] WHERE 条件) WHERE 条件2; 

2. 何处可用子查询?
当查询条件是不确定的条件时
DML(insert, update,delete)语句里也可用子查询
HAVING里也可用子查询

3. 两个查询语句的结果可以做集合操作 
例如: 
并集UNION(去掉重复记录)
并集UNION ALL(不去掉重复记录) 
差集MINUS,   
交集INTERSECT 

4. 子查询的注意事项
先执行括号里面的SQL语句,一层层到外面
内部查询只执行一次
如果里层的结果集返回多个,不能用= > < >= <=等比较符要用IN.

5. 子查询的例子(1)
SQL> select title,avg(salary) from s_emp
  group by title  Having avg(salary) =
  (select min(avg(salary)) from s_emp
  group by title);
找到最低平均工资的职位名称和工资

5. 子查询的例子(2)
子查询可以用父查询里的表名
这条SQL语句是对的:
SQL>select cty_name from city where st_code in
(select st_code from state where st_name='TENNESSEE' and 
 city.cnt_code=state.cnt_code);
说明:父查询调用子查询只执行一次.

6.取出结果集的80 到100的SQL语句
ORACLE处理每个结果集只有一个ROWNUM字段标明它的逻辑位置,
并且只能 用ROWNUM<100, 不能用ROWNUM>80。
以下是经过分析后较好的两种ORACLE取得结果集80到100间的SQL语句( ID是唯一关键字的字段名 ): 
语句写法: 
SQL>select * from (
( select rownum as numrow, c.* from (
select [field_name,...] from table_name where 条件1 order by 条件2) c)
 where numrow > 80 and numrow <= 100 )
 order by 条件3; 

七、在执行SQL语句时绑定变量
1. 接收和定义变量的SQL*PLUS命令
ACCEPT
DEFINE UNDEFINE
&

2. 绑定变量SQL语句的例子(1)
SQL> select id, last_name, salary from s_emp where dept_id = &department_number;
Enter value for department_number: 10
old 1: select id, last_name, salary from s_emp where dept_id=&department_number;
new 1: select id, last_name, salary from s_emp where dept_id= 10
SQL> SET VERIFY OFF | ON;可以关闭和打开提示确认信息old 1和new 1的显示.

3. 绑定变量SQL语句的例子(2)
SQL> select id, last_name, salary
  from s_emp
   where  title = '&job_title';
Enter value for job_title: Stock Clerk

SQL> select id, last_name, salary
  from s_emp
   where  hiredate >to_date( '&start_hire_date','YYYY-MM-DD');
Enter value for start_hire_date : 2001-01-01

把绑定字符串和日期类型变量时,变量外面要加单引号
也可绑定变量来查询不同的字段名
输入变量值的时候不要加;等其它符号

4. ACCEPT的语法和例子
SQL> ACCEPT variable [datatype] [FORMAT] [PROMPT text] [HIDE]
说明: variable 指变量名 datatype 指变量类型,如number,char等 format 指变量显示格式 prompt text 可自定义弹出提示符的内容text hide 隐藏用户的输入符号
使用ACCEPT的例子:
ACCEPT p_dname PROMPT 'Provide the department name: '
ACCEPT p_salary NUMBER PROMPT 'Salary amount: '
ACCEPT pswd CHAR PROMPT 'Password: ' HIDE
ACCEPT low_date date format 'YYYY-MM-DD' PROMPT“Enter the low date range('YYYY-MM-DD'):”

4. DEFINE的语法和例子
SQL> DEFINE variable = value
说明: variable 指变量名 value 指变量值
定义好了变良值后, 执行绑定变量的SQL语句时不再提示输入变量
使用DEFINE的例子:
SQL> DEFINE dname = sales
SQL> DEFINE dname
DEFINE dname = “sales” (CHAR)
SQL> select name from dept where lower(name)='&dname';
NAME
-------------------------
sales
sales
SQL> UNDEFINE dname
SQL> DEFINE dname
Symbol dname is UNDEFINED

5. SQL*PLUS里传递参数到保存好的*.sql文件里
SQL> @ /路径名/文件名 参数名1[,参数名2, ….]
SQL> start /路径名/文件名 参数名1[,参数名2, ….]

注意事项:
一次最多只能获取9个&变量, 变量名称只能是从&1,&2到&9
变量名后不要加特殊的结束符号
如果在SQL*PLUS里要把&符号保存在ORACLE数据库里,要修改sql*plus环境变量define
SQL> set define off;

八、概述数据模型和数据库设计
1. 系统开发的阶段:
Strategy and Analysis
Design
Build and Document
Transition
Production

2. 数据模型
Model of system in client's mind
Entity model of client's model
Table model of entity model
Tables on disk

3. 实体关系模型 (ERM)概念
ERM ( entity relationship modeling)
实体 存有特定信息的目标和事件  例如: 客户,订单等
属性 描述实体的属性  例如: 姓名,电话号码等
关系 两个实体间的关系  例如:订单和产品等
实体关系模型图表里的约定
Dashed line (虚线) 可选参数 “may be”
Solid line (实线) 必选参数 “must be”
Crow's foot (多线) 程度参数 “one or more”
Single line (单线) 程度参数 “one and only one”


4. 实体关系模型例子
每个订单都必须有一个或几个客户
每个客户可能是一个或几个订单的申请者

5. 实体关系的类型
1:1 一对一 例如: 的士和司机 
M:1 多对一 例如: 乘客和飞机
1:M 一对多 例如: 员工和技能

6. 校正实体关系的原则
属性是单一值的, 不会有重复
属性必须依存于实体, 要有唯一标记
没有非唯一属性依赖于另一个非唯一的属性
7. 定义结构时的注意事项
减少数据冗余
减少完整性约束产生的问题
确认省略的实体,关系和属性

8. 完整性约束的要求
Primary key 主关键字 唯一非NULL
Foreign key 外键 依赖于另一个Primary key,可能为NULL
Column 字段名 符合定义的类型和长度
Constraint 约束条件 用户自定义的约束条件,要符合工作流要求
例如: 一个销售人员的提成不能超过它的基本工资
Candidate key 候选主关键字 多个字段名可组成候选主关键字, 其组合是唯一和非NULL的

9. 把实体关系图映射到关系数据库对象的方法
把简单实体映射到数据库里的表
把属性映射到数据库里的表的字段, 标明类型和注释
把唯一标记映射到数据库里的唯一关键字
把实体间的关系映射到数据库里的外键

其它的考虑:
设计索引,使查询更快
建立视图,使信息有不同的呈现面, 减少复杂的SQL语句
计划存储空间的分配
重新定义完整性约束条件

10. 实体关系图里符号的含义
PK 唯一关键字的字段
FK 外键的字段
FK1,FK2 同一个表的两个不同的外键
FK1,FK1 两个字段共同组成一个外键
NN 非null字段
U 唯一字段
U1,U1 两个字段共同组成一个唯一字段

- 作者: 04320710222shine 2005年12月1日, 星期四 22:47  回复(5) |  引用(0) 加入博采

ORACLE SQL and SQL*PLUS

二、限制选择行
1. 按指定的规则排序
SELECT expr FROM table [ORDER BY {column, expr} [ASC | DESC] ];
默认的排序是ASC升序(由小到大)
还可以ORDER BY 字段名的位置[1]| [2] ASC| DESC;
当字段名很复杂或者是算术表达式时用字段名显示的位置排序很方便.

2. 用WHERE限制选择行(1)
比较操作符 = > < >= <= != <> ^= 与NULL比较不能用上面的比较操作符 ANY SOME ALL
SQL操作符 BETWEEN … AND… IN LIKE IS NULL  
NOT BETWEEN … AND…  NOT IN NOT LIKE IS NOT NULL
逻辑操作符 AND OR NOT

3. 用WHERE限制选择行(2)
比较顺序(可以用括号改变它们的顺序)
(1). = < > >= <= in like is null between
(2). and
(3). Or
注意: char和varchar2的比较规则有不同: 
char比较时会忽略字符串后面的空格. varchar2会计算字符串后面的空格

4. LIKE操作
% 零到任意多个字符 _ 一个字符
例如: 字段名 like 'M%' 字段名 like '%m%' 字段名 like 'job_'
如果要找含下划线的字符, 要加反斜线 例如:字段名 like '%X/_Y%' escape '/'

5. 日期字段的比较
举例:
日期字段 between to_date('2001-12-12','YYYY-MM-DD') and to_date('2002-02-01','YYYY-MM-DD')
日期字段> to_date('2001-12-12','YYYY-MM-DD') and日期字段<= to_date('2002-02-01','YYYY-MM-DD'); 

6. 不能用到索引的比较操作符
IS NULL
IS NOT NULL
LIKE '%m%'

三、单行函数
1. 数字函数
ABS 取绝对值 POWER 乘方 LN 10为底数取幂
SQRT 平方根 EXP e的n次乘方 LOG(m,n) m为底数n取幂   
数学运算函数:ACOS ATAN ATAN2 COS COSH SIGN SIN SINH TAN TANH 
CEIL   大于或等于取整数
FLOOR   小于或等于取整数
MOD   取余数
ROUND(n,m) 按m的位数取四舍五入值如果round(日期): 中午12以后将是明天的日期. round(sysdate,'Y')是年的第一天
TRUNC(n,m) 按m的位数取前面的数值如果trunc(日期), 确省的是去掉时间

2. 字符函数
CHR  按数据库的字符集由数字返回字符 
CONCAT(c1,c2)  把两个字符c1,c2组合成一个字符, 和 || 相同
REPLACE(c,s,r)  把字符c里出现s的字符替换成r, 返回新字符 
SUBSTR(c,m,n) m大于0,字符c从前面m处开始取n位字符,m等于0和1一样, 
m小与0,字符c从后面m处开始取n位字符
TRANSLATE(c,f1,t1)  字符c按f1到t1的规则转换成新的字符串
INITCAP  字符首字母大写,其它字符小写
LOWER  字符全部小写
UPPER 字符全部大写
LTRIM(c1,c2) 去掉字符c1左边出现的字符c2
RTRIM(c1,c2) 
TRIM(c1,c2)  去掉字符c1左右两边的字符c2
LPAD(c1,n,c2)  字符c1按制定的位数n显示不足的位数用c2字符串替换左边的空位
RPAD(c1,n,c2)

3. 日期函数
ADD_MONTHS(d,n) 日期值加n月
LAST_DAY(d)  返回当月的最后一天的日期
MONTHS_BETWEEN(d1,d2)  两个日期值间的月份,d1<d2 返回负数
NEXT_DAY(d)  返回日期值下一天的日期
SYSDATE  当前的系统时间
DUAL是SYS用户下一个空表,它只有一个字段dummy
4. 转换函数(1)
TO_CHAR(date,'日期显示格式') 
TO_CHAR(number)  用于显示或报表的格式对齐
TO_DATE(char,'日期显示格式') 
TO_LOB   把long字段转换成lob字段
TO_NUMBER(char) 用于计算或者比较大小 

4. 转换函数(2)
to_date里日期显示格式
YYYY 年 YEAR YYY YY Y
Q 季度
MM 月 MONTH MON
W 星期 (week of month) WW, IW (week of year) 
(说明:周计是按ISO标准,从1月1日的星期数到后面七天为一周,不一定是从周一到周日) 
DD 日 DAY DY
HH24 小时 HH12 HH
MI 分钟
SS 秒
如果想固定日期的显示格式可以在数据库的参数文件initorasid.ora里新写一行参数 NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss可以在UNIX环境变量或者NT的注册表里的设置 NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss

4. 转换函数(3)
如果想固定日期的显示格式可以用alter session命令改变
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
它的作用顺序如下:
initialization parameter
Environment variable
ALTER SESSION command

4. 转换函数 (4)
to_char(number)里数字显示格式
9 数字位
0 数字前面补0  to_char(-1200,'00000.00')
. 小数点的位置
, 标记位置的逗号 用在数字显示格式的左边
L 根据数据库字符集加货币符号 to_char(-1200,'L9999.99')
B 把数字0显示为空格,用在数字显示格式的右边

MI 右边的负数标记    to_char(-1200,'9999.99MI')
PR  括起来的负数   to_char(-1200,'9999.99PR')
EEEE 用指数方式表示   to_char(-1200,'9999.99EEEE')

5. 输入字符,返回数字的函数
instr(c1,c2) 字符c2出现在c1的位置, 不出现, 返回0, 常用于模糊查询
length© 按数据库的字符集,算出字符c的长度,跟数据库的字符集有关, 一个汉字长度为1

6. 有逻辑比较的函数NVL(EXPR1, EXPR2)函数
解释: IF EXPR1=NULL  RETURN EXPR2
ELSE  RETURN EXPR1
DECODE(AA,V1,R1,V2,R2....)函数
解释: IF AA=V1 THEN RETURN R1
 IF AA=V2 THEN RETURN R2
..…
 ELSE
 RETURN NULL
举例: decode(id,1,'dept sale',2,'dept tech'

- 作者: 04320710222shine 2005年12月1日, 星期四 22:41  回复(1) |  引用(0) 加入博采

ORACLE SQL and SQL*PLUS
前言: 关系数据库的简单介绍 
1970.Dr.E.F.codded 创建了关系数据库的模型(类似现在常用的二维表格)
关系数据库由许多数据对象组成, 被关系操作SQL命令管理着, 数据之间有完整性的约束条件.
RDBMS ( relational database management system )
ORDBMS ( object relational database management system )
ORACLE RDBMS常称为ORACLE SERVER
它的内核是用C语言写的.

ORACLE的简单介绍 
ORACLE公司是一家提供综合技术产品、方案、服务的数据库公司
ORACLE数据库设计成可大量存储数据,快速查询数据,保证数据的安全和一致性,
跨网络的分布式管理及客户-服务器的配置等。
ORACLE SQL语法符合ANSI 1986标准
SQL 和数据库交流的命令式语言
SQL*PLUS ORACLE的一种工具, 用来运行SQL和PL/SQL语句
PL/SQL ORACLE的过程化编程语言

一、选择行
1. 简单的SELECT 语句
SELECT [DISTINCT] {*,COLUMN [ALIAS], ……} FROM table_name;
字段的非唯一的结果集
DISTINCT 字段名1 [ ,字段名2] 
数字类型字段名之间可以进行算术运算
+  - * /  等
例如: (字段名1*字段名2)/3
合并字段内容的连接字符 ||
字段名1 || 字段名2
字段可以有别名
SELECT 字段名1 [AS] '字段名1 解释' FROM table;

2. 处理NULL
NULL 未定义,不可操作,什么都不是
NULL != 0 NULL!='空格'
和NULL的任何运算都返回NULL
ORACLE里未定义的变量值都为NULL
NVL函数可把NULL转换成其它类型的符号
NVL(EXPR1, EXPR2)函数
解释: IF EXPR1=NULL  RETURN EXPR2
ELSE  RETURN EXPR1
编程技巧: NVL函数在多条件模糊查询的时候比较有用
nvl('+input_value+','0')='0' or filed_name like '%+input_value+%'
NVL函数可返回多种数据类型:
返回日期 NVL(start_date,'2002-02-01')
返回字符串 NVL(title,'no title')
返回数字 NVL(salary,1000)

3. 使用SQL*PLUS(1)
登录SQL*PLUS的方法
用户名,密码,数据库连接字符串
数据库连接字符串可以用net8 easy configuration建立本地网络服务名配置,
也可以手工编辑$ORACLE_HOME/network/admin/tnsnames.ora文件。
在UNIX系统下不要用
$sqlplus username/password@dbname
这样别的用户用$ps命令能看出用户的密码
SQL> desc table; 显示表结构
SQL> select * from tab; 查看用户下所有的表
SQL> set pause on; 可以使大量结果集在用户按“Enter”(回车)后翻页
SQL> set pagesize 100; 设定SQL语句返回结果集一页的行数100, 默认值是14
SQL> set linesize 100; 设定SQL语句返回结果集一行的宽度100, 默认值是80

3. 使用SQL*PLUS(2)SQL*PLUS里的编辑命令
最近一条SQL命令语句存在ORACLE内存(sql buffer)里,但SQL*PLUS命令却不会存进去。
SQL*PLUS里的编辑命令:
A[PPEND] text 把text增加到当前行后面
C[HANGE] /old/new/ 把当前行old符号替换成new符号,new为空,删除old符号
CL[EAR] BUFF[ER] 从sql buffer里删除所有的行
DEL n 删除sql buffer里第n行
I[NPUT] text 在sql buffer后面插入text
L[IST] n 显示sql buffer里第n行
n 使第n行为当前行
n    text 第n行替换成text
0    text 在第一行前面插入一行

3. 使用SQL*PLUS(3) SQL*PLUS里的文件命令:
SAV[E] filename [REP[LACE] | APP[END] ]
把sql buffer里的SQL命令存到OS下一个文件filename,默认的文件名后缀为.sql.
REP[LACE]替换filename里的SQL命令
APP[END] 把sql buffer里的SQL命令添加到filename后
GET filename 从filename里把SQL命令读到sql buffer
STA[RT] filename 运行上次保存到文件filename里的SQL命令
@filename 运行上次保存到文件filename里的SQL命令
EDIT 打开编辑窗口,编辑sql buffer里的SQL命令
EDIT filename 打开编辑窗口,编辑文件filename里的SQL命令
SPO[OL] filename [OFF | OUT] 把SQL命令结果输出到OS下一个文件filename  OFF结束输出到文件, OUT结束输出到文件并打印文件
4. SQL*PLUS里规定字段的显示格式
规定数字的显示格式
SQL>column 字段名 format 99999999999;
SQL>column 字段名 format 999,999,999,999;
规定字符串的显示宽度 
SQL>column 字段名 format a数字 [word_wrapped];
说明: 一行只显示数字位的长度, 超过长度折行,加word_wrapped后, 单词不会折行
规定long字符的显示宽度
SQL>set long 200;
规定字段名的显示内容
SQL> column 字段名 heading '字段名显示内容';
SQL> set heading off; 查询时不显示字段名称
规定字段的对齐方向
SQL> column 字段名 justify [left | right | center];
清除字段的格式
SQL> column 字段名 clear;

5. SQL*PLUS里规定字段的显示格式例子
SQL> column last_name heading 'Employee|Name' format a15;
SQL> column salary justify right format $99,999.99;
SQL> column start_date format a10 null 'Not Hired';
说明:如果start_date为null, 显示字符串'Not Hired'

6. 判断题(T/F)
(1). SQL command are always held in sql buffer. [T]
(2). SQL*PLUS command assit with query data. [T]
SQL*PLUS命令只控制SELECT结果集的显示格式及控制文件.只有SQL命令能访问数据库.

- 作者: 04320710222shine 2005年12月1日, 星期四 22:38  回复(1) |  引用(19) 加入博采

HR还能做什么
在西方发达国家,管理者已经可以成为企业重要决策的参与者,但是在中国,人力资源管理成为企业管理中重要的一项功能,也不过是近十年来的事。对于从事人力资源管理的工作者而言,如何在企业中受到重视,一直是他们努力的目标。

  其实,工作的重要性是可以被创造出来的,如何用更符合需要的角度看待工作上所面对的问题,进而提供有效率的解决方案;同时,成为企业真正的帮手,才能够是自己立于不败之地。

  几乎稍具规模的企业都会有人力资源管理部门,那么,人力资源部门的工作内容是什么?笔者向一些身处职场的人提问时,大多数答案不外乎招聘、培训、薪酬福利等大家都知道的人力资源管理功能。当被问及人力资源管理对于企业来说的价值何在时,一位培训经理极为自信地回答:维持企业人力资源的质量、提升企业人员士气……”,凡此种种极其伟大的 mission statement。看得出在这些企业中,专业的人力资源管理者可以发挥的空间并不多。我们甚至常可以看到国内一些号称高科技产业的企业,却还是土法炼钢的进行人力资源管理的工作。

  美国一份专业管理杂志针对预测未来人力资源管理重要的功能时,接受访问的三百多位专业人力资源管理者所得到的结论为:

  1.人力招聘与甄选。(55% 2.在企业内带领变革。(53% 3.高层经理的甄选。(49%4.建立以绩效考核为架构的薪资制度。(47% 5.领导力的训练。(41% 6.管理能力的发展。(38% 7.人力资源的多样化。(35% 8.提升顾客服务品质。(34% 9.建立奖励与奖金制度。(34%10.企业文化的改变。(33%

  从以上排行前十名的功能中我们可以发现,未来企业对人力资源管理的期望已经由执行方面向规划方面转变。同时除了传统的人力资源功能,如:招聘、训练、薪资福利管理以外,还包括三项不是传统人力资源的功能,而且以第二项领导变革最具挑战性。中国入WTO后,一个崭新的人力资源管理时代的来临,对于将人力资源管理定位为职涯发展的专业人士来说,挑战虽然会让人精神振奋,但是未来经营环境对于企业的要求是十分残酷的。身处于这样的环境中,专业的人力资源管理者将如何做出回应?

  只有变革

  过去HR部门都习惯以内部环境与资源作为战略规划的基础、对于人力的预估以业务与生产单位年度计划为准、薪资计划以企业预算为基础等思考方向,在新的世纪应该试着将眼界放到外部环境甚至国际,不断将自己放在开放的环境中思考所规划的策略,以获得对外部环境的各项资料作为决策的重要参考。并且HR部门永远有其它单位所没有的优势,那就是HR部门对于企业现况的了解,永远应该比其它部门要快要充分。因此HR部门在提出本身的业务计划同时,还要能够从外部提供其它部门所需要的相关信息,并引导组织不断向看。

  过去十几年,我们可以看到很多企业因为疏于向外看,而错失先机让对手超前,甚至从竞争者名单中消失。Digital计算机因为不习惯向外看,错估个人计算机的趋势,因此被年轻的康柏计算机结束四十七年的生命;英特尔看轻低价计算机的威力,将微处理器的市场优势,拱手让给AMD分享,就是最好的例子。向外看对于企业来说,不单单是给自己了解竞争对手在做什么的机会,并且也可以确认自己是否在正确的道路上。

  那么,为什么人力资源部门可以担任这项工作?除了前面提到的对于企业的了解外,HR部门也是企业接触外部最多的单位之一(如果你很少与外部环境打交道,可能需要调整一下心态了!),加上HR管理者应该都要具备有的较宏观视野,因此,对于外部环境会有较敏感的反应。所以企业的HR部门完全能够也应该要定期将外部环境的信息传递给内部成员,例如:业界有什么变化?竞争者有哪些新产品或服务推出?就业市场的状况?竞争者在管理上有什么新措施等。

  面对经营环境的快速变迁,企业界的竞争优势会在彼此的竞争与信息技术发展下迅速的建立起来,同时也会被对手迅速赶上而瓦解。企业在竞争的强大压力迫使下,通常对于企业需要变革的相关信息或方向反应迟钝。此时人力资源管理者就可以负起企业变革的发起者的角色。

  传统的人力资源管理者会将本身的活动范围局限在企业内部,或是向外拓展到同一产业内。在不断变化的经济环境中,人力资源管理必须同时具有吸收多种产业信息的能力,并且通过适当的渠道与方法﹐转化成对于组织内部有价值的信息。而当外部整体环境起了关键性的变化,或是已经发展到成熟阶段时,人力资源管理者也必须要有能力发起企业的变革,以迎合变动的环境。

  传统的职能也需变革

  面对外在的要求,不论是来自竞争者,或是消费者,企业都必须立即做出全面的、有效的反应。时间对不知珍惜的人的处罚很残酷,对于人力资源从业者来说,任何一项错误的策略规划都有可能遭致无法挽回的遗憾。一个新的时代来临同时表示着过去所用来开疆辟土的武功已经不管用了。对人力资源从业者来说,即便是传统的职能,也必须要能提升质量,习得新技能,才能过关斩将。

  招聘与甄选

  未来的招聘工作,再靠人力资源部门的人员一把抓的话,只有事倍功半的效果;新时期的专业招聘人员,必须要懂得借用其它的力量。首先,招聘人员必须要有了解市面上所有可以运用的招聘渠道,对于运作方式、优缺点、成本、时效性等个别特性要能如数家珍。另外,没有任何一种招聘渠道是适合企业内部所有职位的;因此,招聘人员必须能针对不同的人力需求寻找最有效的招聘渠道。登报纸找经理级别的主管,当然会比请猎头公司帮忙效果差,而有时候,找清洁人员可能用夹报广告会较有效果。当然,很多专业的人力资源管理者都了解,在人才招聘的领域中,成本、时效与品质永远是不可能同时达成的。如果用人着急,又不愿意降低人力品质,那势必要花多一些成本才有可能达成时效的目标。这一点是招聘人员必须时时放在心上,而且有必要和内部客户(用人单位)沟通的重点。

  培训与发展

  由于新知识与新技能的发展速度越来越快,新信息产出的量也越来越多,企业内的培训人员不可能再担任企业内师傅的角色,而必须要转换成为企业对外信息的守门人,以及新知识的推销者。培训者要会使用各种信息收集的工具,当然未来数字化会是绝大部份信息产生以及储存的方式,因此企业内的培训人员要知道各种数字化资源的来源管道,并且要能很熟练的使用这些工具协助企业收集各项相关信息。另外,在信息泛滥的未来,如何分辨信息是否有用,企业内训练人员非常重要的技能,如果只是毫无选择的将所收集到的外界信息一股脑的丢给内部人员,很有可能造成信息冲突。

  员工关系

  过去的员工关系大多是在提供一般性服务,例如餐厅、交通、社团等工作。未来的员工大多数会是knowledge worker(知识员工),员工的需求与价值观待会和目前的工作者有很大的不同,加上他们的工作形态(全职、兼职、派遣人员等)或是方式(集中、分区工作)都会和现在的员工有很大的差异,因此员工关系也必须重新思考。举例来说,网络化的企业内部刊物就绝对比平面印刷刊物在沟通效果上来的好,因为分散全球各地的员工都可以随时上网察看,而不须等待邮寄运送的过程。网络化的员工意见调查方式,也势必取代传统方式。

  薪资福利

  传统的薪资福利管理人员,通常给人神秘(因为有些要保密的薪资资料)或是很严肃的感觉,但是下一世纪的专业薪资福利规划人员,必须要有绝佳的信息收集、意见沟通、以及及时的判断能力。薪资福利绝对是企业吸引优秀人才的第一道武器,如何设计一套完整的薪资架构与福利制度是薪酬福利主管最大的挑战。随时取得收集有效的外部资料会是成功的第一步,接下来要能掌握薪资管理的趋势与相关管理技能,例如基本薪(base pay)与变动性薪资(variable compensation)的制度,该如何就企业目前现况调整设计;或是激励性薪资(motivated incentives)在企业发展的不同阶段应该如何考量……

  将后的专业人力资源管理者,也许职务、头衔是一样的,又或许部门名称依旧,但是工作的内容或是所需要的核心能力将会大大的不同了。力资源管理者绝对不可以再用过去所习惯的思考模式或工作方式,来回应未来企业对于人力资源管理的挑战。吸收并且学习最新的工作技能是目前人力资源者所需要做的最重要的一件事,不愿意改变而死守过去习惯,认为可以以此保住自己工作的人,将会成为下一轮被淘汰者。

- 作者: 04320710222shine 2005年12月1日, 星期四 20:37  回复(2) |  引用(0) 加入博采

个人求职简历技巧

有的人认为,如果一份简历最能够充分表现自己的任职资格和工作能力以及经验等,那就算是写得最好的简历。其实这种看法并非反映了求职的真实状况。 
  简历的一个重要目的就是要尽可能地使招聘单位对你产生注意力和发生兴趣,能够使得人才交流中心和介绍所对你产生信任感或赞赏,看到了你的简历,就想把你推荐给用人单位。

  一般说来,你想去的单位,其他人也有想要去的,招聘的人事部门可能同时收到十几份甚至更多的简历,一般说大多数简历都是大同小异(诸如格式、专业需求、能力等),许多简历可能看一眼就过去放在一边了。因此,你在简历中,必须要有引起人特别注意的东西,使对方对你有个好印象,否则就不可能指望有任何与对方面谈的机会了。

  因此个人求职简历的好坏是决定你能否得到所求职位的第一关。

  有的人认为,简历是求职者实际情况的自然陈述,是自己工作经历、所受教育学历、能力的描述。其实并非如此,你的简历必须要能够经得起淘汰,使得自己可以成为那几个被筛选到有机会接受面试的人之一。

  所以有的人说,简历只是一个机遇或者一张门票,目的在于引起招聘单位的兴趣,为自己赢得面试的机会。

  在前面已经谈过简历的几个功能,重要的一个就是要赢得面试机会,那么是不是为了达到这个目的就可以编造事实而弄虚作假呢?必须要记住:一定要实事求是,切忌弄虚作假。

  写简历寄出,只是作为整个求职过程的一个环节,并非个人求职的最终目的。求职的最终目的是要获得这份工作,并再积极发展。

  求职简历主要是为了获得一次面试机会或与招聘单位进一步接触的机会而并不是最后目的。

  如果你捏造事实暂时获得了机会甚至感觉不错,倘若被对方发现,将会影响不好甚至将身败名裂。俗语说:好事不出门,坏事传千里,应该时时牢记。

- 作者: 04320710222shine 2005年12月1日, 星期四 19:57  回复(1) |  引用(0) 加入博采

反映你的专业水平

求职信可以展现出您的长处,能增加获得面试的机会。只有能体现个人聪明才智的求职信,才能帮助你顺利地谋求到一份理想的工作。
    写作思路 求职信也是交际的一种形式,它可以反映出一个人的专业水平,从用人单位的角度出发考虑问题是使求职信产生积极效果的重要方法。求职者应该采取换位思考的方法,通过分析用人单位提出的要求,了解他们的需要,然后有针对性地向他们提供自己的背景资料,表现出自己独到的智慧与才干,使他们从你的身上看到希望,并做出对你有利的决定。

    写作原则 根据求职的目的来布局谋篇,把重要的内容放在篇首,对相同或相似的内容进行归类组合,段与段之间按逻辑顺序衔接,从阅信人的角度出发组织内容。信件要具个人特色、亲切且能体现出专业水平,意思表达要直接、简洁,书写要清晰、简单明了,内容、语气、用词的选择和对希望的表达要积极,充分显示出你是一个乐观、有责任心和有创造力的人。

    求职信的诸多不宜 不宜太长,一封求职信不能多于一页。不宜有文字上的错讹,切忌有错字、别字、病句及文理欠通顺的现象发生。不宜是履历的翻版,应与履历分开,自成一体。

    写求职信要坚持实事求是的原则,用成就和事实代替华而不实的修饰语,恰如其分地介绍自己。要突出重点,针对某一单位的某一职位而求职,效果会更好。文字要顺畅,字迹要工整,求职信是用人单位对求职人的一次非正式的考核,用人单位可以通过信件了解求职者的语言修辞和文字表达能力,可以说求职信是用人单位对求职者取得第一印象的凭证。

    求职信正确的写法 第一部分写明你要申请的职位和你是如何得知该职位的招聘信息的。第二部分说明你如何满足公司的要求,陈述个人技能和个性特征。第三部分表明你希望迅速得到回音,并标明与你联系的最佳方式。第四部分感谢对方阅读并考虑你的应聘。每封求职信应以针对适合雇主而精心设计,以此表明你明白该公司的需要。求职信还应包括与你所取得的成果及解决的问题的事例,这些事例与你所申请的工作类型相关。

    求职信应是寄给有职位的某一特定的人, 使用高档纸书写,仔细校对,避免打字或语法方面的错误,要自存副本档案。

- 作者: 04320710222shine 2005年12月1日, 星期四 19:50  回复(1) |  引用(0) 加入博采

如何判断你的电脑是否含病毒

各种病毒时至今日也可算是百花齐放了,搞得人心惶惶,一旦发现自己的电脑有点异常就认定是病毒在作怪,到处找杀毒软件,一个不行,再来一个,总之似乎不找到"元凶"誓不罢休一样,结果病毒软件是用了一个又一个,或许为此人民币是用了一张又一张,还是未见"元凶"的踪影,其实这未必就是病毒在作怪。

  这样的例子并不少见,特别是对于一些初级电脑用户。下面我就结合个人电脑使用及企业网络维护方面的防毒经验从以下几个方面给大家介绍介绍如何判断是否中了病毒,希望对帮助识别"真毒"有一定帮助!

  病毒与软、硬件故障的区别和联系

  电脑出故障不只是因为感染病毒才会有的,个人电脑使用过程中出现各种故障现象多是因为电脑本身的软、硬件故障引起的,网络上的多是由于权限设置所致。我们只有充分地了解两者的区别与联系,才能作出正确的判断,在真正病毒来了之时才会及时发现。下面我就简要列出了分别因病毒和软、硬件故障引起的一些常见电脑故障症状分析。

  症状 病毒的入侵的可能性 软、硬件故障的可能性

  经常死机:病毒打开了许多文件或占用了大量内存;不稳定(如内存质量差,硬件超频性能差等);运行了大容量的软件占用了大量的内存和磁盘空间;使用了一些测试软件(有许多BUG);硬盘空间不够等等;运行网络上的软件时经常死机也许是由于网络速度太慢,所运行的程序太大,或者自己的工作站硬件配置太低。

  系统无法启动:病毒修改了硬盘的引导信息,或删除了某些启动文件。如引导型病毒引导文件损坏;硬盘损坏或参数设置不正确;系统文件人为地误删除等。

  文件打不开:病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了;如果是在局域网中多表现为服务器中文件存放位置发生了变化,而工作站没有及时涮新服器的内容(长时间打开了资源管理器)。

  经常报告内存不够:病毒非法占用了大量内存;打开了大量的软件;运行了需内存资源的软件;系统配置不正确;内存本就不够(目前基本内存要求为128M)等。

  提示硬盘空间不够:病毒复制了大量的病毒文件(这个遇到过好几例,有时好端端的近10G硬盘安装了一个WIN98或WINNT4.0系统就说没空间了,一安装软件就提示硬盘空间不够。硬盘每个分区容量太小;安装了大量的大容量软件;所有软件都集中安装在一个分区之中;硬盘本身就小;如果是在局域网中系统管理员为每个用户设置了工作站用户的"私人盘"使用空间限制,因查看的是整个网络盘的大小,其实"私人盘"上容量已用完了。

  软盘等设备未访问时出读写信号:病毒感染;软盘取走了还在打开曾经在软盘中打开过的文件。

  出现大量来历不明的文件:病毒复制文件;可能是一些软件安装中产生的临时文件;也或许是一些软件的配置信息及运行记录。

  启动黑屏:病毒感染(记得最深的是98年的4.26,我为CIH付出了好几千元的代价,那天我第一次开机到了Windows画面就死机了,第二次再开机就什么也没有了);显示器故障;显示卡故障;主板故障;超频过度;CPU损坏等等

  数据丢失:病毒删除了文件;硬盘扇区损坏;因恢复文件而覆盖原文件;如果是在网络上的文件,也可能是由于其它用户误删除了。

  键盘或鼠标无端地锁死:病毒作怪,特别要留意"木马";键盘或鼠标损坏;主板上键盘或鼠标接口损坏;运行了某个键盘或鼠标锁定程序,所运行的程序太大,长时间系统很忙,表现出按键盘或鼠标不起作用。

  系统运行速度慢:病毒占用了内存和CPU资源,在后台运行了大量非法操作;硬件配置低;打开的程序太多或太大;系统配置不正确;如果是运行网络上的程序时多数是由于你的机器配置太低造成,也有可能是此时网路上正忙,有许多用户同时打开一个程序;还有一种可能就是你的硬盘空间不够用来运行程序时作临时交换数据用。

  系统自动执行操作:病毒在后台执行非法操作;用户在注册表或启动组中设置了有关程序的自动运行;某些软件安装或升级后需自动重启系统。

  通过以上的分析对比,我们知道其实大多数故障都可能是由于人为或软、硬件故障造成的,当我们发现异常后不要急于下断言,在杀毒还不能解决的情况下,应仔细分析故障的特征,排除软、硬件及人为的可能性。

  病毒的分类及各自的特征

  要真正地识别病毒,及时的查杀病毒,我们还有必要对病毒有一番较详细的了解,而且越详细越好!

  病毒因为由众多分散的个人或组织单独编写,也没有一个标准去衡量、去划分,所以病毒的分类可按多个角度大体去分。

  如按传染对象来分,病毒可以划分为以下几类:

  a、引导型病毒

  这类病毒攻击的对象就是磁盘的引导扇区,这样就能使系统在启动时获得优先的执行权,从而达到控制整个系统的目的,这类病毒因为感染的是引导扇区,所以造成的损失也就比较大,一般来说会造成系统无法正常启动,但查杀这类病毒也较容易,多数杀毒软件都能查杀这类病毒,如KV300、KILL系列等。

  b、文件型病毒

  早期的这类病毒一般是感染以exe、com等为扩展名的可执行文件,这样的话当你执行某个可执行文件时病毒程序就跟着激活。近期也有一些病毒感染以dll、ovl、sys等为扩展名的文件,因为这些文件通常是某程序的配置、链接文件,所以执行某程序时病毒也就自动被子加载了。它们加载的方法是通过插入病毒代码整段落或分散插入到这些文件的空白字节中,如CIH病毒就是把自己拆分成9段嵌入到PE结构的可执行文件中,感染后通常文件的字节数并不见增加,这就是它的隐蔽性的一面。

  c、网络型病毒

  这种病毒是近几来网络的高速发展的产物,感染的对象不再局限于单一的模式和单一的可执行文件,而是更加综合、更加隐蔽。现在一些网络型病毒几乎可以对所有的OFFICE文件进行感染,如WORD、EXCEL、电子邮件等。其攻击方式也有转变,从原始的删除、修改文件到现在进行文件加密、窃取用户有用信息(如黑客程序)等,传播的途经也发生了质的飞跃,不再局限磁盘,而是通过更加隐蔽的网络进行,如电子邮件、电子广告等。

  d、复合型病毒

  把它归为"复合型病毒",是因为它们同时具备了"引导型"和"文件型"病毒的某些特点,它们即可以感染磁盘的引导扇区文件,也可以感染某此可执行文件,如果没有对这类病毒进行全面的清除,则残留病毒可自我恢复,还会造成引导扇区文件和可执行文件的感染,所以这类病毒查杀难度极大,所用的杀毒软件要同时具备查杀两类病毒的功能。

  以上是按照病毒感染的对象来分,如果按病毒的破坏程度来分,我们又可以将病毒划分为以下几种:

  a、良性病毒:

  这些病毒之所以把它们称之为良性病毒,是因为它们入侵的目的不是破坏你的系统,只是想玩一玩而已,多数是一些初级病毒发烧友想测试一下自己的开发病毒程序的水平。它们并不想破坏你的系统,只是发出某种声音,或出现一些提示,除了占用一定的硬盘空间和CPU处理时间外别无其它坏处。如一些木马病毒程序也是这样,只是想窃取你电脑中的一些通讯信息,如密码、IP地址等,以备有需要时用。

  b、恶性病毒

  我们把只对软件系统造成干扰、窃取信息、修改系统信息,不会造成硬件损坏、数据丢失等严重后果的病毒归之为"恶性病毒",这类病毒入侵后系统除了不能正常使用之外,别无其它损失,系统损坏后一般只需要重装系统的某个部分文件后即可恢复,当然还是要杀掉这些病毒之后重装系统。

  c、极恶性病毒

  这类病毒比上述b类病毒损坏的程度又要大些,一般如果是感染上这类病毒你的系统就要彻底崩溃,根本无法正常启动,你保分留在硬盘中的有用数据也可能随之不能获取,轻一点的还只是删除系统文件和应用程序等。

  d、灾难性病毒

  这类病毒从它的名字我们就可以知道它会给我们带来的破坏程度,这类病毒一般是破坏磁盘的引导扇区文件、修改文件分配表和硬盘分区表,造成系统根本无法启动,有时甚至会格式化或锁死你的硬盘,使你无法使用硬盘。如果一旦染上这类病毒,你的系统就很难恢复了,保留在硬盘中的数据也就很难获取了,所造成的损失是非常巨大的,所以我们进化论什么时候应作好最坏的打算,特别是针对企业用户,应充分作好灾难性备份,还好现在大多数大型企业都已认识到备份的意义所在,花巨资在每天的系统和数据备份上,虽然大家都知道或许几年也不可能遇到过这样灾难性的后果,但是还是放松这"万一"。我所在的雀巢就是这样,而且还非常重视这个问题。如98年4.26发作的CIH病毒就可划归此类,因为它不仅对软件造成破坏,更直接对硬盘、主板的BIOS等硬件造成破坏。

  如按其入侵的方式来分为以下几种:

  a、源代码嵌入攻击型

  从它的名字我们就知道这类病毒入侵的主要是高级语言的源程序,病毒是在源程序编译之前插入病毒代码,最后随源程序一起被编译成可执行文件,这样刚生成的文件就是带毒文件。当然这类文件是极少数,因为这些病毒开发者不可能轻易得到那些软件开发公司编译前的源程序,况且这种入侵的方式难度较大,需要非常专业的编程水平。

  b、代码取代攻击型

  这类病毒主要是用它自身的病毒代码取代某个入侵程序的整个或部分模块,这类病毒也少见,它主要是攻击特定的程序,针对性较强,但是不易被发现,清除起来也较困难。

  c、系统修改型

  这类病毒主要是用自身程序覆盖或修改系统中的某些文件来达到调用或替代操作系统中的部分功能,由于是直接感染系统,危害较大,也是最为多见的一种病毒类型,多为文件型病毒。

  d、外壳附加型

  这类病毒通常是将其病毒附加在正常程序的头部或尾部,相当于给程序添加了一个外壳,在被感染的程序执行时,病毒代码先被执行,然后才将正常程序调入内存。目前大多数文件型的病毒属于这一类。

  有了病毒的一些基本知识后现在我们就可以来检查你的电脑中是否含有病毒,要知道这些我们可以按以下几个方法来判断。

  1、反病毒软件的扫描法

  这恐怕是我们绝大数朋友首选,也恐怕是唯一的选择,现在病毒种类是越来越多,隐蔽的手段也越来越高明,所以给查杀病毒带来了新的难度,也给反病毒软件开发商带来挑战。但随着计算机程序开发语言的技术性提高、计算机网络越来越普及,病毒的开发和传播是越来越容易了,因而反病毒软件开发公司也是越来越多了。但目前比较有名的还是那么几个系统的反病毒软件,如金山毒霸、KV300、KILL、PC-cillin、VRV、瑞星、诺顿等。至于这些反病毒软件的使用在此就不必说叙了,我相信大家都有这个水平!

  2、观察法

  这一方法只有在了解了一些病毒发作的症状及常栖身的地方才能准确地观察到。如硬盘引导时经常出现死机、系统引导时间较长、运行速度很慢、不能访问硬盘、出现特殊的声音或提示等上述在第一大点中出现的故障时,我们首先要考虑的是病毒在作怪,但也不能一条胡洞走到底,上面我不是讲了软、硬件出现故障同样也可能出现那些症状嘛!对于如属病毒引起的我们可以从以下几个方面来观察:

  a、内存观察

  这一方法一般用在DOS下发现的病毒,我们可用DOS下的"mem/c/p"命令来查看各程序占用内存的情况,从中发现病毒占用内存的情况(一般不单独占用,而是依附在其它程序之中),有的病毒占用内存也比较隐蔽,用"mem/c/p"发现不了它,但可以看到总的基本内存640K之中少了那么区区1k或几K。

  b、注册表观察法

  这类方法一般适用于近来出现的所谓黑客程序,如木马程序,这些病毒一般是通过修改注册表中的启动、加载配置来达到自动启动或加载的,一般是在如下几个地方实现:

  [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion

  等等,具体可参考我的另一篇文章--《通通透透看木马》,在其中对注册表中可能出现的地方会有一个比较详尽的分析。

  c、系统配置文件观察法

  这类方法一般也是适用于黑客类程序,这类病毒一般在隐藏在system.ini 、wini.ini(Win9x/WinME)和启动组中,在system.ini文件中有一个"shell="项,而在wini.ini文件中有"load= "、"run= "项,这些病毒一般就是在这些项目中加载它们自身的程序的,注意有时是修改原有的某个程序。我们可以运行Win9x/WinME中的msconfig.exe程序来一项一项查看。具体也可参考我的《通通透透看木马》一文。

  d、特征字符串观察法

  这种方法主要是针对一些较特别的病毒,这些病毒入侵时会写相应的特征代码,如CIH病毒就会在入侵的文件中写入"CIH"这样的字符串,当然我们不可能轻易地发现,我们可以对主要的系统文件(如Explorer.exe)运用16进制代码编辑器进行编辑就可发现,当然编辑之前最好还要要备份,毕竟是主要系统文件。

  e、硬盘空间观察法

  有些病毒不会破坏你的系统文件,而仅是生成一个隐藏的文件,这个文件一般内容很少,但所占硬盘空间很大,有时大得让你的硬盘无法运行一般的程序,但是你查又看不到它,这时我们就要打开资源管理器,然后把所查看的内容属性设置成可查看所有属性的文件(这方法应不需要我来说吧?),相信这个庞然大物一定会到时显形的,因为病毒一般把它设置成隐藏属性的。到时删除它即可,这方面的例子在我进行电脑网络维护和个人电脑维修过程中见到几例,明明只安装了几个常用程序,为什么在C盘之中几个G的硬盘空间显示就没有了,经过上述方法一般能很快地让病毒显形的。

- 作者: 04320710222shine 2005年12月1日, 星期四 17:41  回复(2) |  引用(0) 加入博采

做份实用简历
简历内容

  除了毕业学校、所学专业、性别、年龄、联络方式这些基本内容,你给企业准备的简历中还应该包括以下内容:

  你的教育背景(包括所有相关的专业技能培训等)与应聘的职位及业务相关的经验你曾经获得过的荣誉及奖励你的自我评价(优点阐述)你对如何开展业务方面的想法(没有把握的话建议不要写)

  写简历的七忌

  ★不要像写论文那样准备厚厚的一本。企业看一份简历的时间一般不会超过5分钟,没有哪个企业领导会有耐心读你的“专著”,要善于抓住要点,建议长度不要超过2页A4纸。

  ★不要把那些跟职位和工作无关的兴趣爱好都一股脑地写进去,比如旅游、看小说、唱歌、钢琴九级等等,这些兴趣爱好通常不会给你加分。

  ★不要把在学校的各科成绩单都附上,你是去企业应聘,不是申请出国留学。当然,如果你的学习成绩特别优秀,那你就写上曾经连续几年拿过一等奖学金或者成绩全年级第几名等,这就足够了。

  ★简历不要设计得过于华丽,这会让用人单位觉得你太会包装自己,把工夫都用在了外表上,甚至认为你的简历是请专门的美术人员“装潢”出来的。

  ★与应聘职位无关的工作经验不要写。根据用人单位的性质、对职位的要求,提供出足以向用人单位证明自己能力的背景资料就可以了。

  ★简历中不要面面俱到地展示你的所有方面才能,这样用人单位会抓不住重点。

  ★建议不要在简历中写明最低薪水要求及职位要求,否则你可能失去面谈的机会,不要自己给自己设定过高的门槛。

  专家建议一

  突出学历或经验

  如果你是名牌大学毕业生,那就尽量突出你毕业的学校;若是你所学的专业与应聘的工作内容非常对口,那就尽量突出你的专业背景;如果你学历背景没有优势,那就想方设法在经验上胜人一筹,好好挖掘自己的经验,比如你参与过的所有社会实践实习活动、所研究过的课题等,尽量找出那些足以证明你的经验优势的信息来。

  专家建议二

  递简历时巧用心思

  第一,给对方简历前,要尽量多地提前做些功课,好好上网查查招聘企业的资料,并针对性地修改简历,然后再去那个企业应聘。

  第二,在企业招聘会现场给企业递交简历时,要选择人不是很多、很乱的时候,要争取多跟用人单位聊聊,增加对方的印象,最好能让对方把你的简历做上重点标注或者当时决定约你什么时间去公司再次面试,否则你的简历极有可能被淹没在一堆竞争者的简历当中永无出头之日。

  第三,多准备一些自己觉得比较满意、能体现你的气质的近照,在给对方简历的同时也附上你的照片,这会加深对方对你印象。

  第四,还应该尽量选择好要应聘的职位,找把握最大的职位应聘,不要对同一个公司应聘好多个不同的职位,那样用人单位会觉得你定位不清楚,不是专业人才。

- 作者: 04320710222shine 2005年12月1日, 星期四 16:36  回复(1) |  引用(0) 加入博采

想进IT公司简历聪明写法

不起眼的简历恰恰代表了人才竞争的第一步,人才被淘汰源于简历,被淘汰因素并非是学历高低、专业不对口等“硬条件",而是对待简历的随意马虎、不严谨、不诚信的通病。那么,如果想在当下最火的IT界脱颖而出,简历该怎么写呢?

◎ 简历格式——不要五花八门,“不拘一格”

有的简历是手写体,字迹不清,致使阅读困难;有的人书写简历喜欢用美术字、斜体字,“看上去非常古怪”;有的简历多种格式混用,有表格、有直排版,用彩纸打印,样式十分花哨。

这种简历的命运就是马上进入碎纸机。

一份像样的简历就是个人素质、学识的一种体现,而简历写得不规范,“不Professional”,给人第一印象就极差。“从一点点小事我们就可以考察一个人。一个大学生,连简历都写不好,企业如何将艰巨的任务交给他。”IBM中国公司人力资源专员告诫自己身边的朋友。

◎ 简历内容——简为先、诚信为二

★简单:有的简历是“小说体”,洋洋洒洒近万字,从自己出生写到大学毕业,令人啼笑皆非;有的简历很短,只有一页纸,各种证书、学位、证件的复印件倒是“喧宾夺主”,影响了人力主管的注意力。

要知道,外企人事经理查看求职者简历的时间非常有限,“一忙起来平均每2分钟就要看一份简历,就好像高考批改作文卷子一样。”人事经理不得不“以貌取人”,即看简历写得如何,是不是“干净利索”;再看基本条件,如学历、经历;最后是能力、潜能和性格。

★诚信:大学生入职IT在简历上反映出来最大的问题是不诚信。简历应该是个人真实情况的反映,但在操作上却成了地道的商业包装。

“班长”、“支书”满天飞,动辄“国家奖学金”、“重大科研成果”。“两份同一个学校同一个专业同一个班级毕业生的简历,竟然都说自己是班长,都说自己是优秀学生,这两份简历我们企业一个都不要。”上海一家民营IT企业的负责人略带生气地告诉笔者。

◎ 规范合格的简历应分成四大内容

事实证明,简明扼要、切中要点、朴实无华、坦白真切的简历胜过投机取巧。专家指点,规范合格的简历应分成四大内容:

★第一是求职者的个人信息

一般要求姓名、性别、出生年月、婚姻状况、详细的联系方式,包括可以收到信函的住址、座机、手机号码和电子邮件。有些外地的应聘者担心自己的户籍影响录取,专家表示,外地户口对企业录用科技人才影响“微乎其微”,“主要看是否能‘出活’。”

★第二是教育背景

很多人从小学一直写到大学,很罗嗦。其实从高中写起就可以,教育背景应以证明人才的知识水准、能力为准。正常情况下应包括正规、非正规的成人教育和专业培训。“很多大学生朋友只是写正规高校教育,社会教育只字未提,这是非常吃亏的。”

新人入职IT不应惧怕自己专业不对口。爱立信认为,一个人的智力与他所上的大学、所学的专业没有太大的关系,“专业很重要,但不起决定性作用"。但是业内也有不少企业比较关注人才是否是高学历,持有研究生以上学位者依然具有一定优势。

★第三是让新人非常头痛的工作经历

专家认为这因人而异,工作经历可以包括雇佣性质的工作,如在校打工,也可以包括单位实习。义工和社团社区工作也能获得企业承认,特别是能赢得外企的欣赏,但是这方面中国大学生的体验非常少。

★简历的最后应该点明自己掌握的技术、技能

IT企业比较重视电脑编程、外语、沟通能力、人际关系和团队精神,性格特点和兴趣爱好则无苛求。在书写简历的时候可以结合具体应聘企业状况适当做一些“技术性"的处理。

全部简历控制在4张A4纸为宜,其中应附带一页纸左右的求职信。“一张纸太少,2~4张刚好,5张以上太多,7~8张纸完全不必要。”“如果用人单位没有特定要求,一般不提期望薪水,也不要附学历复印件。薪水和学历检验在面试的时候进行沟通。"有的求职者在招聘会上一边递简历,一边送上软盘和光盘,这完全没有掌握简历招聘的规律,而且还浪费了资源。

◎ 推荐:提高简历录用的成功率的小技巧

提高简历录用的成功率还有很多小技巧。如应聘者擅长硬笔书法,手写一份简历便能在“云云众生”中脱颖而出;如应聘者有亲友在外企任职,委托其投递简历或者经其推荐进入内部招聘流程,很容易就能通过“简历关”。

- 作者: 04320710222shine 2005年12月1日, 星期四 16:31  回复(1) |  引用(0) 加入博采

人际关系的55个绝招
无论是认识或不认识的朋友,只要是能提供净言或是言行足资借镜者,都不要忘了面露微笑地跟他们说声谢谢。把这养成习惯后,不仅是你的事业前途,连你的人生观都将改写了。

第1招 认清人生的意义以及毕生所全力以赴的目标

  为什么要这么拼命?因为你必须对得起自己的良知。

  想要成为一个人际关系高手,第一步就必须先确认你的价值观;若是你连这个都摸不清楚,就很难去看透人生的意义,更不用说什么成就感了。

第2招 列举出截至目前为止的五件重大成就

  知彼者,智也;知己者,大智也。

第3招 明白自己有哪些专长和资源正是他人所迫切需要

  天生我才必有用。

  无论你的专长是得自专业训练或是业余摸索,都可转化成一股强劲的"人际关系动能",千万不要妄自菲薄。

第4招 挥别独行侠的日子

  还想像小学生那样科科争第一?别傻了,这个世界只有团队成绩,没有个人成绩,因此也没有所谓的"第一名"。

  告别独行侠的生涯,你的人生将从黑白转为彩色,全新出发。

第5招 为自己建立自信,自助助人

  人人都有改造世界的能力,你自然也不例外。

  多参加一些活动,帮助别人,也是帮助自己。

第6招 拟定短期与长期奋斗目标,定期予以审视与修改

  工作计划簿有用吗?有,至少可以让一个人培养出三分钟的热度。

  拟定目标不仅可以督促自己,也能让别人得知你有哪些需要。只要你勤于跟别人沟通,那你的朋友自然就知道你有什么困难,进而藉着人际关系这张大网来帮你早日实现自己的梦。

第7招 绘出一张人际关系"网络图",显现出自己在这项资源上的多样化与触角纵深

  人际关系网的特色是:每个成员都是老大。

  如果你能保有最新版本的人际关系图,就不难得知在眼前这一刻该如何以自己为主角,来善用你的人际关系资源。

第8招 以一种相当专业化的方式来做自我介绍

  在很多场合下,你所表现出的外在形象要远比你真正的本事来得重要。

第9招 以简洁得体又别出心裁的方式来做自我介绍

  无论是在何种社交场合,想扩展人际关系的第一课就是要学会自我介绍。

  要设法出奇制胜。让对方牢牢地记得你,而且是记得正面的形象。

第10招 技巧性地打开话匣子

  为什么我们经常错过了许多广结人缘的机会?就是因为我们常把那些黄金时段用来绞尽脑汁,却还是挤不出一句合适的开场白。

  无论是主动或被动去打开话匣子都能得心应手。一旦你能达到这个境界,那无论把你丢在任何一个场合中,必都能迅速进入状况,随心所欲地去扩展人缘,为自己在生活与事业中,营造一个又一个绝佳的发展机会。

第11招 有必要时,就主动再做一次自我介绍

  如果有人主动走过来跟你打招呼,那这一定是个大人物。

  多练习一下"纡尊降贵",经常不厌其烦地做自我介绍,你的人际关系通道将会愈走愈宽,也愈走愈顺。

第12招 看清他们的面目,牢记他们的大名

  人们其实不在乎你对他们的底细了解多少,但很在乎你有没有仔细在听。

第13招 善于在社交场合做称职的主人

  只要地球上还有人类,就不愁没有机会去表达你的善意。

第14招 乐于站出来为自己打知名度

  想为自己打知名度并不需要不择手段;相反地,这有助于早日实现你的理念。

  适度地推荐自己,才能让人得知在什么时候能够向你求助或请教,不致让你英雄无用武之地。

第15招无论与任何一个人打交道,总是待之以礼

  即使人生苦短,用来学礼数也是绰绰有余了。

  想出奇制胜,翻身做主人,不必舍近求远,先把你的台词练好再说吧。

第16招 名片必须是经过精心设计的作品

  名片的功用是要让别人能想起世上还有你这号人物。

  当别人想动用人际关系去搬救兵时,你这张名片就是一份很重要的线索,因此在设计上千万不要草率。

第17招 随时随地携带数量充足的名片

  要上阵前,先检查自己是否已"全副武装"。

第18招 在情况适宜时,才递上名片

  当你确信和对方有话可说之后,时机成熟时就应恭谨地奉上名片,相互约定日后联系与合作的方式,在这种稳固基础上所建立起的人际关系才能经得起考验。

第19招 在每张所收到的名片上记载日期以及相关事项,以便于日后整理与查核

  当别人还不知道你在不在乎他们的时候,自然就不可能去在乎你。

第20招 不要吝于表达感激之意

  成功人士有个特性,就是常怀感恩之心。

  以感恩的心来对待所有曾扶持过你的朋友们,主动表达你的由衷感激之意,慢慢地,你会发现不但自己的人际关系愈加牢固,别人也将以你为仿效的对象。

第21招 无论认识或不认识,只要是能给予你激励或启发,就应诚挚地向他们言谢要以称赞来取代嫉妒之心,确实需要很大的勇气。

  当你因为提出一项绝妙点子而获得他人嘉奖时,内心是什么滋味,将心比心,无论是认识或不认识的朋友,只要是能提供净言或是言行足资借镜者,都不要忘了面露微笑地跟他们说声谢谢。把这养成习惯后,不仅是你的事业前途,连你的人生观都将改写了。

第22招 适时以打电话、送小卡片,以及送小礼物的方式来向对方表达感激之意

  只要肯开口赞美别人,你将会是最大的赢家。

  要灌溉一株树木需要充足的阳光、水分与养分,而栽培你这棵人际关系长青树则有赖你持续性的关怀,借着打电话与送卡片、礼物等小环节来呵护这株树。可千万别让它因为营养不良而枯死。

第23招 要有自己专用的信、卡片与便条纸

  用手写的信函比较有亲切感,给人的感受也不一样。

  想建立自己的金字招牌吗?想树立良好的专业形象吗?做点小投资吧,去印一些专用的各式文具纸,当你要寄发给客户、同行或朋友时,会觉得更体面。

第24招 欣然接受他人的道谢与援助

  从一个人是否愿意接受他人的道谢,就可窥见其在人际关系上的功力。

第25招 建立起一套有系统又管用的人际关系网

  将能更有效地提高你在人际关系上的运作效率。

  为什么有人是事半功倍,有人却是事倍功半?就是因为做起事来有无章法。

第26招 名片上绝无过时的资料

  假使你没有时间去每天记载新资料,至少每周要登录一次,这样才能确保资料的正确性与完整性。

第27招 设立一套有效的时间管理系统

  岁月不饶人。我们不能要求时间暂缓来配合我们的脚步,只能尽量迎头赶上……

  如果你能控制时间,你就能控制一切。

  提醒你一点,只要你肯尊重自己所制定的工作表,别人就不敢随便抓你去出公差。一旦时间资源能完全掌握在你的手里,那治国平天下都绰绰有余了。

第28招 每天都详细检视当天的工作进度表

  要如何得知你是离成功之路愈来愈近,还是在原地打转?……最好的方法就是每天都“结帐”一次,看看工作进度表的落实程度究竟如何。

  每天结帐一次,你的心理负担就不会这么重,哪怕这是一项工程浩大的计划,你也可以感受到稳健的前进脚步。

第29招 今日事今日毕

  其实时间没什么好管理的,因为每天都是24小时,你该担心的是要如何去摆平争食这块大饼的千百项计划。

  绝对不要效法慢郎中那样去“以债养债”,否则到最后你加班到三更半夜也还不清。不要滥用你的记事本,可以当场解决的就不要拖,无形之中,你的工作效率自然就会升高。

第30招 必须在24小时回复所有的来电

  如果你的经营哲学是“能拖到明天,就不必急着今天做”,那你这一辈子恐怕是很难熬出头了。

  把24小时内回复所有来电养成一种习惯,就能确保你那条人际关系网络上的资讯畅通程度。

第31招 在拿起话筒之前,先思索一下待会儿要讲些什么通往成功之路有四道阶梯:慎谋行动、有备而来、勇往直前和贯彻始终。

第32招 拒绝无谓的交际应酬

  如果你现在糟蹋时间,将来时间就来糟蹋你。

第33招 在参加社交活动之前,应妥为规划

  只要事事都能有备而来,即使祖宗没有积德,照样能飞黄腾达。

第34招 主动寻求他人的支援

  你所处的是个万物共存的和谐社会,因此单打独斗是行不通的。

  大多数人都是乐于助人的,因此只要你认定他们不至于帮倒忙,就给他们一次表现的机会吧。

第35招 在开口时,应简单明了地陈述要求,而且不宜展现出一副咄咄逼人的姿态

  人际关系网是怎么牵起来的?很简单,当一个愿打。另一个愿挨的时候,这段姻缘就形成了。

第36招 只要逮到机会,就不忘冒出这句:“对了,你所认识的人当中,有哪个人……”

  你们祈求,就给你们。

  下次当你碰壁时,不妨检讨一下自己的说话技巧是否有改进的余地。其实大多数人们都是乐于助人的,不要轻率地关闭那扇机会之门。

第37招 对于别人所提出的建议,应当即知即行否则等三分钟的热度过后,一切都将回到原点。光说不练,无济于事。

第38招 每次和朋友交谈后,都能有受益非浅之感

  懂得顺水推舟的人,想不出头恐怕也难。

第39招 积极参与各种民间社团

  借着融入这个大家庭中,你不仅造就了自己的事业,也成全了许多同伴的美梦,功德无量。

  当一群人本着相同目的而物以类聚时,人际关系就萌芽了。

第40招 设法在社团内担任有实权的职位

  一旦你被提升为干部,就象征着你是个德高望重的前辈,而不是一个只想过来瓜分资源的庸碌之辈。

第41招 勤于利用人际关系网来处理别人的请托事务

  圈子内最为人称颂的就是,个个都是赢家,因为胜利的果实是属于每个人的。

  如果你希望自己在落魄时能有朋友为你伸出援手,最好的因应之道就是平时多做些投资。

第42招 举头三尺有神明,抬头三尺有人际

  要怎么培养自信?很简单,专挑那些你不在行的事情下手……只要能突破一己的心防,大胆出击,再苦撑一下,那你必然会有倒吃甘蔗之感,渐入佳境。

第43招 经常评估你的人际关系网,不断予以扩展

  人际关系网的建立需持之以恒,而不是可以一劳永逸之事。

第44招 相信你的直觉

  聆听你心灵的呐喊声,就能得到所有的答案。

  除非你自认已经麻木不仁了,否则没有理由忽视来自心灵深处的这股声音;让它去带领你,你就能尽早掌握状况,了解周遭的一切风吹草动。

第45招 对于在人际关系网上的每个盟友,都会倾全力助他们步步高升

  人际关系网的维系需要诚意与耐心。

  应该借着提携盟友来培植你的实力,在这种稳固的基础上盖大楼,届时要缔造一种“双赢”的局面,也只是迟早的问题而已。

第46招 提供朋友们一流的服务

  即使你不是投身于服务业,照样有许多服务他人的机会。

  你必须先竖立自己的金字招牌,让人际关系圈内的人都知道你这个人很可*,这么一来,他们会很乐意做这种投资,因为他们知道你将来会回馈得更多。

第47招 喜欢聆听朋友的心声

  有正常的听力,并不代表知道要怎么去听。

  聆听的艺术就是:耐心听别人讲话,而且不要听错!

第48招 要有高尚节操与专业涵养

  口不择言,后患无穷。

  人际关系的确很好用,但千万不要滥用。只要待人处事都能表现出一股高尚节操与专业涵养,那即使是你的死对头也会对你心服口服,推崇备至。

第49招 以敞开的胸襟去面对每个“结缘”的机会

  伟人与凡人的差别,在于前者能敬重每一个人,包括三餐不济的流浪汉。

第50招 布下滴水不漏的庞大“情报网”

  能造就他人功名的仁者,必然会永垂青史。

  当你变成了叮当响的人物后,这意味着你有更多的资源去邀他人前来分享,如此“良性循环”下去。这不是很好吗!

第51招 利用人际关系网去造就自己,嘉惠别人,成就事业,改变人生

  如果你的公私两种生活领域之间,需要一座桥梁来互通有无,那就是你的人际关系网。

第52招 时时刻刻都以人际关系网为念

  宝剑不用就会生锈变钝,倘若每个人都能将人际关系的运用当成生活习惯,那这个世界的面貌就会完全改观。

第53招 矢志成为强势人际关系的模范生

  一个人际关系高手绝不会以屯积资源为能事,反而是不时地主动邀他人分享,并鼓励他们也如法炮制。

第54招 用一片人际关系网来将世界一网打尽

  这个世界的人际关系网多得惊人,几乎每个人之间都有一条脐带相连接。

第55招 将人际关系融为生活中所不可或缺的一部分

  你所处的是个万物共存的和谐社会,因此单打独斗是行不通的。

- 作者: 04320710222shine 2005年12月1日, 星期四 16:27  回复(1) |  引用(0) 加入博采

美好的人生,從小事開始

美好的人生,從小事開始
助理工作認知
何謂助理
協助經理處理日常事務
上司與下屬的溝通渠道
部門與部門的溝通渠道
    眼光不要只盯著手上的雜事,其實助理可以達到經理的level
   例如,當經理不在其位但又有事要解決時,至少就要一定的分析和解決能力
要注意的幾個大類
基本工作要求
   工作技能
      工作內容
         工作禮儀

          工作安排
               素質要求
                  日常事務處理
基本工作要求
1.能承受工作壓力
2.獨立思考
3.溝通,組織,協調
4.公關,策劃,參謀
5.禮儀,謙和
6.能自我總結
工作技能
1.基本的英文能力
2.電腦應用能力
3.時刻提醒(不要覺得羅嗦喲)
4.時間應用觀念
5.表達能力
6.文書處理
工作內容
1.報表整理
2.會議記錄及追蹤
3.主管相關事項提醒
4.接待客人
5.文書處理
6.在部門起潤滑劑作用
工作禮儀
為人處事的必備良藥
衣著保持大眾化(盡量不要用首飾)
周圍整潔有序
氣質的培養(一個部門的門面)
自信符合公司實力
不要怕工作繁瑣
工作安排
1.把身邊的事情分類
2.預估到突發事項,及時通知
3.充分利用時間
4.提升工作效率
5.要看結果,也得看過程
6.不要把困難的事都分給有能力的人
7.不要安排不是你權限的事
助理素質要求
穩重踏實,靈活變通
形象大方得體
嚴守機密
工作的第一印象很重要
融入組織文化.學習,實踐
建立良好的人際關系
能接受批評
日常事務處理
訂出一天,一周,一月的工作時程表
會議的通知,準備,記錄及追蹤
客戶和其他主管的接待
接電話禮儀
Mail的撰寫
公文報告寫作
------經常用便簽紙嗎?
方法:工作事務之分類
可以把身邊的事分成四种:
    1.重要又緊急的事: 主管交辦要迅速完成的,相關到其它部門的事,如招待客人
    2.重要但不緊急的事: 協助主管改善跟催的事,如會議追蹤
    3.緊急但不重要的事: 臨時的事,如在下班前拿請假卡
    4.即不重要又不緊急的事: 如日常的報表key in,日常整理
為何要工作分類
 分類有助於對績效的認知.如:   
       目前我們公司助理主要做第三和第四類事,對於第一和第二類事的臨場能力就略輸一籌
       應當集中精力把這些事做事.雖然這些所占的工作量在20%以下,但80%的功勞集中在里面
     根據這些訂出時程表吧!
和上司相處
要了解上司的類型和工作需求
尊重上司
服務意識
掌握周邊信息
能領會意圖
安排一個時程表
和同事相處
重視同事的感受
Office禮儀
能做好部門間協調
熟悉同事的需求信息
平息/化解辦公室爭執

你知道同事們的生日嗎?
更高的境界
設計職涯規化
提升你的技能
綜合業務能力

今年是一個初級的助理/文員
明年你的要求是什麼

總結
助理是工作的基礎
以后,你想達到什麼層次?

- 作者: 04320710222shine 2005年11月29日, 星期二 22:29  回复(1) |  引用(0) 加入博采

中英文职业简历写作

中英文职业简历写作

 Job Application Letter
and Resume
in Both Chinese and English


什么是简历?

     简历是你与招聘单位的第一次沟通,你希望对方接收你单位的目的是了解你。


制作一份精良简历的必要性: 你知道吗,80%的简历在五秒钟之内甚至根本没有被阅读就被淘汰了!

相反的,一份编辑专业、制作精良的简历将叩开您所向往公司的大门。


有效表达个人信息 :
如果你不具备单位要求的条件,就算弄虚作假取得面试机会,也一样会被识破。

但如果你正是单位所需要的人,却未取得面试机会,就该检查自己是否在简历中有效表达了个人信息。
简历中不可缺少的内容 :个人基本信息,职业目标,教育背景,所受奖励,校园及课外活动,
兼职工作经验,培训,实习及专业认证,兴趣特长

编写简历的视觉技巧:
    编写简历时要注意视觉上的美观和利于阅读

   应适当运用编辑技巧,如各种字体,粗体字、斜体字、下划线、段落缩进等

   突出要点,避免使用大块的段落文章
KEY POIN1

    一定要重视简历的包装,但包装虽然重要,决定胜负的却是内涵。你是否真具有单位所需要的才能才是应聘成功与否的关键。

   基本守则:首先要真实可靠 a a其实单位要想获知你的真实情况并不困难,许多单位都将诚实视为第一重要的品质,一旦单位发现你作假,即使你才华再出众也不会录用你。


如何从成百上千的简历中脱颖而出?
        求职目标清晰明确。

        所有内容都应有利于你的应征职位

        无关的甚至妨碍你应征的内容不要叙述
突出你的过人之处:
            每人都有自己值得骄傲的经历和技能

           例如,如你有演讲才能并得过大奖,你应详尽描述,这会有助于你应征营销职位。
用事实和数字说明你的强项

           不要只写上你“善于沟通”或“富有团队精神”,这些空洞的字眼招聘人已熟视无睹。

           应举例说明你曾经如何说服别人,如何与一个和你意见相左的人成功合作。这样才有说服力并给人印象深刻。
自信但不自夸:

    充分准确地表达你的才能即可

    不可过分浮夸,华而不实。
     适当表达对招聘单位的关注及兴趣:适当恭维对方是有效的

                                                    这会引起招聘人注意和好感

                                                    同时可以请求面试机会

Key Point 2
择业前一定要花点时间了解自己,找出自己的优势及弱点,确定自己的职业方向。
然后要选择目标企业及职位,了解目标企业及职位需求情况,了解市场行情。
切不可不考虑自身特点,不考察企业情况,盲目模仿他人的简历和择业目标。
如何让你的网上简历更“抢眼”?

据统计,
规模较大的企业一般每周要接收500份至1000份电子简历,其中的80%在管理者浏览不到30秒种后就被删除了。  
           要让别人在半分钟内通过一份E-mail对你产生兴趣,其难度与跟用人单位直接见面相比难得多

             关键在于你是否拥有一份个性化的电子简历
放大你的“卖点” - 成绩
          以你的骄人业绩去打动未来的雇主。

          突出你的技能和成绩,强化支持标题。

          集中对能力进行细节描写,运用数字、百分比或时间等量化手段加以强化。

          强调动作,避免使用人称代词如“我”,“我们”等。
放大你的“卖点”- 能力

         对各方面能力加以归纳和汇总,扬长避短,以你无可争议的工作能力和个人魅力征服未来的雇主。

          用词应简单明确,观点鲜明,引人入胜。
放大你的“卖点”- 工作经历

         应当包括你所有的工作历史,无论是有偿的还是无偿的,全职的还是兼职的。

         在保证真实性的前提下,尽量扩充与丰富你的工作经历,但用词必须简练。

         不要只针对工作本身,业绩和成果更为重要
放大你的“卖点”- 技能
           列出所有与求职有关的技能。

           你将有机会向雇主展现你的学历和工作经历以外的天赋与才华。

          回顾以往取得的成绩,对自己从中获得的体会与经验加以总结、归纳。

          你的选择标准只有一个,即这一项能否给你的求职带来帮助。
放大你的“卖点”- 嘉奖

              简历中的大部分内容是经历和成绩的主观记录,而荣誉和嘉奖将赋予它们实实在在的客观性。

            这是一个令雇主注意到你已获肯定的成绩的机会。

             强调此奖项是你资历的重要证明,突出此嘉奖与你所求职务的相关性。
放大你的“卖点”- 职业生涯
             着重强调你在相关行业中所获得的特殊专业技能和取得的成就。

             在提及你的技能与成就时应越具体越好。

              此栏专门针对一些具体职业,需说明你所在的具体行业。
扣人心弦的“开场白”
             求职成功最基本的就是要对自己有一个客观全面的了解,然后再根据自身的情况准备好所需材料,一般包括求职信和简历

            求职信是简历的“开场白”。这个开场白的功能是激发别人有兴趣阅读下文。
求职信的作用
            为了使公司了解你申请的是哪个职位,并对你有更多的印象, 发简历的时候,都应该写一封求职信并同时发出。

            发任何简历都应该写求职信,这是被许多求职者忽略的原则。

求职信的内容
求职目标:明确你所向往的职位;
 个人特点的小结:吸引人来阅读你的简历而不要重复简历;
 表决心。简单有力地显示信心。
在准备求职信时还要注意控制篇幅,要让人事经理无需使用屏幕的滚动条就能读完。
直接在邮件内编辑,排版要工整。
要做到既体现个人特点又不过分吹嘘。
让求职信成为应聘的敲门砖,大小适中,砸中要害。
别让简历成为“格式化”的牺牲品
Key Points 3
有的放矢。发简历的时候,你应该注明申请的是何职位,并应该了解你能否胜任这个工作。
不用附件。越来越多的公司都要求求职者不要用附件发送简历。另外,用人单位一般不会仔细阅读附带的作品。
 美化“纯文本”。用 E-mail发出的简历在格式上应该简洁明了,重点突出,因为公司通常只看他们最感兴趣的部分。另外还有一个好办法就是把你制作精美的简历放到网上,再把网址告诉给公司即可。
 精心设计一下纯文本格式的简历。如果你一定要使自己的简历看起来与众不同,你可以用一些特殊符号等分隔简历内容。
最大限度地抢夺眼球
网上求职时主要精力应该放在拥有人才数据库的招聘网站上,要把你的简 历放到他们的数据库中。

因为用人公司会来这些网站浏览或要人。

总的来说,应该让用人公司带着明确的目的来找你,这要胜过自己向大量公司无目的的发放个人简历。
为什么你需要英文简历?
展示英文水平

进入外企必备

留下美好印象

给自己壮壮胆
社会新鲜人有什么可以写的
教育背景中写相关课程。
奖学金一项一行。
拉长句子。
自然地多换行,多写祈使句
加大字号。可将10号,小五改成12号,小四
社会工作细节放在工作经历中。
暑期工作。
中学情况
如何制作简洁明快的英文简历?
语言简练
个人资料(PERSONAL DETAILS):包括求职者的姓名、性别、出生年月等,与中文简历大体一致。
教育背景(EDUCATION BACKGROUND):最高教育层次(学历)往较低教育层次写
外语及计算机水平:个人的语言水平、程度单列说明。
如何制作简洁明快的简历?(续)
社会工作 (WORK EXPERIENCE):从当前的工作岗位写起,直至求职者的第一个工作岗位为止。社会工作细节放在工作经历中,这样会填补工作经验少的缺陷。
所获奖励和作品(PRICE&PUBICATION):将自己所获奖项及所发表过的作品列举一二,可以从另一方面证实自己的工作能力和取得的成绩。

 

- 作者: 04320710222shine 2005年11月29日, 星期二 22:13  回复(2) |  引用(0) 加入博采

求职申请(讲议后的笔记)

Job Applications
求职申请
个人简历附信行文格式 Format of the Cover Letter
开头:声明你要申请的职位并提及你附了简历。

中间:尽管你没有太多经验,也请简要说明你所具有的作为该工作理想候选人应具备的资格条件。必要时附上课目表及成绩单。

结尾:结尾态度要积极但不能锋芒毕露。如果对方“谢绝来电”,那请在信中说明将于何时与他们进一步联系。
个人简历附信原稿 Cover Letter for Résumé

The Original

    To Whom It May Concern:

    I saw you ad for a collector for your credit card accounts in the ‘Post Examiner’ and would like to interview for the job. My resume is enclosed. I hope you agree that my qualifications and references make a strong candidate for this entry level position. Thank-you for your consideration

 个人简历附信原稿 Cover Letter for Résumé

The Makeover

   To the Bank of China Human Resources Department:

    You will see on my attached resume that my qualifications closely match those you list for an entry-level collector to work with your credit card customers.


个人简历附信修订稿(Cont.) Cover Letter for Résumé
   I have almost a year’s experience in collections and am accustomed to working nights and weekends. My keyboarding and communications skills are strong. But my current employer does not offer the opportunities for advancement that Bank of China does.
  
    I can make a solid contribution at Bank of China as a collector and look forward to hearing from you.

应聘信的修改要点
检查自我意识。句子尽量用You而非I开头。
一般不要提及你在那里看到招聘广告,除非那是一份专业刊物。如果你提及了,请用斜体表示名称,而不要用引号。
文法正确。attachments是用回形针或钉书钉固定在信后面的任何纸张;enclosures时与新方在同一信封中而未固定在信纸上的任何纸张。
应聘信的修改要点(Cont.)
语言规范。entry-level position中需要加连字符。
尽量具体。引证理由说明你是一个理想的候选人。
向收件人保证你将是一个优秀的员工。
文法正确。用thank you替换thank-you。 thank-you是形容词或名词;thank you是动词。
实用例句 1
I have come to know from your advertisement published in the Times on … that you have a vacancy for the post of … in your esteemed organization.
我从您……(日期)刊登在《时代周刊》上的广告得知,贵公司有一个……空缺。
Ms. Anna Liu, your sales manager, told me that you were looking for an customer account manager.
贵公司的业务经理刘安娜女士告诉我,贵公司正在招聘一个客户帐目经理。
实用例句 2
A friend of mine who works in your company informed me of a position vacancy in your company.
我的一个朋友在贵公司工作,他告诉我你们有职位空缺。
I have heard of a vacancy in your department.
我听说你们部门现在有个空缺。
实用例句 3
I am interested in applying for the secretarial position advertised in today’s China Daily.
我是想应聘刊登在今天的《中国日报》上的秘书职位。
Please consider my application for the position of tour guide.
我想找个导游的工作,请考虑我的申请。
实用例句 4
I am answering an ad you placed in Fashion of 8th August.
我是想应聘您8月8日刊登在《时尚》上的职位。
Your advertisement for a clerk in the Daily Mirror yesterday interests me very much and I beg to tender my application for the post.
贵公司昨天在《每日镜报》上刊登聘请办公室职员的广告,对我有很大的吸引力,我特此申请应聘。
实用例句 5
The job description falls under my specialty.
full under 属于……的种类,列为……
你们对这项工作的要求,正是我的专长。
I have been responsible for all quality testing and performance standards checks since 2003.
be responsible for 负责
自2003年以来,我一直负责质量检验和性能标准检测工作。
针对非广告初级职位的行文格式 Unadvertised Job, Entry Level
开头:声明你要申请的职位并提及你附了简历。

中间:概括说明你申请一个初级职位所具备的资格。

结尾:告知具体时间,你将致电该公司进一步讨论获得工作的可能性。
针对非广告初级职位招聘 Unadvertised Job, Entry Level
The Original

   Dear Mr. Sandor,

   When I phoned your department, I was told to write to you. Due to the fact that I have just graduated from Neusoft Institute with a Diploma of Software Engineering, I seek a programmer position at Lenovo Co (Chengdu). My resume is attached and includes my GPA and the courses I took that prepared me for a job as a programmer. I will call you next week about an appointment to discuss job possibilities.
针对非广告初级职位招聘(Cont.) Unadvertised Job, Entry Level
The Makeover

   Dear Mr. Sandor:

   I am  a recent graduate of the Neusoft with a diploma in Software Engineering. I would like my first job as a programmer to be with Lenovo Co. (Chengdu). My resume is attached.
针对非广告初级职位招聘(Cont.) Unadvertised Job, Entry Level
   Because I have had courses in advanced mathematics, analysis, C#, and database and have a 80 grade point average, I am qualified for an entry-level position. Work can be started immediately.

   Wednesday morning, 10 July, I will call to discuss a possible opening for a programmer with my qualifications.

应聘信的修改要点
不面是用浮夸的语言。将due to the fact that改为because.
避免随意使用缩写。如:GPA是指grade point average.
考虑对方感受。可以写一些赞美该公司的话,比如把对方公司说成是你愿意效力的地方。
尽量具体。说明你将于何时致电对方。
不要想当然的认为你能获得面试机会。但如果你被通知面试了,请在面试后写一封感谢信。
实用例句 6
I am 22 years of age and a college diploma holder.
我今年22岁,拥有大专学历。
I graduated from the Chengdu Neusoft Institute of Information and can speak English fairly well, and possess considerable proficiency in typewriting.
我毕业于成都东软信息技术学院,能教流畅地讲英文,并能较熟练地打字。
实用例句 7
While obtaining my diploma, I worked at SOVO (students office, venture office) of my college. Since that time I have been working at a virtual company named Youthsoft as a process engineer involved with designing, inspection, and system upgrading  on a series of software development.
在读大学期间,我在本校的大学生创业中心概念工作。并从那时起,我即在一个叫做“青软软件”的虚拟公司担任工艺工程师,在一系列的软件研发项目中从事设计、检查和系统升级工作。
实用例句 8
I have included some references for your information.
附寄一些材料,供你们参考。
The details of my education, my work history / experience, and publications are given in the enclosed resume.
关于我的教育背景、工作经历和发表作品情况,参见随信寄去的简历。
实用例句 9
If you favor me with an appointment, I shall do my best to work to the entire satisfaction of my superiors.
favor sb with sth 为某人做某事
如果您能录用我,我会尽最大的努力去工作,使上级完全满意。

I hop you will sincerely consider my application.
我希望您能仔细考虑我的申请。
实用例句 10
I would be appreciate an opportunity for an interview with you.
如能安排面试,我会非常感谢。
I should be very grateful if you would arrange a discussion about my qualifications with your early convenience.
如果您能尽早安排面谈起的资格问题,我当不胜感激。
实用例句 11
I hope to hear something favorable from you soon.
我希望能尽快听到好消息。
I’d welcome the opportunity to discuss my qualifications for this opening.
非常渴望有机会和您面谈我应聘这个空缺的资格。
实用例句 12
Would it be possible to set an interview?
能否安排我面试?
I can be reached at 138 1111 2222 before 9.00am or after 6.00pm.
早上9点之前或晚上6点之后请拨打138 1111 2222与我联络。
指导 Points
求职信是为申请某一工作或职位写给雇主的,其目的是打动雇主,获得面试机会,也是申请人第一次向雇主介绍和推销自己。
这种信通常遵循以下几个步骤:
开头言明从何处得到招聘信息的,并提出申请。
接着在信中写明自己的资格、能力及工作经历。
最后表明自己很愿意有机会面试、面谈或到公司工作等。

- 作者: 04320710222shine 2005年11月29日, 星期二 21:51  回复(8) |  引用(0) 加入博采

第 三 章   运 算 符 和 表 达式

第 三 章   运 算 符 和 表 达式

运 算 符 指 明 对 操 作 数 所 进 行 的 运 算 。 按 操 作 数 的 数 目来分 ,可 以 有 一元 运 算 符 (如 ++、--),二 元 运 算 符 (如 +、 >)和 三元 运 算 符 (如?:),它 们 分 别 对 应 于一 个 、 两 个 和 三 个 操 作 数。 对 于 一 元 运 算 符 来 说 ,可 以 有 前缀 表 达 式 (如 ++i )和 后 缀表 达 式 (如 i++),对 于 二 元 运 算 符 来 说 则 采 用 中 缀 表 达 式 (如 a+b)。 按 照运 算 符 功 能 来 分 ,基 本 的 运 算 符 有 下 面 几 类 :

1.算 术 运 算 符 (+,-,*,/,%,++,--)

2.关 系 运 算 符 (>,<,>=,<=,==,!=)

3.布 尔 逻 辑 运 算 符 (!,&&,||)

4.位 运 算 符 (>>,<<,>>>,&,|,^,~ )

5.赋 值 运 算 符 (=,及 其 扩 展 赋 值 运 算 符 如 +=)

6.条 件 运 算 符 ( ?:)

7.其 它 (包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符 (类 型 ), 方 法调 用 运 算 符 () 等 )

本 章 中 我 们 主 要 讲 述 前 6类 运 算 符 。

§ 3.1 算 术 运 算 符

算 术 运 算 符 作 用 于 整 型 或 浮 点 型 数 据 ,完 成 算 术 运 算。

一 、 二 元 算 术 运 算 符 ,如 下 表 所 示

运算符 用法 描述

+ op1+op2 加

- op1-op2 减

* op1*op2 乘

/ op1/op2 除

% op1%op2 取模(求余)

Java对 加 运 算 符 进 行 了 扩 展 ,使 它 能 够 进 行 字 符 串 的连 接,如 "abc"+"de",得到 串 "abcde"。 我 们 将 在第 七 章 中 讲 解 。

与 C、 C++不 同 ,对 取 模 运 算 符 %来 说 ,其 操 作 数 可 以为浮点 数 , 如37.2%10=7.2。

二 、 一 元 算 术 运 算 符 ,如 下 表 所 示 :

运算符 用法 描述

+ +op 正值

- -op 负值

++ ++op,op++ 加1

-- --op,op-- 减1

i++与 ++i的 区 别

i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 执 行 完 i++后 ,整 个 表达式的 值 为 i,而 i的 值变 为 i+1。

++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 执 行 完 ++i后 ,整 个 表达式和 i的 值 均 为 i+1。

对 i--与 --i同 样 。

例 3.1.下 面 的 例 子 说 明 了 算 术 运 算 符 的 使 用

public class ArithmaticOp{

public static void main( String args[] ){

int a=5+4; //a=9

int b=a*2; //b=18

int c=b/4; //c=4

int d=b-c; //d=14

int e=-d; //e=-14

int f=e%4; //f=-2

double g=18.4;

double h=g%4; //h=2.4

int i=3;

int j=i++; //i=4,j=3

int k=++i; //i=5,k=5

System.out.println("a = "+a);

System.out.println("b = "+b);

System.out.println("c = "+c);

System.out.println("d = "+d);

System.out.println("e = "+e);

System.out.println("f = "+f);

System.out.println("g = "+g);

System.out.println("h = "+h);

System.out.println("i = "+i);

System.out.println("j = "+j);

System.out.println("k = "+k);

}

}

其结果为:

C:\>java ArithmaticOp

a = 9

b = 18

c = 4

d = 14

e = -14

f = -2

g = 18.4

h = 2.4

i = 5

j = 3

k = 5

§ 3.2 关 系 运 算 符

关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的值true或 false。关 系 运 算 符 都 是 二 元 运 算 符 ,如 下 表 所 示 :

运算符 用法 返回true的情况

> op1>op2 op1大于op2

>= op1>=op2 op1大于或等于op2

< op1<op2 op1小于op2

<= op1<=op2 op1小于或等于op2

== op1==op2 op1与op2相等

!= op1!=op2 op1与op2不等

Java中 ,任 何 数 据 类 型 的 数 据 (包 括 基 本 类 型 和 组 合 类 型)都可 以 通 过 ==或!=来 比 较 是 否 相 等 (这 与 C、 C++不 同 )。

关 系 运 算 的 结 果 返 回 true或 false,而不是C、C++中 的 1或 0。

关 系 运 算 符 常 与 布 尔 逻 辑 运 算 符 一 起 使 用 ,作 为 流 控 制语句 的 判 断 条件 。 如

if( a>b && b==c)

§ 3.3 布 尔 逻 辑 运 算 符

布 尔 逻 辑 运 算 符 进 行 布 尔 逻 辑 运 算 ,如 下 表 所 示 :

op1 op2 op1&&op2 op1||op2 !op1

false false false false true

false true false true true

true false false true false

true true true true false }

·&&、‖ 为二元运算符,实现逻辑与、逻辑或。

·! 为一元运算符,实现逻辑非。

·对 于 布 尔 逻 辑 运 算 , 先 求 出 运 算 符 左 边 的 表 达 式 的 值 , 对 或 运 算 如 果 为 true, 则 整 个 表 达 式 的 结 果 为 true, 不 必对 运 算 符 右 边 的 表 达 式 再 进 行 运 算 ; 同 样 , 对 与 运 算 , 如果 左 边 表 达 式 的 值 为 false, 则 不 必 对 右 边的 表 达式 求 值 , 整个表 达 式 的 结果 为 false。

下面的例子说明了关系运算符和布尔逻辑运算符的使用。

public class RelationAndConditionOp{

public static void main( String args[] ){

int a=25,b=3;

boolean d=a<b; //d=false

System.out.println("a<b = "+d);

int e=3;

if(e!=0 && a/e>5)

System.out.println("a/e = "+a/e);

int f=0;

if(f!=0 && a/f>5)

System.out.println("a/f = "+a/f);

else

System.out.println("f = "+f);

}

}

其运行结果为:

C:\>java RelationAndConditionOp

a<b = false

a/e = 8

f = 0

注 意 :上 例 中 ,第 二 个 if语 句 在 运 行 时 不 会 发 生 除 0溢 出的错 误 ,因 为 e!=0为false,所 以 就 不 需 要 对 a/e进 行 运 算 。

§ 3.4 位 运 算 符

位 运 算 符 用 来 对 二 进 制 位 进 行 操 作 ,Java中 提 供 了 如 下表所 示 的 位 运 算符 :

位 运 算 符 中 ,除   ~   以 外 ,其 余 均 为 二 元 运 算 符 。

操 作 数 只 能 为 整 型 和 字 符 型 数 据 。

3.4.1 补 码

Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为符号 位 ,正 数 的 符 号 位 为 0,负 数 为 1。 补 码 的 规 定 如 下 :

对 正 数 来 说 ,最 高 位 为 0,其 余 各 位 代 表 数 值 本 身 (以 二 进制表 示 ),如 +42的补 码 为 00101010。

对 负 数 而 言 ,把 该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 1,即 得 该 数的 补 码 。 如 -42的 补 码 为 11010110 (00101010 按位 取 反 11010101 +1=11010110 )

用 补 码 来 表 示 数 ,0的 补 码 是 唯 一 的 ,都 为 00000000。 (而 在原码 ,反 码 表 示中 ,+0和 -0的 表 示 是 不 唯 一 的 ,可 参 见 相 应 的书 籍 )。 而 且 可 以用 111111表 示 -1的 补 码 (这 也 是 补 码 与 原 码和 反 码 的 区 别 )。

3.4.2 按 位 取 反 运 算 符 ~

~   是 一 元 运 算 法 ,对 数 据 的 每 个 二 进 制 位 取 反 ,即 把 1变为 0,把 0变 为 1。

例 如 :

0010101

1101010

注 意 ,~ 运 算 符 与 - 运 算 符 不 同 ,~ 21≠ -21。

3.4.3 按 位 与 运 算 符 &

参 与 运 算 的 两 个 值 ,如 果 两 个 相 应 位 都 为 1,则 该 位 的 结果为 1,否 则 为 0。即 :

0 & 0 = 0,0 &1 = 0,1 & 0 = 0,1 & 1 = 1

- 作者: 04320710222shine 2005年11月29日, 星期二 21:09  回复(1) |  引用(0) 加入博采

§ 2.5 字 符 型 数 据

§ 2.5 字 符 型 数 据

一 、 字 符 常 量

字 符 常 量 是 用 单 引 号 括 起 来 的 一 个 字 符 ,如 ‘ a’ , ‘ A’。另 外 ,与 C、C++相 同 ,Java也 提 供 转 义 字 符 ,以 反 斜 杠 (\)开 头 ,将其 后 的 字 符转 变 为 另 外 的 含义 ,下 表 列 出 了 Java中 的 转 义 字符 。

与 C、 C++不 同 ,Java中 的 字 符 型 数 据 是 16位 无 符 号 型 数 据 ,它表 示 Unicode集,而 不 仅 仅 是 ASCII集 ,例 如 \u0061表 示 ISO拉 丁 码的 ‘ a’ 。

转义字符 描述

\ddd 1到3位8进制数据所表示的字符(ddd)

\uxxxx 1到4位16进制数所表示的字符(xxxx)

\' 单引号字符

\\ 反斜杠字符

\r 回车

\n 换行

\f 走纸换页

\t 横向跳格

\b 退格

二 、 字 符 型 变 量

字 符 型 变 量 的 类 型 为 char,它 在 机 器 中 占 16位 ,其 范 围 为 0~65 535。 字 符 型变 量 的 定 义 如 :

char c='a'; //指 定 变 量 c为 char型 ,且 赋 初 值 为 'a'

与 C、 C++不 同 ,Java中 的 字 符 型 数 据 不 能 用 作 整 数 , 因 为Java不提 供 无 符号 整 数 类 型 。 但 是 同 样 可 以 把 它 当 作 整 数 数 据来 操 作 。

例 如 :

int three=3;

char one='1';

char four=(char)(three+one);//four='4'

上 例 中 ,在 计 算 加 法 时 ,字 符 型 变 量 one被 转 化 为 整 数 , 进行相 加 ,最 后 把 结果 又 转 化 为 字 符 型 。

三 、 字 符 串 常 量

与 C、 C++相 同 ,Java的 字 符 串 常 量 是 用 双 引 号 ("")括起 来 的一 串 字 符 ,如"This is a string.\n"。 但 不 同 的 是 ,Java中 的 字 符 串 常 量 是 作 为String类 的 一 个 对 象 来处 理 的 ,而不 是 一 个 数 据 。 有 关 类 String,我 们 将 在 第 七 章 讲 述。

§ 2.6 布 尔 型 数 据

布 尔 型 数 据 只 有 两 个 值 ,true和 false,且 它 们 不 对 应 于 任何整 数 值 。 在 流 控制 中 常 用 到 它 。

布 尔 型 变 量 的 定 义 如 :

boolean b=true; //定 义 b为 布 尔 型 变 量 ,且 初 值 为 true

§ 2.7 举 例

例 2.1.下 例 中 用 到 了 前 面 提 到 的 数 据 类 型 ,并 通 过 屏 幕显 示 它 们 的 值 。

public class SimpleTypes{

public static void main( String args[] ){

byte b=0x55;

short s=0x55ff;

int i=1000000;

long l=0xfffL;

char c='c';

float f=0.23F;

double d=0.7E-3;

boolean bool=true;

System.out.println("b = "+b);

System.out.println("s = "+s);

System.out.println("i = "+i);

System.out.println("c = "+c);

System.out.println("f = "+f);

System.out.println("d = "+d);

System.out.println("bool = "+bool);

}

}

编译并运行该程序,输出结果为:

C:\>java SimpleTypes

b = 85

s = 22015

i = 1000000

l = 4095

c = c

f = 0.23

d = 0.0007

bool = true

§ 2.8 各 类 数 值 型 数 据 间 的 混 合 运 算

一 、 自 动 类 型 转 换

整 型 、 实 型 、 字 符 型 数 据 可 以 混 合 运 算 。 运 算 中 , 不同类 型 的 数 据 先转 化 为 同 一 类 型 ,然 后 进 行 运 算 。 转 换 从低 级 到 高 级 ,如 下 图:

转 换 规 则 为 :

① (byte或 short) op int→ int

② (byte或 short或 int) op long→ long

③ (byte或 short或 int或 long) op float→ float

④ (byte或 short或 int或 long或 float) op double→ double

⑤ char op int→ int

其 中 ,箭 头 左 边 表 示 参 与 运 算 的 数 据 类 型 ,op为 运 算 符 (如加、 减 、 乘 、除 等 ),右 边 表 示 转 换 成 的 进 行 运 算 的 数 据 类 型。

例2.2

public class Promotion{

public static void main( String args[ ] ){

byte b=10;

char c='a';

int i=90;

long l=555L;

float f=3.5f;

double d=1.234;

float f1=f*b;

// float * byte -> float

int i1=c+i;

   // char + int -> int

long l1=l+i1;

// long + int ->ling

double d1=f1/i1-d;

// float / int ->float, float - double -> double}

}

二 、 强 制 类 型 转 换

高 级 数 据 要 转 换 成 低 级 数 据 ,需 用 到 强 制 类 型 转 换 ,如 :

int i;

byte b=(byte)i; //把 int型 变 量 i强 制 转 换 为 byte型

这 种 使 用 可 能 会 导 致 溢 出 或 精 度 的 下 降 ,最 好 不 要 使 用。


- 作者: 04320710222shine 2005年11月29日, 星期二 21:07  回复(2) |  引用(0) 加入博采

§ 2.3 整 型 数 据

§ 2.3 整 型 数 据

一 、 整 型 常 量 :

与 C,C++相 同 ,Java的 整 常 数 有 三 种 形 式 :

① 十 进 制 整 数 ,如 123,-456,0

② 八 进 制 整 数 ,以 0开 头 ,如 0123表 示 十 进 制 数 83,-011 表 示十进 制 数 -9。

③ 十 六 进 制 整 数 ,以 0x或 0X开 头 ,如 0x123表 示 十 进 制 数291,-0X12 表 示 十 进 制 数 -18。

整 型 常 量 在 机 器 中 占 32位 ,具 有 int型 的 值 ,对 于 long 型 值 ,则要 在 数 字 后 加 L或 l,如123L表 示 一 个 长 整 数 ,它 在 机 器 中 占 64位 。

二 、 整 型 变 量 :

整 型 变 量 的 类 型 有 byte、 short、 int、 long四 种 。 下 表 列 出各类 型 所 在 内 存 的 位数 和 其 表 示 范 围 。

int类 型 是 最 常 使 用 的 一 种 整 数 类 型 。 它 所 表 示 的 数 据范围 足 够 大 ,而 且适 合 于 32位 、 64位 处 理 器 。 但 对 于 大 型 计算 ,常 会 遇 到 很 大 的整 数 ,超 出 int类型 所 表 示 的 范 围 ,这 时 要使 用 long类 型 。

由 于 不 同 的 机 器 对 于 多 字 节 数 据 的 存 储 方 式 不 同 ,可 能是从 低 字 节 向高 字 节 存 储 ,也 可 能 是 从 高 字 节 向 低 字 节 存 储 ,这 样 ,在 分 析 网络 协 议 或 文 件格 式 时 , 为 了 解 决 不 同 机 器上 的 字 节 存 储 顺 序 问 题 ,用 byte类 型来 表 示 数 据 是合 适 的 。而 通 常 情 况 下 ,由 于 其 表 示 的 数 据 范 围 很 小 ,容 易 造成 溢 出 ,应 避 免使 用 。

short类 型 则 很 少 使 用 ,它 限 制 数 据 的 存 储 为 先 高 字 节 ,后低字 节 ,这 样 在 某些 机 器 中 会 出 错 。

三 、 整 型 变 量 的 定 义 ,如 :

byte b; //指定变量b为byte型

short s; //指定变量s为short型

int i; //指定变量i为int型

long l; //指定变量l为long型

§ 2.4 浮 点 型 (实 型 )数 据

一 、 实 型 常 量

与 C,C++相 同 ,Java的 实 常 数 有 两 种 表 示 形 式 :

① 十 进 制 数 形 式 ,由 数 字 和 小 数 点 组 成 ,且 必 须 有 小 数点,如 0.123, .123,123.,123.0

② 科 学 计 数 法 形 式 。 如 :123e3或 123E3,其 中 e或 E之 前 必 须有数 字 ,且 e或 E后面 的 指 数 必 须 为 整 数 。

实 常 数 在 机 器 中 占 64位 ,具 有 double型 的 值 。 对 于 float 型的值 ,则 要 在 数 字后 加 f或 F,如 12.3F,它 在 机 器 中 占 32位 , 且 表示 精 度 较 低 。

二 、 实 型 变 量

实 型 变 量 的 类 型 有 float和 double两 种 ,下 表 列 出 这 两 种 类型所 占 内 存 的 位数 和 其 表 示 范 围 。

数据类型 所占位数 数的范围

float 32 3.4e-038~3.4e+038

double 64 1.7e-308~1.7e+308

双 精 度 类 型 double比 单 精 度 类 型 float具 有 更 高 的 精 度 和更大 的 表 示 范 围 ,常 常 使 用 。

三 、 实 型 变 量 定 义 ,如

float f; //指 定 变 量 f为 float型

double d; //指 定 变 量 d为 double型

[注 ]与 C、 C++不 同 ,Java中 没 有 无 符 号 型 整 数 ,而 且 明 确 规定了 整 型 和 浮点 型 数 据 所 占 的 内 存 字 节 数 ,这 样 就 保 证 了安 全 性 、 鲁 棒 性和 平 台 无 关 性。


- 作者: 04320710222shine 2005年11月29日, 星期二 21:05  回复(1) |  引用(0) 加入博采