第一篇:Java初级项目心得
Java初级项目心得
从二十几天前的项目需求分析,到数据库设计,到后来的界面设计以及第一次全部整合项目,到最后的项目总调试到评审,中间出了很多问题,但最终还是学到了很多在平时写Demo中学不到的东西,对于一个完整的项目流程还是有了更深层次的了解。
最开始的时候关于项目选题我们组间还是有比较大的争议的,各种想法不一样,对于想做出来的东西期望值太大,比如像做一个完善的教师学生管理集于一体的系统,在我设计的时候才发现以我们现在的水平这个事完全达不到的,时间和经验决定了我们只能做这个中间的一部分,最后才决定做学生和教师功能的一小部分。
开始做了的时候我是很有想法的,想搞一个标准让大家按照我的标准来做所有的事情,在这个事情上组员是比较反感的,因为觉得我写的东西不足以成为标准,并且将所有用到的固定值都用一个常量类来定义其实是很麻烦的一件事情,而且在设计界面过程中后面都是直接使用工具拖出来的界面,所有的固定值都是由系统计算给出的,全部写进常量类就更不现实了。并且在设计这一块由于我最初写出的界面并未的到组员的认可,主要是因为我做的不美观并且没有让代码有很好的可读性。设计的时候虽然列出了全部的功能实现但是在最初实现的时候我并不知道所有的实现需要用到的方法和需要返回的类型,传入的值部分,直观的说就是并没有用到面向对象核心思想去编程,所有到最后做出来的界面是每个部分一套,看起来像是多个项目,而且组员的交流很少,都只顾做自己的东西,这个是我的责任,有时候组员不按照我说的去做真的很无奈。
到了最后实现的时候,这时候我的分工出现了很严重的问题,当时没想那么多,就想着自己多做一些,然后大家平均分配。我觉得这样很公平,但是过了两天去问组员的进度,段超负责的部分已经按照计划提前实现了,我也多做了一些,其他组员还在数据库和java不知道怎么去连接,怎么获取数据,或者是获取数据后不知道怎么在界面显示。在开始的时候并没有做太多的规范,虽然是说分了视图层,业务逻辑层和数据库查询层,但是有些查询和业务逻辑根本就是直接写在界面中,所有有两个组员写的都是教师端的功能到了最后自己写的类都不知道是用来做什么的,调试的时候一个方法要找好久才能知道是在哪里调用的。以后的过程中我会尽量先和组员说好这些事情,不会到了最后才发现那里有问题,这应该是一个很重要的规划问题,分配任务的时候不应该一次性全部分配好,可以根据组员的进度来调节任务的分配,在最初设计的时候不管有多少应该的功能,怎么也要出来个简单的框架,起码然组员不会为找一个类而头疼。
当然学到了很多,比如最初我开始对三层编程的不理解,在三个类之间同时编程的时候,没有一个类那么好查看错误,逻辑也不够清晰,知道了文档注释的重要性,对组员之间交流也肯定会进行的更多,对项目该怎么做有了一个最起码的结构在脑海里。
一路踉踉仓仓做出来的东西确实不是当初想的那么美好,无论怎么说还是有一个东西出来了,也算是这十几天的结晶,还是得到了很多有意义的经验,相信以后我会做的更好,达到想要到项目需求。
黄涛 2014-07-28
第二篇:java项目心得总结
java项目心得总结
篇一:Java应用项目开发总结报告
1、In Action
(1)根据添加信息()来考虑表中的字段,进行建表。使用PD画出ER图。要注意字段的数据类型的确定以及建表要满足三范式,减少数据冗余;
(2)表建好后,根据表中各个字段来建pojo中的属性。要注意属性的数据类型和字段的数据类型要一致;
(3)根据pojo中的属性确定bean的属性,直接拷贝即可,用于页面展示。在bean中,统一使用String类型变量接收前台页面传递的参数;每个HTML表单对应一个bean。HTML表单中的字段和bean中的属性一一对应。
(4)自顶向下,依次定出action、manager、dao。先写出轮廓,跑通整个流程,再写具体实现,一点点累加,便于调试错误;
(5)根据数据实体和具体业务逻辑,使用StarUML画类图,进行OOA和OOD,灵活运用设计模式。
(6)API命名:
CRUD:add,get,update,[list]
严格区分单复数形式,单数表示对象,复数表示对象集合。
对象、属性最好单个单词。
(7)前后台都要校验。
(8)按照资源方式组织数据接口,对前端开发帮助很大。即通过REST来实现资源的增、删、改、查。
(9)软件开发,思路最重要!代码开发多了,思路就有了。
a、一个版本一个版本递增的开发; 每个版本增加一点内容;
b、总结开发思路;第一步怎么做,下一步怎么做?
c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等?
d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握;
(10)网页模板
request到template.jsp文件(此文件假设包括三个部分,即title、banner、body)
web客户——> title
banner———————>include:banner.jsp
body————————>include:showcart.jsp
(11)一步一步的定位。根据结果进行分析。
(12)分页控件
假分页:
基本思想是将所有的数据从数据库中取出,只显示有用的部分。靠的是程序的算法,实际上就是在ResultSet上进行操作。
真分页:(数据库中的一种实现)
任何数据库都会提供分页的函数操作:Oracle、MySQL(limit,即limit 开始的记录, 要查询的行数)、SQL Server(top)
基本思想是在数据库中编写特定的SQL语句。程序中只读取有用的部分,没用的部分不会加载到内存中。
(13)
2、TIPS
(1)、VO就是POJO。
(2)、先做完基本功能,然后对输入的数据进行验证。主方法中代码尽可能少,再考虑代码的可重用性。
(3)、当发现代码中重复地复制/粘贴时,就可以考虑将之形成为一个类进行调用。
(4)、在类的设计中,永远不要去继承一个已经实现好的类,只能继承抽象类或实现接口。
(5)、一个设计良好的类,应重写Object类中的equals()、hashCode()、toString()方法。
(6)、在action层中接收参数,要写健壮,要做空指针处理。
(7)、业务逻辑放到manage层,如if...else...不要放在action层,放在manage层处理。
(8)、dao层要写健壮,传入的是bean或map,返回的是bean或list。
(9)、查询:所有的记录总数以及查询第几页的数据;
(10)、多思考,尝试用不同、多种方法去解决问题。(发散性思维)
(11)、当程序中有0、1这样的数字或字符串出现时,最好用常量代替。常量名很重要,做到见名知意。
(12)、spring针对每一层(action.manager、dao)都有一个配置文件;ibatis有2个配置文件。sqlmap有namespace,每个实体类都对应一个xml配置文件。
(13)、类设计,编写时先完成基本功能的实现,然后再对实现功能的代码结构进行优化。
(14)
2、PS
(1)Java Web开发环境:JDK、IDE、java web服务器
JDK,一般指sun公司发布的JDK,也有其他的JDK,如IBM的JDK、BEA的JRocket等。从Java 5.0开始,Java web技术也称为Java EE。Java EE应用程序的运行需要Java EE类库的支持。
安装好JDK后,设置JAVA_HOME环境变量以及将JDK下的bin目录添加到PATH环境变量。
eclipse需要Java运行环境。
Eclipse WTP是Eclipse官方提供的web开发工具。
Java web服务器在Java EE规范中也叫做容器。
(2)web容器在启动时,从web.xml文件中读取配置信息,装载web应用。
web容器运行时,不会检测web.xml、struts配置文件的更新而重新加载它。
若struts框架不能处理的异常,会把错误抛给web容器。容器会查看web.xml文件中是否配置了元素。若存在,则返回元素的子元素指定的错误页面。否则直接将错误抛给用户。
(3)webApp部署好后,启动Tomcat会自动发布webApp。首先是实例化Filter,并调用其init()方法初始化。然后根据的数值(数值为0或正数,数值越小越先加载)来依次加载servlet,并调用其init()方法进行初始化。
若没有为servlet配置属性,则当web应用启动时servlet容器不会加载这个servlet,只有当用户首次访问此servlet时才加载。
(4)
web调试时,一定要服务器以调试模式启动。然后在程序中打断点,通过浏览器访问,这样程序运行到断点处就会暂停运行。
(5)jsp放到WEB-INF文件夹中,可防止外界直接通过URL来访问Jsp页面,此时jsp一定要是servlet或action的后继页面,才可以被访问到。
(6)EL表达式是JSP2.0规范,需要Tomcat支持的。Tomcat6才支持EL表达式。
(7)编码
用户提交的查询数据(即get请求),默认采用的是ISO-8859-1编码。
request.setCharacterEncoding(“utf-8”);//设置request编码方式,即设置使用utf-8来解析请求参数;
response.setCharacterEncoding(“utf-8”);//设置response编码方式
(8)JNDI
JNDI:为某个java对象起一个名字。如为Tomcat中的数据源起一个名字,从而让程序可通过该名字访问该数据源对象。(Tomcat内置了DBCP的数据源实现)
若web应用访问了由servlet容器管理的某个JNDI资源,需要在web.xml中对这个JNDI资源的引用声明,表示资源引用的元素为。
(9)session
servlet容器为HttpSession分配唯一标识符sessionID。servlet容器把sessionID作为cookie保存在客户的浏览器中。若浏览器禁止cookie,servlet容器可重写客户请求的url,把sessionID添加到url信息中。HttpServletResponse接口提供了重写url的方法:encodeURL(url)。
篇二:Java各种开发框架总结
Spring Framework 【Java开源JEE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.WebWork 【Java开源Web开发框架】
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类), session(会
话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】
Struts 【Java开源Web开发框架】
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】
Hibernate 【Java开源持久层框架】
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】
Quartz 【Java开源调度框架】
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。
Velocity 【Java开源模板引擎】
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。
Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】
IBATIS 【Java开源持久层框架】
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
Compiere ERP&CRM 【Java开源ERP与CRM系统】
Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
Roller Weblogger 【Java开源Blog博客】
这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
Eclipse 【Java开源IDE】
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
XPlanner 【Java开源项目管理】
XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
HSQLDB 【Java开源开源数据库】
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。
Liferay 【Java开源门户系统】
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。主要特点:
.8.提供单一登陆接口,多认证模式(LDAP或SQL);管理员能通过用户界面轻松管理用户,组,角色;用户能可以根据需要定制个性化的portal layout;能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;支持主流的数据库,如PostgreSQL,MySQL;使用了第三放的开源项目,如Hibernate, Lucene, Struts;支持包括中文在内的多种语言;采用最先进的技术 Java, EJB, JMS, SOAP, XML;
JetSpeed 【Java开源门户系统】
Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML.用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息.Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户.即将成为标准化的Java Portlet API 基于模板的布局, 包括JSP和Velocity 通过开放的内容同步技术支持远程XML内容交换 定制默认的主页 使用数据库进行用户认证 内存缓存技术, 加快页面的响应 通过Rich Site Summary技术, 支持同步内容 和Cocoon, WebMacro, Velocity集成.Wireless Markup Language(WML)支持 使用XML格式的配置文件注册portlet.完整的Web Application Archive(WAR)支持 Web应用程序开发的基础设施 可以在本地缓存远程内容 与Avantgo同步 可移植到所有支持JDK1.2和Servlet 2.2的平台 与Turbine模块和服务集成
可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet 使用皮肤技术使得用户可以选择portlet的颜色和显示属性 自定义功能是的管理员可以选择portlet以及定义个人页面的布局 在数据库中存储PSML 通过Jetspeed的安全portlets管理用户, 组,角色和权限 基于角色对访问portlet进行控制
JOnAS 【Java开源应用服务器】
JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA、JMS、JMX、JNDI、JAAS、JavaMail。
JFox3.0 【Java开源应用服务器】
JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发!如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。
重新设计的 IoC 微内核,融入 OSGi 模块化思想 设计成嵌入式架构,能够和任何 Java Web Server集成部署 支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件 支持 EJB 发布成Web Service 采用 JOTM(http://jotm.objectweb.org/)提供事务处理,支持两阶段提交(2PC)采用 XAPool(http://forge.objectweb.org/projects/xapool/)提供 XA DataSource,支持智能连接池管理 内置 MVC 框架,实现自动Form Mapping,Validator,Uploading
等
功
能,支
持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB 支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势 提供 Manager 管理模块,可以查看和管理各种运行时参数 提供根据 JFox 特色重写的 Petstore 应用模块
[java项目心得总结]
第三篇:java 初级程序员 个人简历
个人简历
个人资料
姓名: 出生: 性别: 籍贯: 体重: XXX 1992 男 贵州兴仁 53kg
专业: 计算机应用技术 学历: 大专 学校: XXXXX 手机: XXXXX
邮箱: XXXXX@qq.com
照片
现居地址: XXXXX IT技能
1.能够运用Java开发环境。
2.能够应用JSP/Servlet/JDBC/JavaBean的MVC模式开发项目。
3.能使用Struts2、Spring、Hibernate、Springmvc、Shiro框架进行项目开发。4.掌握EL表达式、Ajax、Js、JQuery(EasyUI)等技术。5.能够使用数据库sql语句,主要使用mysql。6.了解solr搜索引擎的使用。
7.了解流程引擎activiti的原理和流程引擎的配置。
其他技能
ps中级技能证已取得驾照资格:C1
实习经历
XXXXX XXXXX
项目经验
(1)流程引擎——OA系统
使用技术:activiti,springmvc、Spring、Hibernate、Oracle、jsp、javascript、jquery(EasyUi)、Json、Ajax、XML,solr。
我所参与的项目功能:登录、注册,权限管理、请假单流程管理。开发工具: myeclipse2014 , Tomcat7.0 , Oracle
功能介绍:登录模块:涉及到登录人的身份问题,使用shiro对用户进行认证与授权。
注册模块:检测注册账号唯一性,输入两次一致的密码,然后保存到数据库。权限管理模块:引入了shiro来实现。主要功能有账户权限分配、用户角色权限绑定、用户基本信息增删改查。引入了shiro的标签库使用了hasRole和hasPermission这一类的标签来实现不同的权限给用户操作。请假单流程管理模块:采用了activiti流程引擎。对“请假”这一功能的操作。普通用户编辑,保存到草稿箱或者提交。管理员审批通过,流程结束。管理员驳回,普通用户修改再提交。普通用户可查询写过的历史请假单,管理员可查询审批过的请假单。(2)进销系统
使用技术:jsp、Struts2、Spring3、js、jdbcTemplate 开发工具:myeclipse2014, Mysql,Tomcat7.0 我所参与的项目功能:用户管理、权限设置、选项设置、系统日志、业务管理。
用户管理:对用户基本信息进行录入修改管理,完成用户的增删改查操作,对用户的权限进行角色的分配,绑定和修改,一个用户先定于绑定一种角色。
权限管理:对于要角色的增加和修改查询删除,角色在邦定权限、为角色分配模块和按钮。选项设置:对后面用到的选项进行分类管理,用户可以添加修改选项的分类,单位等。
系统日志:可以记录每一个用户的操作的模块,操作的动作,IP地址,用户名,时间。
业务管理:对订单的录入和管理工作,该功能要有订单审核、审批、发送,订单的流程的跟踪管理。(3)文章推推发文管理
使用技术:jsp、Struts2、Spring3、js、jdbcTemplate
项目功能:登陆页面、用户注册、文章列表、增删改查等 开发工具:myeclipse2014,Mysql,Tomcat7.0 主要模块:登陆模块用户注册模块 文章管理模块
模块功能介绍:登录模块:对登录的账户进行验证。忘记密码:是在登录的时候,忘记密码将使用这个功能,会根据用户填写的已知信息和在注册的时候绑定的邮件进行一个新密码的生成和邮件发送。
注册模块:检测并确保注册账户确保账户唯一性,然后将用户信息保存到数据库。
文章管理模块:实现了对新发表的文章和已经发表过的文章进行了列表化的显示,实现了分页以及搜索功能。在列表中,可以对即将发表的文章进行新增、修改、查询、删除等操作,再做出相应的提交步骤。对于已发表的文章可以进行查询和删除。
自我评价
本人勤恳务实,脚踏实地,对待工作认真负责,虚心好学,不拖拉,有良好的团队精神。性格随和,热爱运动,乐观开朗,善于在实践中学习和积累,不断的提高自身技能。同时也有很多不足的地方,在细节方面的把握有待提高;时常因为疏忽大意写错关键字,造成代码错误,正在努力改正;Java方面所学习的理论知识运用到实践的能力还有所欠缺,运用得不够灵活,需要在实践中积累经验。
第四篇:java初级学习总结
FileInputStream 实例: import java.io.*;public class ex_1_3 {
} public static void main(String args[])throws IOException{} //常见file对象指向文件 File file = new File(“1_3.txt”);if(!file.exists()){System.out.println(“文件不存在”);}else{} //通过file对象创建FileInputStream对象 FileInputStream fis = new FileInputStream(file);int len = 100;//创建数据缓冲 byte[] buffer = new byte[len];//判断缓冲大小是否满足 if(2*len>file.length()){System.out.println(“读取失败”);}else{} //从buffer中读取数据 fis.read(buffer,0,len);//输出 System.out.println(new String(buffer));//跳过中间的file.lengthbuf.length/4,buf.length/4);f2.close();
文件字符流FileReader类和FileWrite类
1.FileReader类
import java.io.*;
public class FileReaderTest {
} public static void main(String args[])throws IOException{} FileReader fr = new FileReader(“huang.txt”);BufferedReader br = new BufferedReader(fr);String s;while((s = br.readLine())!= null){} fr.close();System.out.println(s);
2.FileWrieter类
import java.io.*;
public class FileWriterTest {
public static void main(String args[])throws IOException{String source = “Now is the time for all good menn” +“ to come the aid of their countryn” + “ and pay their due taxes.”;char buffer[] = new char[source.length()];source.getChars(0,source.length(),buffer,0);FileWriter f0 = new FileWriter(“file1.txt”);for(int i =0;i } 文件随机访问: 1.File类字段和File类的构造方法: import java.io.*; public class FileTest { } public static void main(String args[]){//使用File.separator 字段代表当前路径 //使用构造方法File(String)创建File对象f1 File f1= new File(File.separator);//构造方法 File(String String)File f2 = new File(File.separator,“autoexec.bat”);//构造方法File(File,String)File f3 = new File(f1,“autoexec.bat”);System.out.println(“三个File对象创建完成”);} 2.File类方法: File的方法大致分为四类: 文件名处理: 文件测试操作: 文件处理: 文件信息处理: 例子1: import java.io.*; public class ex_1_6 { public static void main(String args[]){String filename = “huang.txt”;File myFile = new File(filename);//如果文件存在进行属性测试 if(myFile.exists()){System.out.println(myFile.getName());//文件的绝对路径 System.out.println(myFile.getAbsolutePath());//上一层目录 System.out.println(myFile.getParent());//最后修改时间 System.out.println(myFile.lastModified());//大小 System.out.println(myFile.length());//是否绝对路径、是否是目录、是否是文件、是否可读写 System.out.println(myFile.isAbsolute()+“ ”+myFile.isDirectory()+“ ”+ myFile.isFile()+“ ”+myFile.canRead()); } 运行结果: huang.txt D:eclipseworkspace输入输出流huang.txt null 1267600014000 false false true true false}//是否隐藏属性 System.out.println(myFile.isHidden());}else{System.out.println(“文件不存在”);} 例子2: JAVA心得 1.Only public & abstract are permitted for interface.2.Only public, abstract & final are permitted for class.3.main方法作为程序的入口,其modifier必须是 public static void 且必须有一个类型为String的数组参数, 否则不能运行.4.非static内部类中不能有static的域和方法.static的域和方法只能存在于顶级类中或者是static嵌套类中.5.interface 中定义的变量都是public static final的, 且必须赋值.6.如果试图在方法中更改final变量的值, 则编译不能通过; 7.两个int类型的数相除其结果也是int型且不会四舍五入而是直接截取整数部分.一个浮点型数字与整数相除其结果是浮点型.8.try{}块后面必须有catch(Exception){}或者finally{} try{return a;} finally{ } 执行顺序是return语句返回结果之前 先执行finally{}再返回结果.9.子类override父类方法是可见修饰符级别不能降低,例如父类是protected 子类可以是protected和public 但不可以是default和private.如果子类有个方法与父类同名且参数类型也相同,则必须返回值类型也相同 否则不能编译.Java允许方法名与类名相同, IDE会给出警告但可以编译和运行.第五篇:Java心得