一、放射性渐变原理
别人都用ps解释,我却在渐变上独喜欢flash的渐变变形工具。
别人都说径向渐变,flash里面显示的是放射性渐变,我就沿用了放射性渐变的说法。你看出来啦,我曾经是flash的迷妹!
e84d7f84b44ccb04a4feefd2a9667d64.gif
放射性渐变的核心就是:从中心点出发,辐射到边界处。
设置了四个色块,如图:
429079e8282c5076af4170153c1af3d0.png
用渐变变形工具可以查看
cd5a69fb9311cda5db01c0338b24c840.png
默认第一个色块从中心点出发,沿着半径分布色块,直到边界处。
所以,我们可以理解这里的渐变线是半径。
可以通过改变中心点的位置,边界的大小,半径的长短,三角形的移动实现非对称的渐变等效果。
6522b7dc00c47d236409249b908e6d47.png
原谅我没有来动画版本的,自己用flash试试呗!
其实来个椭圆一样妥妥的。
0ccef5ab67e2b3e35d7640cfab2ab533.png
明白了这个基本的原理后,再看MDN上的这篇文章,是不是感觉很好懂了。
至少这幅图好懂了↓
aab88560ed7f1007df0e78972991fc2a.png
半径就是虚拟渐变射线(virtual gradient ray),中心点就是色块的起点(0%),ending shape就是渐变的边界形状。ending shape只能是正圆(circle)或者椭圆(ellipse)。
二、放射性渐变的语法结构// Definition of the ending shape
radial-gradient( circle, … )/* Synonym of radial-gradient( circle farthest-corner, … ) */
radial-gradient( ellipse, … ) /* Synonym of radial-gradient( ellipse farthest-corner, … ) */
radial-gradient( , … ) /* It draws a circle */
radial-gradient( circle radius, … ) /* A centered circle of the given length. It can't be a percentage */
radial-gradient( ellipse x-axis y-axis, … ) /* The two semi-major axes are given, horizontal, then vertical */
// Definition of the position of the shape
radial-gradient ( … at , … )
// Definition of the color stops
radial-gradient ( …, , … )
radial-gradient ( …, , )
官方的标准语法HTMD复杂呀。
我们只能一点点攻克了。
先了解几个基本概念:
:指的是中心点的位置,这个定位和background-position的定位是一样的,比如“50px 40px”,“30% 44px”,“left center”等值,一个代表x坐标,一个代表y坐标。如果缺省,代表的是正中间(center)。它的取值也是这几种:
:用长度值指定径向渐变圆心的横坐标或纵坐标。可以为负值。
:用百分比指定径向渐变圆心的横坐标或纵坐标。可以为负值。
left:设置左边为径向渐变圆心的横坐标值。
center:设置中间为径向渐变圆心的横坐标值或纵坐标。
right:设置右边为径向渐变圆心的横坐标值。
top:设置顶部为径向渐变圆心的纵标值。
bottom:设置底部为径向渐变圆心的纵标值。
:只能为正圆或者椭圆,正圆表示半径是一样的,椭圆则有x轴、y轴两个半径。默认的值是椭圆(ellipse)。
:沿着渐变线的色彩的值和位置的值。位置的值可以是百分比或者具体的像素,和线性渐变的写法是一样的。比如“#f00 0%”,“red 25%”,“rgba(255,255,255,0.5) 200px”等。
:表示ending shape放射性渐变结束的形状的大小。
常用的有如下几个值:
closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边;
closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角;
farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边;
farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角,这个是默认值;
(魔方)是谁发明:各个方向都能旋转:轴不怕被拧断:内部究竟怎样结构?魔方,Rubik's Cube 又叫魔术方块,也称鲁比克方块。是匈牙利布达佩斯建筑学院厄尔诺·鲁比克教授在1974年发明的。魔方系由富于弹性的硬塑料制成的6面正方体。魔方与中国人发明的“华容道”,法国人发明的“独立钻石”一块被称为智力游戏界的三大不可思议。而魔方受欢迎的程度更是智力游戏界的奇迹。
封闭的结构和手感和现在的主流魔方都是完全不同的,从封闭结构开始,三阶魔方真的有完全针对速拧的设计了。
世界上最早的魔方应该就是封闭结构的,以前也出现过封闭结构的魔方,可是对于速拧的需要来说,老式的封闭结构拥有的只是外形,只有新型的封闭结构才充分体现了封闭结构的优点,封闭结构拥有的不仅只是让你心理更平衡的外表这么简单。
新型的封闭结构究竟有怎样的特点?首先我们要弄清楚传统结构的魔方和新型封闭结构的区别,以及为什么要设计封闭结构的魔方。拆开传统结构的魔方,要是质量好的,角块也许封闭了一部分,可是几乎所有的在棱块里面还有一面是空缺,这是由于设计和制造工艺造成的。这从外表不易觉察,需要拆开看。这种设计首先使得各面的摩擦不均匀,更重要的是块下面圆角的大小直接受到材料厚度的影响。比如厚度为一毫米的侧壁不可能拥有两毫米的圆角。大家容易看出魔方的逆容错性非常大程度是由某几个部分圆角的大小决定的,最直接的比方就是轮子大的汽车通过能力较强一点。所以传统结构的高阶魔方为了有更佳的逆容错性就需要较大尺寸的圆角,需要大圆角就必须增加块的厚度!增加厚度会怎么样?在材料相同的条件下增加厚度就会增加魔方的质量(重量)。在06年大多国内玩家还是认为魔方越重就说明质量就越好,也就越利于速度的提高。不过现在速拧魔方最前沿的设计思路是尽量降低魔方的质量。为什么?因为无论汽车还是脚踏车还是别的什么东西,专门追求速度的东西一般都有轻量化的设计!在同样的力量条件下,质量轻的东西会具有更大的加速度,也就更容易控制。到了魔方上面,反映出来的是要获得最佳的操控性除了需要完美的设计与调校,还需要降低魔方的重量。更严格的说就是魔方里面十字轴的重量、螺丝、弹簧和垫片的重量重一些无所谓,中块重一点影响不算太大,可是为了达到更好的效果,角块和棱块就必须降低重量,而角块轻量化又比棱块更重要!
封闭结构的魔方首先可以达到超大的圆角,他的圆角尺寸几乎可以不受厚度的影响!它可以大幅度降低魔方的重量并且保证足够强度!而且封闭结构的平衡支撑也使得它不易变形,在最敏感的部位也不容易受到分模线的影响。那么会不会太轻了?封闭结构比传统结构重量大概降低了三分之一,你要是觉得太轻了不能适应你的喜好,你还完全可以神不知鬼不觉的在魔方里面装上配重!
理论是那样的,可封闭结构实际做出来是什么样子?
封闭一代,世界上大概只有三百个不到,个人觉得单纯手感方面说封闭一代达到了一个新的高度,它让玩家感受到原来轻量化的魔方可以这么美的,它的特点是非常轻盈和灵巧,而且容错性超强,无论顺容错性还是逆容错性都相当不错。可是最严重的问题是外观不好,觉得不齐,还需要胶粘组合。而且封闭一容易发生pop。由于这些缺点,封闭一代非常遗憾的没有正式的产品,成为绝版在中国玩家里面流传。
封闭二代,是封闭一代的改进,而且有几处让人激动的创新。设计上,最大的特点是角块采用了更轻量化的设计,角块保留的是封闭结构的灵魂而不是外形。封闭二代首次引入了防pop设计!在棱块下面和棱块的小盖上有独特设计的小凸起,配合棱块侧面和中块下面的轨道显然让魔方多了更多一层保护。这种设计是否多余?现在看来我觉得确实是多余了!因为往往pop正是因为那个凸起造成的,所以拿到封闭二代组装首先就是用指甲刀把那个小凸起去了,其实非常方便。去了那个小凸起封闭二代是极难发生pop现象的,比国甲还难发生pop,几乎pop现象已经被杜绝!封闭二代还有两个最明显的设计的优点就是首先所有外面的盖子都进行了统一,都是内扣设计不需要胶粘,并且标配会多两个大盖子备用,所以丢了一个甚至两个盖子你也不会难过了。还有一个非常好的地方就是中块上面盖盖子的地方留了一个小口,特别方便你拆开调整弹力和距离。这些设计细节,说明了专业和人性!
封闭二代到现在为止出了两版,第一版偏松,第二版偏紧。封闭二还在继续除错和改进中,所以一直还只是国内玩家的内部测试。它需要调整到国内一批权威玩家们觉得非常满意了才会正式面世。它的手感特点仍然让你感受得到轻量化和大圆角设计的优点,而且外观不错。个人感觉虽然比传统结构的魔方是好了不少,可从内部测试版来看还是没有超越封闭一代,不过也有玩家更喜欢封闭二代的,个人喜好也很重要。
封闭结构代表现在世界上最前沿的三阶速拧魔方设计理念。从两代产品的特征来看,这种设计理念是非常成功的。专门针对速拧的封闭结构是中国创造的,并且开发的团队还为它申请了专利。它没有别的参考,只想做成世界上手感最好的速拧魔方。我们期待封闭结构的魔方早日正式推出。 现在中国的魔方玩家其实是非常幸福的,现在我们能选择的速拧三阶魔方种类可能已经是最丰富的了。
魔方的内部结构是怎样的?为什么什么方向都可以拧动? 在液体内部向各个方向都有压强,在同一深度向各个方向的压强都相等,各个方向指什么?各个方向就是指任何方向
液体内部向各个方向都有压强液体的压强随着深度的增加而( 增加 ),
在同一深度,液体向各个方向的压强( 相等 )
液体的压强还与液体的( 密度 )有关
单轴结构怎么实现2个方向720度旋转<pre t="code" l="">transform:rotate(720deg)
-ms-transform:rotate(720deg)/* IE 9 */
-moz-transform:rotate(720deg)/* Firefox */
-webkit-transform:rotate(720deg)/* Safari 和 Chrome */
-o-transform:rotate(720deg)/* Opera */<pre t="code" l="">浏览器支援:
Inter Explorer 10、Firefox、Opera 支援 transform 属性。
Inter Explorer 9 支援替代的 -ms-transform 属性(仅适用于 2D 转换)。
Safari 和 Chrome 支援替代的 -webkit-transform 属性(3D 和 2D 转换)。
Opera 只支援 2D 转换。<pre t="code" l="">定义和用法
transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
为了更好地理解 transform 属性,请检视这个演示。
预设值:none
继承性:no
版本:CSS3
JavaScript 语法:object.style.transform="rotate(7deg)"
液体内部向各个方向都有压强,对吗
对啊 不为什么 因为如果你放一个密度跟该液体一样的物体放在液体的任意位置他都会是悬浮的 为什么呢 因为包围他的液体每个方向都会给他压强的
魔方是如何能够六面各个方向转动的?]●魔方的简介 魔方,Rubik's Cube 又叫魔术方块,也称鲁比克方块。是匈牙利布达佩斯建筑学院鲁比克教授在1974年发明的。当初他发明魔方,仅仅是作为一种帮助学生增强空间思维能力的教学工具。但要使那些小方块可以随意转动而不散开,不仅是个机械难题,这牵涉到木制的轴心,座和榫头等。直到魔方在手时,他将魔方转了几下后,才发现如何把混乱的颜色方块复原竟是个有趣而且困难的问题。鲁比克就决心大量生产这种玩具。魔方发明后不久就风靡世界,人们发现这个小方块组成的玩意实在是奥妙无穷。 魔方系由富于弹性的硬塑料制成的6面正方体。核心是一个轴,并由26个小正方体组成。包括中心方块6个,固定不动,只一面有颜色。边角方块8个(3面有色)(角块)可转动。边缘方块12个(2面有色)(棱块)亦可转动。玩具在出售时,小立方体的排列使大立方体的每一面都具有相同的颜色。当大立方体的某一面平动旋转时,其相邻的各面单一颜色便被破坏,而组成新图案立方体,再转再变化,形成每一面都由不同颜色的小方块拼成。据专家估计所有可能的图案构成约为4.3×10^19。玩法是将打乱的立方体通过转动尽快恢复成六面成单一颜色。 魔方种类较多,平常说的都是最常见的三阶立方体魔方。其实,也有二阶、四阶、五阶等各种立方体魔方。还有其它的多面体魔方,面也可以是其它多边形。《如五边形十二面体:五魔方,简称五魔,英文名称:Megamix,又称正12面体魔方》《3x4长方体》《3X5长方体》。 三阶立方体魔方由26个小方块和一个三维十字连线轴组成,小方块有6个在面中心,8个在角上,12个在棱上,物理结构非常巧妙。它每个面纵横都分为三层,每层都可自由转动,通过层的转动改变小方块在立方体上的位置,各部分之间存在着制约关系,没有两个小块是完全相同的。立方体各个面上有颜色,同一个面的各个方块的颜色相同,面与面之间颜色都不相同。这种最初状态就是魔方的原始状态。复原魔方就是按照某种规则转动魔方,使其恢复到原始状态。复原魔方要一个好魔方,一双灵巧的手,敏锐的空间想象力和高效实用的转动程式。复原方法有很多种,具体步骤上有很大的差异性,但也有相通之处,最常见的是一层一层地拼好。 原版实际测量下来发现大约 57mm。 如果试着翻阅国外的资料,会发现世界上第一个魔方为二又四分之一英寸(57.15mm)的记载。 虽然现在还能见到它,但其中不少魔方制造商已随着历史发展,经历了重重变革。 在日本,今天你仍能买到 Tsukuda Original 公司的魔方。早期的产品由 Ideal Toy 生产,透明包装的下方有厂家的标志。 而现在则一律为 Seven Towns 的纸包装,盒子比早期的看起来还要显大。2000年的时候开始特别定制的新标志。但那毕竟是匈牙利等欧洲国家的公制,真的准确吗?请不要怀疑任何一组资料。 现在我们手里的“克隆魔方”的尺寸已经相当接近于原版了。大多在55mm至60mm的范围。 也别小看这魔方别看它只有26个小方块,变化可真是不少,魔方总的变化数为43,252,003,274,489,856,000 或者约等于4.3X10^19。如果你一秒可以转3下魔方,不计重复,你也需要转4542亿年,才可以转出魔方所有的变化,这个数字是目前估算宇宙年龄的大约30倍。这可是十分惊人的! [编辑本段]○魔方的起源 正如本条目开头所言,最早的魔方是匈牙利的一位叫rubik的教授于1974年发明的,但是这位教授发明它并不是为了投入生产和娱乐。因为他是建筑学和雕塑学教授,所以他自己动手做出了第一个魔方的雏形来帮助学生们认识空间立方体的组成和结构以及锻炼学生的空间思维能力和记忆力。在他完成第一个作品以后,转动了几下,发现原本齐整的魔方竟然很难恢复,于是他意识到这个新的发明会很不简单。但是他想不到的是,这个边长不到6厘米的玩具竟然会在未来风靡全球,甚至出现了以魔方为道具的运动。
魔方内部结构?中心支柱部分可以理解成三根互相垂直的柱子
然后添上12边块 8角块 一般的魔方是可以拆卸的!
液体内部是否向各个方向都有压强,该如于液体受到重力的作用和液体具有流动性,流体对浸入其中的任何物体的表面产生压力的作用,就产生了压强,这就是液体内部产生的压强,这个压力作用在一个面上。
又由于液体有流动性
魔方的内部结构图是怎样是可以拆下来的,先拿角上的那块,用的劲,不用怕,坏不了,本人也曾和你一样好奇过,就是这样撬的,然后再按颜色面装好。
Java介绍Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。
* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
* Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
* Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
J2SE就是做那种桌面安装程序样的,像QQ,WORD那种应用程序。
J2EE 就是做基于Internet的应用程序,像选课系统,企业网站,银行系统之类的。
J2ME就是做嵌入式系统开发的,像手机游戏之类的,像现在流行的Android操作系统。
为了让大家能够更快的加入到做项目的队伍,工作室特制定以下培训计划。我们java组现在主要是沿着J2EE这条路线走,主要是这方面项目目前比较多。
一.培训阶段的划分
1. 学习java基础(包括基本语法,面向对象的思想的一些特性,IO,集合框架,jdbc)
2. 学习网页的基础知识(包括html,css,javascript),这些是做好界面的必备知识。
3. 学习javaweb的基础知识(包括jsp,servlet,javabean,MVC,JSTL,EL表达式)
4. 学会使用ssh框架(struts.,hibernate,spring)
二.培训阶段的要求
1.Java基础
1. 大体了解java的运行原理,安装java虚拟机(java虚拟编绎与运行)
2. 熟练掌握java语言基本语法(这个和c语言里面的差不多)
3. 熟练掌握面向对象编程的思想及面向对象的一些基本概念(类,对象,接口,继承,重载,覆盖)
4. 熟练掌握输入输出流(流的概念,文件的读写,终端输入)
5. 熟练掌握集合框架(List,Set,Map)
6. 熟练掌握JDBC连接数据库(sqlserver2000,mysql数据库的使用及连接)
7. 熟练掌握API的使用,熟悉常用类库的使用。
8. 能够编写简单的图形界面程序
这个阶段是j2se的基础知识,特别是面向对象的知识的掌握,类和对象的概念,接口,继承,重载,覆盖,掌握基本的输入输出,然后就是集合框架,List,Set,Map的使用,因为这些在以后的数据库操作中经常将查询结果放在里面,最后就是用jdbc连接数据库,也许之前学过的一些理论都感觉没兴趣,但学了数据库的连接之后,兴趣就来了,因为这是第一次写程序操作数据库。
这个阶段培养人的最大能力就是要勤查API文档,要多去百度,要多向别人请教。
2. 静态网页的制作
1.了解网页的基本知识
2.会写基本的html语言,能够看懂别人写的html
3.会使用表单
4.使用javascript进行客户端验证
这个阶段要掌握一些静态网页的基本知识,学会动手做静态网页。学会用css控制
页面,学会用javascript来进行表单的验证。
3. javaweb基础
1. 搭建开发环境
安装Tomcat,并配置虚拟目录
安装Eclipse,并安装MyEclipse插件
作用MyEclipse新建项目,整合Tomcat服务器,部署项目
2. Jsp的基础语法
了解JSP基本特点
理解JSP的运行机制
熟练使用JSP声明语句
熟练使用JSP Scriptlets
熟练使用JSP表达式
3. JSP指令元素
了解Page,include,taglib指令的使用
了解<jsp:forward><jsp:include><jsp:param><jsp:params>
4. JSP内置对象(9个)
熟练使用JSP内置对象保存属性
熟练JSP属性保存的四个范围(page,request,session,application)
熟练使用request,session对象取得参数值,了解其他各对象常用的方法
5. JavaBean
熟练掌握定义JavaBean,调用JavaBean,设置并获得JavaBean属性,设置JavaBean的范围,移除JavaBean
6. EL表达式
熟练掌握使用EL运算符
熟练掌握EL内置对象
熟练掌握EL存取
7. JSTL标签库
JSTL核心标签库,数据库标签库,I18N格式化标签库,XML标签库和JSTL函数标签库
熟练掌握通过JSTL核心标签库定义变量,输出变量,移除变量
熟练掌握通过数据库标签库完成数据库操作
熟练掌握XML标签库完成 XML文件操作
熟练掌握I18N标签库完成国际化操作
熟练掌握通过JSTL函数标签库完成常用函数操作
8. Servlet开发
熟练掌握如何定义Servlet
理解Servlet的生命周期
熟练掌握HttpServlet的常用方法
熟练掌握使用Servlet的接口
9. Filter开发
熟练掌握如何定义并配置Filter
理解Filter的生命周期
熟练掌握如何添加非法文字过滤器,字符编码过滤器,登录验证过滤器
10. Listener开发
熟练掌握如何定义并配置Listener
熟练掌握 ServletContextListener,ServletContextAttributeListener,HttpSessionListener,
HttpSessionAtrributeListener接口的实现和作用
11. Dao设计模式
了解什么是Dao设计模式以及其特点
熟练掌握如何定义数据库连接类
熟练掌握如何定义Vo类
熟练掌握如何定义Dao接口,Dao类以及Dao工厂类
熟练掌握如何使用Dao实现数据库操作
12. MVC设计模式
了解什么是MVV设计模式
了解Model1和Model2的区别以及优缺点
熟练掌握如何定义视图,模型,控制器部分,用MVC进行开发
这个阶段才是真正的接触了javaweb的知识,要会用javaweb进行动态网页的开发,
这个阶段完成后,就能做一些应用系统的开发了,javaweb也基本上学完了,后面基本上都是些别人根据基础知识做好的框架或组件,我们只要拿来用就行。
4 . ssh框架
1 Struts2基础
了解如何下载并安装Struts2 框架
了解Struts2运行原理
熟练掌握如何新建控制器
熟练掌握如何配置控制器
了解实现Action接口的优点
熟练掌握通过Struts2标签库简化表单
熟练掌握通过继承ActionSupport完成输入校验
熟练掌握页面国际化以及校验错误信息国际化
2 Struts2高级开发
熟练使用Struts2内建的类型转换器
理解服务器端校验的重要性
熟练使用addFieldError来添加校验错误信息
熟练使用struts2校验框架完成输入校验
3 Hibernate持久化
了解什么是ORM映射以及特点
熟练掌握配置Hibernate配置文件
熟练掌握创建持久化类
熟练掌握创建关系映射文件
熟练掌握通过Hibernate框架进行数据库操作
4 Struts2整合Hibernate开发
熟练掌握持久层设计
熟练掌握业务逻辑层设计
熟练掌握struts2 整合hibernate 开发
5 Spring开发
熟练掌握Spring的依赖注入
熟练掌握Spring的自动装配
熟练掌握Spring面向切面编程
框架的发现,提高了软件开发的速度,增强了软件开发的规范性,使人们都按照某一种模式,一种规范去进行开发。这个阶段我们要做的就是学会使用这些框架来进行开发,了解框架的原理,当然有能力的话,根据它的原理,我们可以试着看下它的源码,自己试着写框架。
三.各阶段所要掌握的工具
1.Java基础
1.会用记事本(或EditPlus)编写java程序,在DOS下进行编绎与运行。(初级阶段)
2.会用JCreator编写,编绎,运行。(中级阶段)
3.会用Eclipse,JBuilder,NetBeans其中之一集成开发环境(高级阶段,推荐使用Eclipse)
4.会安装并使用Navicate(mysql的界面环境),sqlserver2000。(数据库)
2. 静态网页的制作
1. 会用记事本(或EditPlus)编写Html语言
2. 会用Dreamweaver进行编写Html语言
3.Fireworks切图
4.Photoshop图片处理
3. javaweb开发
1.Tomcat使用(javaweb服务器)
2.MyEclipse (javaweb开发)
3.JUit单元测试工具
4.PowerDesigner数据库设计工具
5.CVS版本控制工具
6. Rose ,visio UML建模工具
四.各阶段所要掌握的知识点
1.Java基础
(基本要求)
1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、
环境变量配置,Java程序的实现过程
2.Java语言基础
a). 数据类型:
8种基本类型:byte,char,short,int,long,float,double,boolean
引用类型: 数组, 类,接口
b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for
c).数组
int num[]={1,2,3,4,5} <<==>>int []num={1,2,3,4,5}
3.面向对象的基础
a).类:具有相同属性和行为的一组对象的集合
b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。
c).类是对象的模板(原型),对象是类的具体实例
d).抽象、封装、继承,多态(重载,重写,接口多实现)
e).构造方法(默认构造器/参数化构造器)
f).限制访问修饰符: private,缺省(默认),protected,public
g).附加修饰符:final,static,abstract
h).接口
4.Java 基础包
a). java.lang :
包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean)
其它类:String,StringBuffer,Math,Class,Object
b). java.util
随机类:Random
日期类:Date,Calender
集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap
c). java.io
文件类:File
字节流:FileInputStream,FileOutputStream
字符流:FileReader,FileWriter,BufferedReader,BufferedWriter
二进制流:(了解) DataInputStream,DataOutputStream
构造键盘流:BufferedReader input=
new BufferedReader(new InputStreamReader(System.in))
d). java.swt /javax.swing 了解java图形界面及事件响应机制
容器类组件:JFrame,JPanel,JScrollPane
组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox,
JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem
5.JDBC 数据库连接
数据库的连接步骤:
1). 加载数据库驱动类: Class.forName(driver)
2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password)
3). 基于连接对象建立处理器对象/预处理器对象
Statement stmt=conn.createStatement()
PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)")
4). 处理器执行SQL命令(Select/Insert/Update/Delete)
executeQuery(Select)
==>返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始))
executeUpdate(Insert/Update/Delete) ==>返回执行命令影响的记录行(int)
5). 关闭各个对象
(高级要求,可以暂时不用掌握)
1. java内存管理(垃圾收集及对象引用的内存分析)
2. 栈和堆的区别(变量比较复制,引用传递和值传递)
3. 异常处理机制(异常的原量,异常程序流程)
4. 网络通信(TCP和UDP开发)开发
5. Java多线程开发
6. Applet,JavaWebStart.SWT,JavaFX
7. 数据库存取(事务存取,SavePoint)
8. 分布式计算(RMI,CORBA)
9. java本地调用(JNI原理,调用c程序,调用Delphi)
10. 反射机制(Annotation,动态代理)
11. Java动态编程(Compiler API,Instrumentation,Javassist,ClassEditor)
12. JMX资源管理容器
13. XML开发(DOM,DOM4J,SAX,JDOM)
14. LOG4J日志开发
15. 定时任务,日程工具Timer,Quartz
16. ZIP工具包
17. Excel文档存取工具POI
18. UML建模
19. 设计模式
2. 静态网页的制作
(基本要求)
1. 会写简单的HTML,并且能看懂一些正规网页(多级标题的运应。列表标记(序和无序标记)超链接标记,图像标记,表格标记,多媒体标记,表单标记
)
2. 用javascript做些简单的表单验证
3. 用css做排版
4. 会用Dreamweaver做简单的网页
(高级要求)以后从事界面开发的人,可以多下点工夫
1. 能够熟练用Dreamweaver制作网页
2. 能够熟练使用Photoshop进行图片处理
3. 能够熟练用Fireworks对图片进行切割
4. 能够熟练使用javascript做一些特效
5. 能够熟练使用DIV+CSS进行排版
3. javaweb开发
(基本要求)
1. WEB的两个发展阶段:静态,动态
2. 动态WEB的主要实现手段及区别
3. Tomcat的主要作用及配置
4. 开发一个简单的交互式程序
5. MyEclipse开发工具的使用
6. 在MyEclipse中使用Tomcat服务器
7. JSP中的三种注释
8. 三种SCriptlet及其区别
9. Page指令,包含指令
10. Jsp连接数据库
11. 两个include以及forward语句
12. 了解九个内置对象的定义
13. 掌握JAVAWEB中的四种属性范围
14. 掌握pageContext对象的使用
15. 掌握request,response,session,application四种内置对象及属性的设置
16. Javabean的主要作用,定义及使用,四种保存范围
17. 掌握Smartupload组件的作用,上传文件,为上传文件重命名
18. Dao数据库操作
19. MVC模式
20. Servlet
21. EL
22. JSTL
(高级要求,可以暂时不用掌握)
1. Filter
2. Listener
3. 报表的处理(JFreeChat)
4. 邮件收发(JavaMail)
5. 分页技术
6. Ajax
7. JSF
8. Freemarker
4.ssh框架学习
1.Struts(基本要求)
1. 了解struts2 框架的思想,MVC实现
2. 在Eclipse中开发struts2
3. Struts2 的基本流程
4. Struts2的基本配置(web.xml,struts.xml.struts.properties,struts.xml)
5. Struts2的Action(实现Action类,Action访问Servlet API,配置Action,动态方法调用,使用通配符,默认Action)
6. Struts2的处理结果(配置结果,Struts2支持的处理结果类型,redirect,chain)
7. Struts2的属性驱动与模型驱动
8. Struts2的类型转换器
Struts(高级要求)
1. Struts2的文件上传下载
2. Struts2的拦截器
3. Struts2的输入校验
4. Struts2的国际化
5. Struts2的标签库
6. Struts2的Ajax
7. 整合JSF
8. 整合JFreeChart
五.各阶段任务
1.Java基础
1. 安装配置java运行环境JDK,了解java程序的运行机理,用记事本写个HelloWorld程序,并在命令行操作。
2. 用java写个对数组降序排列程序(数组最好可以自己输入)在后面抄一个有图形的界面的程序(像画图的,有菜单的之类的),自己试着运行下(相信大家看到图形后会有惊喜的)。
3. 安装JCreator,用JCreator写个执行单步的计算器(不要求界面)。如输入3+5 输出8
4. 了解类,面向对象,继承,接口的相关概念,会编写一定的基础程序。
(1)定义一个接口,里面有方法ShowS(),ShowC()
(2)编写一个正方形类,实现了上面的接口,其中包含边长A,面积S和周长C,编写方法ShowS()和ShowC()分别输出正方形的面积和周长。(测试数据:A=5)
(3)编写一个长方体类继承自正方形类,长为A宽为B,重写方法ShowS()和ShowC()分别输出长方形的面积和周长。(测试数据:A=3,B=5)
(4)编写测试类来测试以上两个类。
5. 学会查API文档(这是必备的,因为类库非常多,要记是不可能的,记得常用的就行,另外就是要勤查文档),实现下面的接口。
要求:涉及到具体时间的标准格式格式一般为:yyyy-MM-dd HH:mm:ss
测试类可以自己写。
public interface TimeInterface {
// 计算当月最后一天,返回字符串
public String getDefaultDay()
// 获得本周星期日的日期
public String getCurrentWeekday()
// 获取当天时间
public String getNowTime(String dateformat)
// 获得上周星期日的日期
public String getPreviousWeekSunday()
// 获得下个月最后一天的日期
public String getNextMonthEnd()
// 获得明年最后一天的日期
public String getNextYearEnd()
/**
* 是否闰年,参数要求由键盘输入
*
* @param year
*年
* @return
*/
public boolean isLeapYear(int year)
}
6. 安装Eclipse,会用Eclipse编写程序,编写图形界面程序,能够对事件响应有很好的了解。编写一个记事本,能够对字体大小,字体形状,字体颜色进行控制,能够复制粘贴。(多查API文档)
7. 编写图形界面的计算器,能够实现简单的加减乘除运算,乘立方法算。
8. 安装sqlserver2000数据库,了解数据库基本知识,能够用查询分析器进行简单的增删改查。
9. 能够用JDBC连接数据库,将登录注册程序连接上数据库。
2. 静态网页的制作
1. 学会用html语言做静态网页。做一个介绍自己的网站(要求:代码手写,有以下标签:多级标题,列表,超链接,图像,表格,多媒体,表单)
2. 对介绍自己的网站的布局用css ,div控制完成
3. 用javascript对自己的网站进行表单验证。
4. javaweb开发
1. 安装Tomcat和MyEclipse,配置环境,了解jsp的运行原理。
2. 学习jsp的基本语法,会用四种内置对象,能够实现表单的提交,页面的跳转,做个登录注册程序,不要求连接数据库。
3. 用jsp对介绍自己的网站进行更改,要求能够,实现表单的提交,页面的参数传递和连接数据库对自己信息进行更改。
4. 了解Servlet的运行原理,配置Servlet,利用Servlet做一个登录注册程序。
5. 学习javabean,对登录注册用Servlet+javaBean+jsp实现
6. 用el表达式,对登录注册程序用EL表达式实现
7. 用JSTL表达式,对登录注岫程序用JSTL表达式实现
4.ssh框架学习