java资深程序员的建议(共8篇)
java资深程序员的建议 篇1
26、 资源的整合和合理配置。
以达到用人最优化,财产资源分配最优化,同时咱们HR圈内也会有很多资源会去支持你,多多利用身边的资源。
27、 如果你不适应你的老板,就让他适应你。
很多老板,特别是中国的企业老板,大多把人当成是成本而不是资源。因此对人才不够重视,只使用不培训、不开发,甚至当驴用。要多培训你的老板,因为你的一切方法都需要他首肯。改变他的观念可不是一般的难事,而是很难。
28、 具备一定的洞察力,如果你没有这样的眼光,那么你无法做好工作。
29、 亲和力与人际关系的处理。需要和各部门打交道,你会涉及到同事,上级,老板,下级。
协调最重要,无法协调你的工作,那么就是人际关系没有处理好。不具备亲和力,你就无法和别人接近,无法得到想要的结果。
30、 具备成本管理与财务分析。
虽然你不需要成为专业的财务人员,但是需要有财务知识。因为人力资源的稽核工作和成本管理需要。
31、 规划员工的岗位升迁与任职能力标准。
这是合理配置人才的重要方式。
32、 员工的服务者,知识的管理者。
要有服务的精神和心态,服务好各部门,就象各部门对外服务顾客一样,同时对知识的管理,建立良好的知识管理体系,将公司的经验和文化进行归纳整理,形成系统。
33、 树立企业文化,并成为推动者。
企业文化的推动好坏直接关系到HR的工作难度。如果树立了良好的企业文化,HR人员工作就很好做了。
34、 对企业战略与人力资源战略的关系熟悉。
做企业老板的战略伙伴,需要有经营知识,分析能力,判断能力。
35、 把握员工心态,及时调整,形成良性的企业氛围。
并给予员工指导和咨询帮助。
36、 面对市场和管理失控时,努力将企业损失最低。
37、 处理好员工的劳动纠纷,处理好员工关系。
38、 做好老板的建议者。
提出自己的合理意见,如果HR人员不提意见,做不好一个参谋的作用,那么企业的体系无法完善。同样因为有些事情不是你的权力范围内的,所以你需要建议。
39、 做好培训体系的建立和完善。
像老板一样热爱你的工作,象市场一样进行培训需求分析,象财务一样搭建培训体系,象技术一样开发培训课程,象营销一样卖培训项目,象服务一样评估培训课程。
40、 掌握制度化管理对企业稳定性。
制度化管理的潜规则不是过死的执行制度。
41、 对企业业务和产品项目的了解和熟悉。
如果HR人员不熟悉这个,那你根本无法帮助企业建立良好的体系。
42、 建立对外顾客关系的体系与对内员工关系的体系。
从开源节流上为企业创造效应。建立顾客满意度与员工满意度的调查与分析。
43、 胜任能力,包括个人诚信,变革管理能力,文化管理能力,人力资源管理实施能力,经营能力。
学会主观与客观结合去分析问题。HR人员分析问题如果片面会带来很大影响,甚至会动摇了团队的精神。
44、 学会企业诊断,并提供解决办法。
时刻了解企业中的不确定或危险性因素,及时提供解决方法,把对企业的损失降到最低。
45、 适应性的调整企业人力资源构架和组织结构,职能设计,岗位设计。
46、 学会面对员工对企业变革的抵触。
当员工抵触变革时,一定是变革中涉及到了某些员工的利益,这样的时候我们需要坚持,不能半途放弃。更要学会缓解自己的压力,平静的对待。
47、 突破传统的人事管理模式,建立战略性人力资源管理。协助各业务部门成为人力资源管理高手。
48、 绩效管理与战略,业务,员工工作能力结合。
构建PDCA绩效管理系统。
49、 持之以衡的决心,不能因为目标实现中失败了一次就改变了原有计划,放弃人力资源战略管理改革。
50、 做好企业的向导,为企业解决实际的问题。
不能把人力资源做成花架子,或者有名无实。掌握好员工的流失率,并提出解决方法。确立企业发展的瓶颈和员工的职业发展瓶颈,并寻找突破。HR圈内招聘网会伴随大家共同成长!
java资深程序员的建议 篇2
Java程序设计教学的目标,不仅要求学生掌握Java程序设计的基本理论,更要求学生能编写出符合实际需求的程序,使软件产品符合用户的使用习惯,在此教学中引入项目教学法较合适。如在“数据库编程”教学中,可选择“学生信息管理平台设计”这一项目,并设计“编写学生信息输入模块程序”、“编写学生信息查询模块程序”和“编写总控模块程序”三个任务,设计的任务和问题要照顾不同程度学生的需求。
1 Java小程序和应用程序
用Java可以编写两种类型的程序:小程序(Java Applet)和应用程序(Java Appli Cation)。小程序是嵌入在HTML文档中的Java程序而Java应用程序是从命令行运行的程序。对Java而言,Java小程序的大小和复杂性都没有限制。事实上,Java小程序有些方面比Java应用程序更强大。但是由于目前工nternet通讯速度有限,因此大多数小程序规模较小。小程序和应用程序之间的技术差别在于运行环境。Java应用程序运行在最简单的环境中,它的唯一外部输入就是命令行参数。另一方面,Java小程序则需要来自Web浏览器的大量信息:它需要知道何时启动,何时放入浏览器窗口,何处,何时激活关闭。由于这两种不同的执行环境,小程序和应用程序的最低要求不同。
由于www使小程序的发布十分便利,因此小程序更适合作为Internet上的应用程序。相反,非网络系统和内存较小的系统更适合用Java应用程序而较少用Java小程序实现。另外,Java应用程序也很容易以Internet为基础环境,事实上有些优秀的Java应用程序正是如此。例如,Hotjava(用Java语言编写的WWW浏览器)。
2 教学思考
如何有效地进行Java程序设计教学是许多教师都在思考的问题。笔者根据多年教学经验关于Java程序设计的教学从以下几个方面进行探索:
2.1 精选教材,注重程序设计能力的培养
合适的教材,是有效教学的重要保障之一。合适的Java教材,应具有较好的知识覆盖面,难度适中,适合学生的具体情况。由于是新生,大多没有程序设计基础,所以诸如《Thinking in Java》、《objects First with Java》、《he Java Programming Language》经典书籍都不太适合初学者,而《Java:How to program》和《Java:in two Semesters》等教材则较为合适。
在开发工具方面,则选择了免费的Blue)。没有选择JBuilder,Netbean等集成开发环境以DE),是因为它们隐藏了很多Java处理机制,虽然容易上手,但不利于对Java语言本身的理解;而如果直接使用记事本、DOS命令环境则过于复杂。可见,开发工具的选择也是以培养程序设计能力为主要目标的。
在内容的选择上,推崇简化的原则,忽略了一些不常用的内容,如跳转标签、复杂的表达式运算规则、位运算、嵌套类等,既节约了课时,也能充分引导编写学生简单、可读性好的程序代码。
2.2 与时俱进,不断更新改进教学内容
Java语言处于不断的发展过程中,如从Java1.0版到现在的1.5版,有关图形用户界面设计的内容已经发生了很大变化,引入了事件委托模型、Swing组件等内容;在输入处理方面,引入了Scanner类,有效地简化了非GUI程序的输入问题。因此在选择教学内容时,也应与时俱进,采用新技术、新知识,与Java语言的发展保持同步。在教学过程中,用Scan-ner类代替了由程序员自己提供的输入处理类及其函数;在介绍GUI程序设计时,也尽量地使用更新Swing组件。
但在教学内容的选择上,也不应一味盲目求新,而应围绕预定的教学主线筛选教学内容。
2.3 综合运用多种教学手段,努力提高教学质量
根据《Java语言程序设计》的特点,采用多媒体教学与传统教学方式相结合的方式进行教学:
1)课堂教学应把多媒体教学方式与传统教学方式结合起来,适时切换使其互补,对重点、难点内容以及问题的推理过程,教师仍需要进行必要的板书,教师要有一定的时间离开键盘、鼠标和屏幕,结合传统教学方式,用自己的语言、身体姿态和表情传达知识和信息,并要经常性采用启发式提出问题,分析问题,得到问题的结论,灵活运用多媒体技术,将图、文、声、形相结合,展示动态的变化过程,以加深学生的印象和记忆,达到最佳教学效果。
2)在多媒体教学中,课件播放时间、速度、方式,教师的讲解、板书要与学生视觉、听觉、思考进行恰到好处的衔接,不能违背学生的认识规律,要解决好多媒体课堂中师生双向交流问题,适时从多媒体展示转换到传统的讲授,教师通过渊博的知识,巧妙地组织和精彩的讲授吸引学生,凭借丰富的表情,眼神和手势等,实现与学生广泛深入的交流与沟通,营造和谐默契的教学气氛,引发师生之间的共鸣,使教学进入最佳状态。
所以,在教学过程中,应综合应用多种教学手段,展示与演示相结合,黑板与投影与结合。对于不同的内容,也应采用不同的教学方法。比如,对于Java语法基础,选择与循环结构等比较基础、简单的内容,可以多通过屏幕展示的方式,强调关键点,再辅以一些恰当的实例,通过程序演示的方式深化这些语法。比如要介绍System.out.println与System.out.print的区别,就无需费尽口舌,只需编写一个简单的程序,让学生从直观的程序运行结果中去体会就行了。而对于类的聚合、类的继承、类的多态性等内容,则应从程序设计的算法思想、思路和步骤着手,先启发、调动学生,让学生知道接下来要做什么,引导学生积极主动地参与到算法的设计过程中来,必要时可以一边编写一边讲解。还可以给学生穿插一些比较有效的分析、设计工具,如可以教给学生使用简单的UML来设计类,从而引导学生用软件工程的思维来设计、编写程序。但在这个过程中,要注意把握好度,不应喧宾夺主。
总之,多媒体教学方法的运用一定要与Java课程的要求和教学特点结合起来,以培养学生良好的程序设计方法和解决问题的能力为主要目标,既要考虑传授的知识量和信息量,也应充分照顾授课的效果。
2.4 精选实例,强调教学内容连贯性
教师可以将企业中的项目案例进行拆解与组织,由于企业的项目案例并不能直接用于教学,需要把它分开,并合理有效的组织起来,这样才能达到应有的教学效果。通过合理的拆解与组织,将其应用到课堂上来。课堂上的案例分析可以提高学生对Java软件设计过程中的分析能力,教师在课堂中尽量使用比较接近学生本身的案例进行分析,这样的项目案例分析起来使得学生更加容易理解并接受。由于该案例接近学生自己的日常管理,因此,通过学生管理系统案例分析,强调教学内容的连贯性,学生更容易理解,更能够提高学生的学习兴趣。
2.5 注意实用性、趣味性,调动学生学习积极性
爱因斯坦有句名言:“兴趣是最好的老师”。在有限的课堂时间内,不可能把所有的东西都交给学生,尤其是对于Java语言,提供了丰富的类库资源,不可能在课程上一一介绍。因而,培养学生的学习兴趣,调动学生的学习积极性,自我学习,自我探索,意义重大,也是教学的重要目标之一。
相对来说,程序设计是比较枯燥的,特别是在初学阶段,所选的实例往往没有实用性、趣味性。所以,在教学过程中,要尽可能的选择一些实用的、有趣的例子。一种方式是采用前面所说的连贯性原则,这样可以在有限的时间内介绍一些实用的例子。可以引人类似用于Java学习的Robocode游戏实验项目Rohocode是IBM的一位工程师Mat Nelson用Java语言所创造的机器战斗仿真引擎,是一款专门为程序员设计的游戏半成品。利用该引擎,学生编写几行简单的代码,就可以创造出一个在屏幕上四处疾驰的机器人坦克,参加游戏对战。为了提升自己设计的坦克的能力,学生就要使用选择、循环、继承、多态等手段通过编程实现,于满足中增加兴趣,于不满意中锐意进取。
3 结束语
一个港台资深藏家的建议 篇3
提到古董店,现在的北京、上海、杭州事实上缺的就是古董店,更别说能打出品牌的古董店。如果古董店能做得很好,其本身是会教育顾客的。拍卖的时候,拍卖公司都是招待顾客,没有时间坐下来谈,而在古董店里,人们可以进行深入的沟通。我相信古董店发展起来,制度形成后,会对藏家起到引导的作用。
关于古董店制度,台湾的情况或许可以给内地一些启示。很巧的是,台湾的古董店及其制度的发展过程,我几乎全部参与过。有一次在香港拍卖结束之后,乘同一班飞机回台湾的一帮大藏家聊起来,谈到建立一个收藏家团体。回来以后我就开始筹组“清玩雅集”,如今“清玩雅集”已经进入第20年。我们的制度很简单,第一,要进入这里的会员是不容易的。当时的门槛是,一年最少要买艺术品超过一千万港币以上的朋友才有资格入这个会,因为会员自己必须要有收藏。第二,我们每一个人进来的时候,需要两个会员推荐,参加我们的活动两次到三次后,全体投票,五分之四的人同意才能入。经过两个人推荐,我们都认得他了,就不需要什么审核了。因为大家都是因为兴趣而加入的,所以,没有任何人退会,这就像两个人经过了解,再谈恋爱,再结婚是一样的道理。
“清玩雅集”成立后,其主要的功能就出现了:大家看起来好像是买古董,其实不是,因为这些会员都是我们重要的企业家,有银行界的老板,有电子公司的老板,他们在每个月的聚会里,互相交流各自领域的信息,互相进行商业上的支援,比如我公司最近股票上市了等等,这些信息的交流对这些会员生意的帮助比古董还大。除了对会员在商业上有帮助以外,“清玩雅集”还可以抵制卖假的行为。一般香港和台湾的古董商不敢卖假,如果谁卖了一个假东西,那他就上了黑名单——以后也不要做这个人的生意。
古董市场到了
定的阶段会出现两种分流卖假的它永远在卖假,而卖真的则力争产生个品牌和信用度。所以十几年前,在那样一种情况下,我就提出来成立一个“聚英雅集”,参加“聚英雅集”的这十多个人大家都自律,绝对不准卖假东西,于是渐渐产生了信用。
中国拍卖行业协会既然是一个协会,那么就要发挥协会的功能。我在台湾当画廊协会会长的叫候,有一家拍卖公司拍的画不对,我们为此站出来说话,举行了一个简单的记者会,说我们协会对拍卖作品的真伪特别注意。只要协会敢讲一两次,拍卖行就不会拍假东西了。
我在台湾办了一个文物艺术研究室,很多朋友,包括故宫博物院杨院长,以及上海博物馆马馆长都对我支援很大。我把台湾的收藏家带到北京来,上午参观故宫博物院,下午上课,大家都变成很好的朋友。我前前后后至少带过15个团到全世界的博物馆,在大英博物馆这些欧洲有名的博物馆,我们都受到盛情招待。所以,好的活动组织,跟国际博物馆之间的联系,以及互相学习是非常重要的。“清玩雅集”在这几个活动下来之后,大家志同道合,慢慢变成了这么一个团队。
有人提到,在大陆,很多古董商把好的东西都送拍卖公司了。在台湾,我们协会也会从拍卖公司买艺术品,但如果是个好的古董店,里面的古董卖的价格绝对比拍卖公司还高。最有名的例子是欧洲一位叫斯比尔曼的古董商拍的那批鎏金佛,其中一尊就是厦门的蔡先生买的。16年前,这批鎏金佛在法国拍的时候我参加了,当时它的估价才100多万人民币,我想大概用300万可以买到,结果有人花了大概500多万人民币把它买下了。这件拍品比大英博物馆那件还好,当时我就很后悔,为什么不多出点把它买下来。现在,那个人把花500多万人民币买下来的东西,以2000万卖出。我问他为什么卖这么贵?他说:“这就是我的专业,你跟我买东西绝对放心,如果你去拍卖公司买,还要想半天这件东西是不是真的。”为什么劳力士比别的表贵?因为它是名牌。所以,拍卖公司要特别注意产生很好的名牌。
英国的古董店就很注重品牌。在英国,你到古董店门口一看就知道这个古董店行不行,好的古董店门口一定贴着很多皇家的标志。我分析过整个英国的古董商,他们由两三类人组成。第一类人的祖父和父亲就是收藏家,所以他拿出来,以古董会友,待价而沽。第二类人,自身在博物馆工作,现在退下来,他知道谁的收藏是什么,然后有谁需要什么,于是他做中介。他并不需要很多的钱,而是全力做好服务性的工作。还有一类人从Antique Center(古董市场)上来。因为英国整个制度里对于名牌很重要,所以“名牌”两个字是种光荣。英国之所以古董交易会这么好,个最重要的原因是因为在20世纪的时候有很多的殖民地,殖民地的很多小孩被送到英国念书,等这些小孩长大了,有一天也许会当总统或者总理。他们当了总统之后,还是会回英国去玩,而且喜欢到这几个古董店。所以,一旦比如西班牙国王、挪威国王来过一家古董店,古董店的门口都会有一些标志,因为有这些人的光顾,所以会维持永久的品牌跟形象,这就像中国以前的“宝”字号。像嘉德拍卖王世襄先生的收藏,拍出非常高的价格,因为王世襄先生就是一个品牌效应。
java程序员的书籍 篇4
---by Robin
作为java程序员来说最苦的莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想从我读过的书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的java程序员们。
在这份推荐书籍的名单中,我没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Sping之类,也没有列举Ajax方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得你去购买和收藏。
1.Java编程入门类
对于没有Java编程经验的程序员来说,要入门,随便读什么书籍都一样,这个阶段需要你快速掌握java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对java熟悉起来再说。用很短的时间快速过一遍java语法、,连蒙带猜多写写代码,要“知其然”。
①《java编程思想》
在有了一定的java编程经验之后,你需要“知其所以然”了。这时候《java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交代,对java基本语法、基本类库有比较清楚的讲解,可以帮你打一个良好的java编程基础。这本书的缺点是实在太厚,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章节都值得一看,挑重点的深入看就可以了。
②《Agile Java》中文版
这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书的一大特点是以单元测试和TDD莱贯穿全书的,在教你java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书很新,以JDK 5.0的语法为基础讲解,要学习JDK 5.0 的新语法也不错。这本书对于内容的取舍也非常得当,java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握java最重要的知识,顺便培养出来优秀的编程思路,真实一本不可多得的好书。虽然作者把这本书定位在入门级别,但我不确定这本书用来入门是不是深了点。
2.java编程进阶类
打下一个良好的java基础还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在变成生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
①《重构--改善既有代码的设计》
这本书名气很大,不用多介绍,可以再闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生的影响是潜移默化的。
②《测试驱动开发 by Example》
本书的最大特点是很薄,看起来没什么负担。你可以找一个周末的下午,一边看,一遍照做,一个下午就把书看完,这本书的所有例都跑完了。这本书的作用是通过实战让你培养TDD的思路。
3.java架构师之路
到这个阶段,你应该很娴熟的运用java编程,而且有了一个良好的编程思路和习惯了,但是你可能还缺乏对应用软件整体架构的把握,现在就是你迈向架构师的第一步。
①《Expert One-on-OneJ2EE Design and Development》这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生的springframework。但是这本书好像没有中译本。
②《Expert One-on-OneJ2EE Design and Development without EJB》
这本书有gigix组织翻译,多为业界专家参与,虽然署名是JavaEye,其实JavaEye出力也不多,实在是忝居译者之名。以上两本书都是Rod Johnson的经典名著,java架构师的必读书籍。在我所推荐的这些书中,是我看过最仔细、最认真的书,我当时读这本书几乎是废寝忘食的一气读完,有小时候挑灯夜读金庸武侠小说的劲头。书中所讲内容和自己的经验知识一一印证,由又被无比精辟的总结出来,读完这本后,我有种被打通筋脉,功力爆增的感觉。
③《企业应用架构模式》
Martin的又一名著。似乎更适合做框架的人去看。如果你打算写一个ORM的话,这本书一定要看。。让你知道框架为什么要这样设计。
④《敏捷软件开发原则、模式与实践》
Uncle Bob的名著。与其说它是讲软件开发工程的书,不如说它是讲软件架构的书。用很大篇幅讲各种面向对象软件开发的各种模式,个人认为看了这本书就不必看GoF的《设计模式》了。
4.软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
①《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。提醒大家的是这本书的中译本翻译的非常之烂,建议看英文原版。
②《解析极限编程 拥抱变化》
这是Knet Beck名著的第二版,中英文对照。没什么好说的,必读书籍。
③《统一软件开发过程》UP
其实UP和敏捷并不一定冲突,UP也非常强调迭代、测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得你去读,毕竟在中国真正接受敏捷的公司很少,但是你需要用UP来武装一下自己的,哪怕是披着UP的XP。
④《敏捷建模》AM
Scott Ambler的名著。很实用,告诉你怎么既敏捷又UP,把敏捷和UP统一起来了,又提了很多建议和做法你可以把《解析极限编程 拥抱变化》、《统一软件开发过程》、《敏捷建模》这三本书放在一起读,看XP和UP得不不同点,再看AM时怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。
5.软件项目管理
如果你突然被领导提拔为项目经理,而你完全没有项目管理经验,你肯定会心里没底;如果你觉得自己项目不善,很想改善你的项目管理能力,那么去考PMP肯定是远水不解近渴的。
①《快速软件开发》
java资深程序员的建议 篇5
那么java程序员到底是一个什么类型的工作,他们需要掌握什么技能呢,而他们在企业面试中又会遇到什么考题呢?经欧泊泰克就业小编总结,在java程序员面试时经常会遇到String类问题,下面就让我们一起分析解决这些问题,让我们程序员们轻松应对。问题1:
String s1 = “abc”;
String s2 = “abc”;
System.out.println(s1 == s2);
这里的结果是true.由于字符串是常量(内存中创建对象后不能修改), 而且字符串在程序中经常使用.所以Java对其提供了缓冲区.缓冲区内的字符串会被共享.使用双引号的形式定义字符串常量就是存储在缓冲区中的.使用“abc”时会先在缓冲区中查找是否存在此字符串, 没有就创建一个, 有则直接使用.第一次使用“abc”时会在缓冲区中创建, 第二次则是直接引用之前创建好的了.问题2:
String s1 = new String(“abc”);
String s2 = new String(“abc”);
System.out.println(s1 == s2);
这里的结果是false.使用构造函数创建的字符串都是在缓冲区外面创建一个新的.所以只要是使用构造函数创建的字符串, 和任何字符串都不会相等.问题3:
String s1 = “abc”;
String s2 = “a”;
String s3 = “bc”;
String s4 = s2 + s3;
System.out.println(s1 == s4);
这里的结果是false.Java中字符串的相加其内部是使用StringBuilder类的append()方法和toString()方法来实现的.而StringBuilder类toString()方法返回的字符串是通过构造函数创建的.问题4:
String s1 = “abc”;
String s2 = “a” + “bc”;
System.out.println(s1 == s2);
这里的结果是true.其实这里的s2并没有进行字符串相加, 两个双引号形式的字符串常量相加, 在编译的时候直接会被转为一个字符串“abc”.问题5:
String str = “abc”;
str.substring(3);
str.concat(“123”);
System.out.println(str);
这里结果是“abc”.由于字符串是常量(内存中创建对象后不能修改), 该类中所有方法都不会改变字符串的值.如果希望使用一个可变的字符串, 可以使用StringBuilder或StringBuffer类。
JAVA程序员的学习方法 篇6
有很多的JAVA程序员,在初期学习时,通常会对如何学习而感到迷茫。下面笔者就将转发一篇一位网友的精品帖,这位作者对于JAVA程序的学习分析的很到位,相信能帮助那些正在处于迷茫状态的初学者。
JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。
1.1 培养兴趣
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个“食利阶层”。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
1.2 慎选程序设计语言
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。
如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。1.3 要脚踏实地,快餐式的学习不可取
先分享一个故事。有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
这个故事给我们的启示是:欲速则不达。浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。
现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/JAVA没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个HelloWorld程序,就忙不迭的向世界宣告,“我会软件开发了”,简历上也大言不惭地写上“精通VC/JAVA”。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《JAVA编程思想》仔细钻研,早知如此何必当初呀。“你现在讲究简单方便,你以后的路就长了”,好象也是佛经中的劝戒。
1.4 多实践,快实践
彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。
从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:“我打算去南海朝圣,你看怎么样?”富和尚说:“这里离南海有几千里远,你靠什么去呢?”穷和尚说:“我只要一个水钵,一个饭碗就够了。”富和尚为难地说:“几年前我就打算买条船去南海,可至今没去成,你还是别去吧!”一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。
这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,“君子动口不动手”对软件开发人员来讲根本就是错误的,他们提倡“动手至上”,但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副“比尔盖茨”样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。
1.5 多参考程序代码
程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。多多参考代码例子,对JAVA而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。
1.6 加强英文阅读能力
对学习编程来说,不要求英语,但不能一点不会,。最起码像JAVAAPI文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个“金山词霸”。看多了就会越来越熟练。在学JAVA的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的“周扒皮”。
1.7 万不得已才请教别人
笔者在ChinaITLab网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。
你是否在google中搜索了问题的解决办法?
你是否查看了JAVAAPI文档?
你是否查找过相关书籍?
你是否写代码测试过?
如果回答都是“是”的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。
1.8 多读好书
书中自有颜如玉。比尔?盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔?盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。
笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,“天呐,这么多书到什么时候才能看完了”,“学软件开发,感觉上了贼船”。这时候,我的回答一般是,“别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的”,学生当场晕倒。(注:这一部分学生是刚学软件开发的)
1.9 使用合适的工具
工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。
两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
java资深程序员的建议 篇7
下面介绍一下如何使用JAVA来进行网络编程:
(1) 由于客户端通过IE同服务器建立联系, 所以客户端使用Applet, 服务器端使用Application。
(2) 服务器应设置成多线程, 应答多个客户的请求。
(3) 两端通信使用SOCKET机制。
1、Java中输入/输出流概念
过滤流Data Input Stream和Data Output Stream除了分别作为Flter Input Stream和Filter Output Stream的子类外, 还分别实现了接口Data Input和Data Output。接口Data Input中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数, 如read Boolean () read Int () 、read Line () 、read Fully () 等。接口Data Output中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组, 如write Char () 、write Double () Data Input Stream可以从所连接的输入流中读取与机器无关的基本类型数据, 用以实现一种独立于具体平台的输入方式;Data Input Stream可以向所连接的输出流写入基本类型的数据。
2、Socket机制
Socket是面向客户/服务器模型设计的, 网络上的两个程序通过一个双向的通讯连接实现数据的交换, 这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求, 服务器将处理此请求, 然后通过Socket将结果返回给用户。
Socket通信机制提供了两种通讯方式:有联接和无联接方式, 分别面向不同的应用需求。使用有联接方式时, 通信链路提供了可靠的, 全双工的字节流服务。在该方式下, 通信双方必须创建一个联接过程并建立一条通讯链路, 以后的网络通信操作完全在这一对进程之间进行, 通信完毕关闭此联接过程。使用无联接方式时其系统开销比无联接方式小, 但通信链路提供了不可靠的数据报服务, 不能保证信源所传输的数据一定能够到达信宿。在该方式下, 通信双方不必创建一个联接过程和建立一条通讯链路, 网络通信操作在不同的主机和进程之间转发进行。
3、Java语言
Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
(1) 简单性
Java与C++语言非常相近, 但Java比C++简单, 它抛弃了C++中的一些不是绝对必要的功能, 如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。Java实现了自动的垃圾收集, 简化了内存管理的工作。这使程序设计更加简便, 同时减少了出错的可能。
(2) 面向对象
Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法, 很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型, 通过继承和重载机制, 子类可以使用或重新定义父类或超类所提供的方法, 从而既实现了代码的复用, 又提供了一种动态的解决方案。
Java是一种完全面向对象的程序设计语言, 它除了数组、布尔和字符三个基本数据类型外的其它类都是对象, 它不再支持全局变量。在Java中, 如果不创建新类就无法创建程序, Java程序在运行时必须先创建一个类的实例, 然后才能提交运行。
Java同样支持继承特性, Java的类可以从其它类中继承行为, 但Java只支持类的单重继承, 即每个类只能从一个类中继承。
Java支持界面, 界面允许程序员定义方法但又不立即实现, 一个类可以实现多个界面, 利用界面可以得到多重继承的许多优点而又没有多重继承的问题。
(3) 多线程
多线程使应用程序可以同时进行不同的操作, 处理不同的事件。在多线程机制中, 不同的线程处理不同的任务, 他们之间互不干涉, 不会由于一处等待影响其他部分, 这样容易实现网络上的实时交互操作。
Java程序可以有多个执行线程, 如可以让一个线程进行复杂的计算, 而让另一个线程与用户进行交互, 这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。
参考文献
[1]廖雷等, Java程序设计教程, 中国电力出版社, 2003
[2]Warton, Java多线程编程初步, 电脑报, 2004.4.10
java资深程序员的建议 篇8
JAVA时间格式化处理 日期格式化
import java.util.Date;import java.text.SimpleDateFormat;class dayTime { public static void main(String args[]){ Date nowTime=new Date();System.out.println(nowTime);SimpleDateFormat time=new SimpleDateFormat(“yyyy MM dd HH mm ss”);System.out.println(time.format(nowTime));} }
2007-05-17 09:54 转载地址
http://tb.blog.csdn.net/TrackBack.aspx?PostId=3809041、通过MessageFormat转化
String dateTime = MessageFormat.format(“{0,date,yyyy-MM-dd-HH-mm:ss:ms}” , new Object[] { new java.sql.Date(System.currentTimeMillis())});说明: yyyy-MM-dd-HH-mm:ss:ms 年yyyy 月MM 日dd 时(大写为24进制,小写为12进制)分mm 秒ss 微妙ms
2、修改数据库时用
queryDataSet.setDate(“dateField”, new java.sql.Date(new java.util.Date().getTime()));queryDataSet.setDate(“dateField”, new java.sql.Date.valueOf(“2005-05-03”));
3、通过SimpleDateFormat 转化
SimpleDateFormat dateFm = new SimpleDateFormat(“yyyy-MM-dd”);//格式化当前系统日期 String dateTime = dateFm.format(new java.util.Date());
4、具体讨论
Java 语言的Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分.日期是商业逻辑计算一个关键的部分.所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象.我们写了两篇文章, 这是第一篇, 我们将大概的学习日期, 日期格式, 日期的解析和日期的计算.我们将讨论下面的类:
1、具体类(和抽象类相对)java.util.Date
2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat
3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar
具体类可以被实例化, 但是抽象类却不能.你首先必须实现抽象类的一个具体子类.Date 类从Java 开发包(JDK)1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年.这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它.这种改进旨在更好的处理日期数据的国际化格式.就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数.一、创建一个日期对象
让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子.这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间.//-----------------------import java.util.Date;
public class DateExample1 { public static void main(String[] args){ // Get the system date/time Date date = new Date();
System.out.println(date.getTime());} } //-----------------------
在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是 1001803809710.在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数.而这个构造函数在内部使用了System.currentTimeMillis()方法来从系统获取日期.那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了.我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了.二、日期数据的定制格式 假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年.下面的例子展示了如何完成这个工作:
//-----------------------import java.text.SimpleDateFormat;import java.util.Date;
public class DateExample2 {
public static void main(String[] args){
SimpleDateFormat bartDateFormat = new SimpleDateFormat(“EEEE-MMMM-dd-yyyy”);
Date date = new Date();
System.out.println(bartDateFormat.format(date));} } //-----------------------
只要通过向SimpleDateFormat 的构造函数传递格式字符串“EEE-MMMM-dd-yyyy”, 我们就能够指明自己想要的格式.你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分.EEEE是星期, MMMM是月, dd是日, yyyy是年.字符的个数决定了日期是如何格式化的.传递“EE-MM-dd-yy”会显示 Sat-09-29-01.请察看Sun 公司的Web 站点获取日期格式化选项的完整的指示.三、将文本数据解析成日期对象
假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象.我们将再次以格式化字符串“MM-dd-yyyy” 调用SimpleDateFormat类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据.我们的例子, 显示在下面, 将解析文本字符串“9-29-2001”并创建一个值为001736000000 的日期对象.//-----------------------import java.text.SimpleDateFormat;import java.util.Date;
public class DateExample3 {
public static void main(String[] args){ // Create a date formatter that can parse dates of // the form MM-dd-yyyy.SimpleDateFormat bartDateFormat = new SimpleDateFormat(“MM-dd-yyyy”);
// Create a string containing a text date to be parsed.String dateStringToParse = “9-29-2001”;
try { // Parse the text version of the date.// We have to perform the parse method in a // try-catch construct in case dateStringToParse // does not contain a date in the format we are expecting.Date date = bartDateFormat.parse(dateStringToParse);
// Now send the parsed date as a long value // to the system output.System.out.println(date.getTime());} catch(Exception ex){ System.out.println(ex.getMessage());} } } //-----------------------
四、使用标准的日期格式化过程
既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程.方法 DateFormat.getDateTimeInstance()让我们得以用几种不同的方法获得标准的日期格式化过程.在下面的例子中, 我们获取了四个内建的日期格式化过程.它们包括一个短的, 中等的, 长的, 和完整的日期格式.//-----------------------import java.text.DateFormat;import java.util.Date;
public class DateExample4 {
public static void main(String[] args){ Date date = new Date();
DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
DateFormat longDateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
DateFormat fullDateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
System.out.println(shortDateFormat.format(date));System.out.println(mediumDateFormat.format(date));System.out.println(longDateFormat.format(date));System.out.println(fullDateFormat.format(date));} } //-----------------------
注意我们在对 getDateTimeInstance的每次调用中都传递了两个值.第一个参数是日期风格, 而第二个参数是时间风格.它们都是基本数据类型int(整型).考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL.要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释.运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容: 9/29/01 8:44 PM Sep 29, 2001 8:44:45 PM September 29, 2001 8:44:45 PM EDT Saturday, September 29, 2001 8:44:45 PM EDT
五、Calendar 类
我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类.就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中被人唾骂的方法.假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天.为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar.考虑下面的例子, 它计算得到下面的第十个星期五是13号.//-----------------------import java.util.GregorianCalendar;import java.util.Date;import java.text.DateFormat;
public class DateExample5 {
public static void main(String[] args){ DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
// Create our Gregorian Calendar.GregorianCalendar cal = new GregorianCalendar();
// Set the date and time of our calendar // to the system&s date and time cal.setTime(new Date());
System.out.println(“System Date: ” + dateFormat.format(cal.getTime()));
// Set the day of week to FRIDAY cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY);System.out.println(“After Setting Day of Week to Friday: ” + dateFormat.format(cal.getTime()));
int friday13Counter = 0;
while(friday13Counter <= 10){
// Go to the next Friday by adding 7 days.cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
// If the day of month is 13 we have // another Friday the 13th.if(cal.get(GregorianCalendar.DAY_OF_MONTH)== 13){ friday13Counter++;System.out.println(dateFormat.format(cal.getTime()));} } } } //-----------------------
在这个例子中我们作了有趣的函数调用: cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY);和: cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五.注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性.add 方法让我们能够在日期上加上数值.润年的所有复杂的计算都由这个方法自动处理.我们这个例子的输出结果是: System Date: Saturday, September 29, 2001 当我们将它设置成星期五以后就成了: Friday, September 28, 2001 Friday, September 13, 2002 Friday, December 13, 2002 Friday, June 13, 2003 Friday, February 13, 2004 Friday, August 13, 2004 Friday, May 13, 2005 Friday, January 13, 2006 Friday, October 13, 2006 Friday, April 13, 2007 Friday, July 13, 2007 Friday, June 13, 2008
六、时间掌握在你的手里
有了这些Date 和Calendar 类的例子, 你应该能够使用 java.util.Date, java.text.SimpleDateFormat, 和 java.util.GregorianCalendar 创建许多方法了.5、具体讨论2 这里只讨论java中对日期的几个简单类: 1.java.util.Date 2.java.text.DateFormat(Abstract),java.text.SimpleDateFormat 3.java.util.Calendar(Abstract),java.util。GregorianCalendar 首先看一下Date类,Date中只提供了几个获得本地时间的方法,具体用法见下: import java.util.Date; public class DateFormatTest { public DateFormatTest(){ }
public static void main(String[] args){ Date dt=new Date();
String localeString=dt.toLocaleString(); String gmtString=dt.toGMTString(); System.out.println(localeString); System.out.println(gmtString); System.out.println(dt.getTime());
System.out.println(System.currentTimeMillis()); } } 输出结果为: 2004-12-31 9:34:04 31 Dec 2004 01:34:04 GMT 1104456844281 1104456844500 从结果中可以看到,dt.getTime()与System.currentTimeMillis()这两个方法得到的时间是相同的。因为Date的构造函数中调用了System.currentTimeMillis()方法来从系统获得当前时间。其结果实际上是从1970年1月1日开始到当前所经历的毫秒数。以下的例子展示的是一个简单的格式化日期的代码: import java.text.*; import java.util.Locale; import java.util.Date; public class DateFormatTest { public DateFormatTest(){ }
public static void main(String[] args){ DateFormat df=DateFormat.getDateInstance();
SimpleDateFormat defaultSDF=new SimpleDateFormat(); SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”); System.out.println(new Date());
System.out.println(df.format(new Date())); System.out.println(defaultSDF.format(new Date())); System.out.println(sdf.format(new Date())); }}
输出结果是:
Fri Dec 31 09:48:19 CST 2004 2004-12-31 04-12-31 上午9:48 2004-12-31
SimpleDateFormat的构造函数中String中字符的含义列如下表: Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day in week Text Tuesday; Tue a Am/pm marker Text PM H Hour in day(0-23)Number 0 k Hour in day(1-24)Number 24 K Hour in am/pm(0-11)Number 0 h Hour in am/pm(1-12)Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zon 上面展示的例子是将Date格式化成我们想要的格式,通常还会遇到需要将有些已经格式好的String再解析成Date的问题。在下面的文章中将会讲到。import java.text.*;import java.util.Locale;import java.util.Date;public class DateFormatTest { public DateFormatTest(){ } public static void main(String[] args){ String dateToparse=“30-12-2004”;
【java资深程序员的建议】推荐阅读:
Java程序员的堕落09-25
Java程序员推荐的阅读书籍10-25
java程序员招聘08-01
Java程序员面试干货07-26
资深教师课堂教学的自我鉴定07-11
成为Java程序员需要多长时间?广州兄弟连Java培训07-12
java程序员必看书籍08-30
《JAVA程序员面试32问》06-26
java程序员个人简历09-11