⬘ java程序思想总结 ⬘
Java程序员面试前要做好哪些准备?
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。其热门程度不仅没有消减,而且愈发受到企业的青睐。但是不管Java学得如何,在进入企业的时候还是绕不开面试这个环节,对于Java程序员来说,面试前要做好哪些准备呢?粤嵌就这个问题跟大家谈谈。
1、对于Java工程师岗位而言,具体的项目是用人单位招聘时最看重的参考因素。即便是没有工作经验的应届生,也要准备可作为自己能力参考的具体作品。
2、如果从未参加过任何项目,可以准备自己在相关领域的课程设计,如有必要还可以将其修改为完整的项目。对于这份具体作品,求职者要有相当的了解。通过求职者对于该作品的讲解,招聘官会判断求职者的技术能力到底如何。
3、Java程序员要求掌握的技能会比较多,求职者在简历上可以分类依次列举出自己所掌握的专业技能,有证书的列出自己所持有的证书名称。在面试的时候,可以对自己所掌握的技能做出介绍,并辅以实例证明,这样会更具有说服力。
4、基础很重要,不要生疏了。不管应聘什么程序员岗位,基础永远都是最重要的。只有有了踏实的基础,再辅以较好的学习能力,这样才不会被互联网日新月异的变化甩开。很多程序员在面试时往往是因为答不出最基础的问题才会错失工作机会。面试前巩固一下基础知识,永远不要轻视了基础。
5、Java程序员要时刻关注技术前沿,将新技术与自己所从事的工作联系到一起,做一些深入思考,面试时谈谈这样的问题也是向面试官展现自己学习能力的好机会。
粤嵌Java培训是目前国内知名的培训机构,采用全程面授高品质、高成本培养模式,教学大纲紧跟企业需求,且拥有全国一体化就业保障服务,如果你想要在短时间内掌握Java专业技术,想要在毕业之时拥得项目经验,想要在毕业之后获得一份高薪职位,不妨就选择粤嵌Java培训。在这里培训,毕业前两周会有就业老师对学员进行就业指导和模拟面试,有针对性的对学员进行面试指导,提升学员面试成功率,让你就业无忧。
⬘ java程序思想总结 ⬘
程序员自我鉴定1
20__年的实习期就要到了,现就本人在这一年里的工作情况先作一整理,并做如下自我鉴定:
在这一年里,我经历了从学校到企业、从学生到员工、从理论到实践这三个转变,围绕着这三个转变,我始终保持良好的心态,一步步成长。
我于20__年__月开始到__公司做程序员工作。在开始几个月的工作和学习当中,在各位领导和同事的指导和关心下,学习专业知识,向前辈请教经验,向同事学习专业技巧,正是在这个过程中,认识到自己不足,也深刻体会到了团队的力量和魅力,并且很快认识并融入这个团队,为我以后的工作树立一个良好的开端。
在这段工作时间里,我做了一个比较棘手的项目——___在线咨询系统。为什么说棘手呢,因为我以前没有做过这方面的项目,而且我问遍了所有认识的朋友,搜遍了网络也没有找到如何解决的方法,之后我翻书籍,接着搜索网络。
通过实习过程,我知道短暂的迷茫和情绪的低谷,有了各位同事的帮助和关心,以及个人的努力,可以让我顺利突破困境,找回自信和充实!
程序员自我鉴定2来公司担任程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每个人都是在不断的鉴定中成长,在不断的审视中完善自己。
一、思想方面
严格按照一个程序员应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,听从公司的安排,积极配合__完善ERP系统,任劳任怨。
二、工作方面
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。
三、存在不足
一公司领导以及部门领导同事的帮助和指教,使我的工作有了很大提高,当然我还存在着很多不足之处,处理问题思路简单,不够成熟,工作中容易产生急躁情绪,需要更深入学习专业知识,提高自己的工作水平。
程序员自我鉴定3我于20__年_月_日成为本公司技术部的一名程序员,一年转眼就过去了。这段我人生中弥足珍贵的经历,给我留下了精彩而美好的回忆。在这段时间里您们给予了我足够的关怀、支持和帮助,让我充分感受到了领导们“海纳百川”的胸襟,在对您们肃然起敬的同时,也为我有机会成为影响力在线的一员而惊喜万分。
一、通过理论学习和日常工作积累经验我的各方面有了很大的进步
刚到公司不久,我便开始负责方面的网站开发和广告平台开发和维护,刚开始的时候对我来说确实压力很大,因为各方面都还不熟悉,而且与之前的公司相比,节奏也有点快,不过我慢慢的习惯了环境,和同事相处的比较融洽,领导对我也比较关心,在公司里工作就像是在一个幸福的大家庭里一样,我很快喜欢上了这里。
我到公司不久,第一个项目是___公司网站,做这个项目的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个项目的,在效率上提高了我的能力。做这个项目的时候我也遇到了许多以前没有遇到过的问题,我请教同事和朋友,还有借助网络一一解决了难题。
二、明确岗位职能,认识个人技术能力不足
经过一年的工作,虽然完成了一些项目的开发,我的技能也提高了很多,但是感觉我的技术还有待提高,所以我会在以后的工作中更加努力,努力提高自己的技术和各种不足,努力使自己成为一名称职的职员。
三、提出自己努力计划
时光流转间,我已到公司工作一年。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。
在此,在对一年的工作情况及心得体会做一汇报后,今后我会以炙热的工作热情继续投入到今后的工作当中,以自己踏实努力的工作,报公司知遇之恩!
程序员自我鉴定4在过去的一年中,我担任公司开发部的一名程序员,主要从事着__项目的开发工作,这一年来我低调努力工作着,不求闪亮显眼和光芒四射,只为平静和淡定;这一年中所做的成绩如下:
一、独立开发方面
__项目中本人独立负责开发会计处的三个子系统:会计人员信用查询系统。代理记账机构信用查询系统。会计人员网上报备系统。这三个子系统上线后,方便了社会各界查验会计人员的真实信息、方便了查询合法的代理记账机构信息,以及方便了各单位对会计人员的报备。
二、团队开发方面
餐饮行业项目,在团队开发项目中直接参与了__餐饮有限公司总部的信息综合管理平台项目,主要负责的系统有:房屋租赁合同管理系统。短信收发管理系统。会员管理系统。基础信息管理系统和人事管理系统的部分功能模块。系统应用后,__在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。
三、鉴定不足
通过鉴定一年来的工作,尽管有了一定的进步和成绩,但在一些方面还存在不足,个别工作做得还不够完善。在今后的工作中,我将努力找出工作中的不足,以便在日后的工作中加以克服。自我不断的学习吸收新技术,认真学习好规范规程及有关文件资料,并且及时的把新技术应用在实际的项目中,进一步提高项目的技术含量。
程序员自我鉴定5本人自20__年2月份参加工作至今,六个月的实习时间已经结束。在这段时间里,在领导和同事们的悉心关怀和指导下,通过自己的不懈努力,在各方面都取得了进步。
实践让我的技能不断增长,工作能力不断加强。刚开始工作的时候,发现自己以前在学校学习的知识很死,知识面很窄,以前做的练习项目的实用性也不是很好。在开始的几周公司给我们实习员工培训了____平台的使用,通过这次培训使我认识到____平台的优势,可以大大提高软件开发效率。随后我就加入到“_____税源控管系统”项目的开发中,成为开发小组中的一员。在项目开发过程中一边是同事们的悉心指导,一边是自己反复琢磨与理解,几个月下来大大提高了自己业务和技术两方面的技能,已经能够比较熟练的掌握基本的工作方法和一些技巧,而且能够独立完成一些模块的开发。通过实践,我解决实际问题的能力得到了很好的锻炼。工作中也遇到了很多的以前没有遇到过的新技术,面对技术难题我总是直接面对,没有逃避,也因此自学了好多新的技术,大大提高了自己的自学能力,也加深了对自己工作要负责的信念。在项目开发过程中也遇到了一些自己确实无法解决的困难,在经理和同事的帮助下也顺利的解决了,在此表示感谢。在开发团队中,加强了自己的团结精神和集体感,对工作认真负责,对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程,从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面,使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发,加深了软件开发概念的理解。
不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问,是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的JAVA培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的问题,就需要查阅相关资料,请教同事和经理,一个问题一个问题的解决,一个困难一个困难的克服,不仅将原有知识温习巩固,产生新的理解,而且学到很多新知识,有了许多新的认识。但某些认识都还是肤浅的,还需要我在实践当中去不断深入地理解。
现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期,也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行,功能要求一般在分析里面都写的很清楚,但是在现场开发直接面对客户,客户提出的需求一开始只是一个大体的功能描述,如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解,这个过程大大锻炼了自己的综合能力。在第一时间接触客户的需求,从客户的角度思考问题,只有更了解客户需求才能更合理的设计软件的结构,功能。了解客户,了解需求,转化到技术层面。这个过程得到的经验很难得。
总之,短短的半年实习期,是我人生角色转换,不断成长的一个重要阶段,也是我对编程由陌生进而熟悉、热爱并愿意为之终生默默奉献的重要阶段。
⬘ java程序思想总结 ⬘
JAVA程序员面试题(1)
2008-06-12 10:40
1.HashMap和Hashtable的区别。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
2.同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
3.final, finally, finalize的区别是什么?
final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载 finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
4.& 和&& 的区别
& 是位运算符。&& 是布尔逻辑运算符。
llection 和 Collections的区别
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。Collection是个java.util下的接口,它是各种集合结构的父接口。
6.GC是什么? 为什么要有GC?(基础)
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc()Runtime.getRuntime().gc()
7.String s = new String(“xyz”);创建了几个String Object?
两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s
8.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;
9.Java有没有goto?
Goto是java中的保留字,现在没有在java中使用
10.数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String有length()这个方法.11.sleep()和 wait()有什么区别? 搞线程的最爱
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
12.error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
13.int和Integer有什么区别
int是基本数据类型,而Integer是java提供的类(包装类)。因为java是运用堆栈结构的,int基本类型放在栈里,而Integer类是放在堆里的,这是他俩的本质区别。从生命周期上想。int的生命周期短相对于Integer。
14.面向对象的特征有哪些方面 ?
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4.多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
15.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、short、char 或者 byte。long,string 都不能作用于swtich。
⬘ java程序思想总结 ⬘
达内java专家分析认为,Java发展方向大致分为两类:一是成为管理人员,例如产品研发经理,技术经理,项目经理等。
二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。根据IDC的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%。同时,Java工程师的薪水相对较高。 Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10-13万左右。从Java的应用领域来分,Java语言的'应用方向主要表现在以下三个方面:首先是大中型的商业应用;其次是桌面应用,就是常说的C/S应用;再次是移动领域应用。综上而言JAVA就业方向为:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
java就业前景怎么样?最近有不少有一两年工作经验的朋友或者是今年的应届毕业生来咨询java的课程,他们有些是想转行做java软件开发,还有一些是想学习项目经验好在公司应聘的时候多些筹码。但由于大家对java开发这部分不是很了解,所以很多问题都是关于就业前景方面的,杭州北大青鸟武林门校区就对java的就业前景进行深入的分析。
CSDN日前的一则新闻数据显示,600万Java程序员中,java开发程序员就占据20%,Sun都为之一惊。java目前拥有旺盛的生命力,而它强大的占有率,更是确定了自己的霸主地位。不可否认,Java是现在全球最时髦的开发工具之一, Java的出现给整个程序界带来了巨大的冲击,Java将不可避免地影响一代程序员。
Java语言有着广泛的应用前景:
1. Java产生与流行是InterNet发展的客观要求。
2.java是一门各方面性能都很好的编程语言,它的基本特点是简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的Internet环境上开发应用系统。
3.Java可以制作大部分网络应用程序系统,而且与如今流行的www浏览器结合很好。
4.Java平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是Java虚拟机,许多使Java成为万能开发平台的属性都源于Java虚拟机的概念和实现。
⬘ java程序思想总结 ⬘
尊敬的领导:
您好!
十分感谢您在百忙之中能翻阅我的自荐信。与公司是一种选择,与我则是一种机会。在上千份大同小异的求职信中,我期望你手中的这份能给您带来惊喜!
我叫张XX,是xx技术学院09级的一名专科生,就读于计算机技术与应用专业。主修课程:计算机组成原理,数据结构,java网络编程,c++编程基础,单片机基础,路由/交换机配置,jsp编程基础,计算机网络,sql server数据库设计,xml编程实现,编译原理。
大学四年来,我学习刻苦,成绩优异,曾多次获得奖学金。在师友的严格教益和个人努力下,我具备了扎实的基础知识。在软件方面,系统掌握了C语言,数据结构,Power Builder,数据库原理,汇编语言,软件工程等,并对面向对象的DELPHI和VC等Windows编程有一定了解。课外我还自学了VB,VF编程及网页制作。现已能独立编写专业的数据库管理系统。在硬件方面,通过参与单片机设计,组装收音机,网络工程的规划与管理及组建等实践活动,我掌握了计算机的工作原理及计算机网络原理技术。
面对当今激烈的人才竞争,我很清楚自己知识有限,但我更清楚我有着不甘落后的精神和不断学习,不断提高的愿望。乐于进取,不怕挫折是我的人生信条,给我一次机会,让我去实践,去闯,去干,因为能力要在实践中培养,也终究要在实践中体现。我信心十足,相信我所具备的专业技能,积累的知识,加上有良好的人际关系,会帮助我掀开生活中的新一页。
收笔之际,祝贵公司生意兴隆,财源茂盛
此致
敬礼!
求职人:xxx
20xx年xx月xx日
⬘ java程序思想总结 ⬘
一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 下列正确的句子是() (1分)
A:float 3.14;
B:byte i=225;
C:int k=33L;
D:int p[][];
2. 当使用FileInputStream类中的read()方法时,如果没有读入一个字节数据时,返回值为()
A:0
B:-1
C:true
D:false
3. 能够支持 javadoc 命令的文档注释形式是() (1分)
A:/**...//
B:/*...*/
C://
D:/**...*/
4. 以下程序代码的输出结果是()
int x=100;
System.out.println(5.5+x/8); (1分)
A:18
B:17.5
C:9.5
D:5.512
5. 当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得文件对象,并针对这个对象使用getName()取得文件名,使用getPath()取得文件的路径,则这个方法是() (1分)
A:getFile()
B:getSelectFile()
C:getSelectedFile()
D:getDescription()
6. 在 Java 中,表示换行符的转义字符是() (1分)
A:A
B:B
C:C
D:D
7. 一个实现Runnabel接口的类必须要实现的方法是() (1分)
A:start()
B:run()
C:sleep()
D:init()
8. 下列有关Java的叙述错误的是() (1分)
A:强类型语言
B:与平台无关
C:可以使用汉字变量名
D:不检查数组下标越界
9. 下列有关数组的叙述错误的是() (1分)
A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型
B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用
C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间
D:在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值
10. 当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为() (1分)
A:线程的同步
B:线程的互斥
C:线程的调度
D:线程的就绪
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
1. 在switch 语句中,通过语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。 (2分)break
2. 在 Java 中所有实现的多维数组,实际上是由一维数组构成的。 (2分)
3. 为实现线程同步,Java语言提供了notify()、notifyAll()和Sycgised()三个方法供线程在临界段中使用。 (2分)
4. Java语言使用Unicode字符集,共有65536个字符。 (2分)
5. 闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为。 (2分)
y%4&&y!%100||y%400
6. Java语言中,逻辑类型用boolean关键字标识,也称布尔类型。 (2分)
7. Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行wait()方法。 (2分)
8. Java应用程序和小应用程序都由一个或多个扩展名为的class文件组成。 (2分)
9. 将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。GridLayout (2分)
10. 键盘事件的接口是。keyListener (2分)
三、程序填空题(本大题共5小题,每空2分,共20分)
1. 下面小应用程序启动后自动播放一个声音文件“1.wav”。
import java.applet.*;
public class Class3001 extends Applet
{
public void start()
{
=getAudioClip(getCodeBase(),"1.wav");
clip.;
}
} (2分)
2. 下列程序的功能是每隔一秒钟输出一个字符串“Hello!”。
public class C3101 implements Runnable
{
public static void main(String args[])
{
C3101 t=new C3101();
Thread tt=new Thread(t);
tt.start();
}
public void run()
{
for(int i=0;i<10;i++)
{
try{sleep(1000);
}catch(Exception e){e.printStackTrace();}
System.out.println("Hello");
}
}
} (2分)
3. 设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个菜单项都对应有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class C2902 implements ActionListener
{
JTextField text=new JTextField(20);
String t[]={"文件","编辑","格式","帮助"};
Menu menu[]=new Menu[4];
String s[]={"打开","保存","复制","粘贴","字体","段落","小助手","关于"};
MenuItem jmi[]=new MenuItem[8];
C2902()
{
JFrame myWin=new JFrame("Ex0606");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con=myWin.getContentPane();
con.add(text,"Center");
text.setEditable(false);
myWin.setMenuBar(jmb);
int i;
for(i=0;i<4;i++)//生成四个菜单
{
menu[i]=new Menu(t[i]);
jmb.add(menu[i]);
}
for(i=0;i<8;i++)//每个菜单中放两个菜单项
{
jmi[i]=new MenuItem(s[i]);
menu[i/2].add(jmi[i]);
jmi[i].addActionListener(this);
jmi[i].(new MenuShortcut(65+i));//设快捷键
}
myWin.setBounds(300,200,400,200);
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
text.setText("你选择了:"+e.getActionCommand()+"菜单项.");
}
public static void main(String[] args)
{
new C2902();
}
} (2分)
4. 下面应用程序,绘制一个红色五角星。请完成程序。
import java.awt.*;
import javax.swing.*;
class MyPanel extends JPanel
{
public void
{
int r=100;
int x1=100,
x2=(int)(r*(1-s((18*Math.PI)/180))),
x3=(int)(r*(1+s((18*Math.PI)/180))),
x4=(int)(r*(1-s((54*Math.PI)/180))),
x5=(int)(r*(1+s((54*Math.PI)/180))),
y1=0,
y2=(int)(r*(1-Math.sin((18*Math.PI)/180))),
y3=(int)(r*(1-Math.sin((18*Math.PI)/180))),
y4=(int)(r*(1+Math.sin((54*Math.PI)/180))),
y5=(int)(r*(1+Math.sin((54*Math.PI)/180)));
g.drawOval(0,0,200,200);
g.drawLine(x4,y4,x1,y1);g.drawLine(x1,y1,x5,y5);
g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3);
g.drawLine(x3,y3,x4,y4);
}
}
public class C3002 extends JFrame
{
C3002()
{
super("C3002");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(new MyPanel());
setSize(210,242);
setVisible(true);
}
public static void main(String[] args)
{
new C3002();
}
} (2分)
5. 下面程序运行后,连续输出20个相同的单词。请完成程序。
public class C3102
{
public static void main(String args[])
{
t.start();
}
}
class Hello implements Runnable
{
int i=0;
public void run()
{
while()
{
System.out.print(i+":Hello");
}
}
} (2分)
四、程序分析题(本大题共5小题,每小题4分,共20分)
1. 写出下面程序的运行结果。
public class Test extends TT
{
public static void main(String args[])
{
Test t=new Test("Tom.");
}
public Test(String s)
{
super(s);
System.out.print("How are you?");
}
public Test()
{
this("I am Jack.");
}
}
class TT
{
public TT()
{
System.out.print("Hi!");
}
public TT(String s)
{
this();
System.out.print("I am "+s);
}
} (4分)
2. 阅读下面程序,写出程序功能。
import java.applet.*;import java.awt.*;
public class Class3602 extends Applet implements Runnable
{
Thread redBall,blueBall;Graphics redPen,bluePen;
int blueSeta=0,redSeta=0;
public void init()
{
setSize(250,200);
redBall=new Thread(this);blueBall=new Thread(this);
redPen=getGraphics();bluePen=getGraphics();
redPen.setColor();bluePen.setColor(Color.blue);
setBackground(Color.gray);
}
public void start()
{
redBall.start();blueBall.start();
}
public void run()
{
int x,y;
while(true)
{
if(Thread.currentThread()==redBall)
{
x=(int)(80.0*s(3.1415926/180.0*redSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta));
redPen.setColor(Color.gray);
redPen.fillOval(100+x,100+y,10,10);
redSeta +=3;
if(redSeta>=360) redSeta=0;
x=(int)(80.0*s(3.1415926/180.0*redSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta));
redPen.setColor();
redPen.fillOval(100+x,100+y,10,10);
try {redBall.sleep(20);}
catch(InterruptedException e){}
}
else if (Thread.currentThread()==blueBall)
{
x=(int)(80.0*s(3.1415926/180.0*blueSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta));
bluePen.setColor(Color.gray);
bluePen.fillOval(150+x,100+y,10,10);
blueSeta-=3;
if(blueSeta<=-360) blueSeta=0;
x=(int)(80.0*s(3.1415926/180.0*blueSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta));
bluePen.setColor(Color.blue);
bluePen.fillOval(150+x,100+y,10,10);
try {blueBall.sleep(40);}
catch(InterruptedException e){}
}
}
}
} (4分)
3. 阅读下列程序,写出运行结果。
public class Class3205
{
public static void main(String[] args)
{
String str1="abc";
String str2="Abc";
String str3="abc";
String str4=new String("abc");
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
System.out.println(str1==str3);
System.out.println(str1.equals(str3));
System.out.println(str1==str4);
System.out.println(str1.equals(str4));
}
} (4分)
4. 阅读下列程序,写出程序功能。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Class3505 implements AdjustmentListener
{
JScrollBar js;
JLabel label;
int size=20;
public Class3505()
{
JFrame myWin=new JFrame("Class3505");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(200,200,400,400);
Container con=myWin.getContentPane();
js=new JScrollBar(JScrollBar.HORIZONTAL,20,10,1,210);
js.setSize(new Dimension(395,50));
js.addAdjustmentListener(this);
con.add(js);
label=new JLabel("Class3505");
con.add(label);
myWin.setVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e)
{
size=e.getValue();
Font f=new Font(label.getFont().getName(),
label.getFont().getStyle(),size);
label.setFont(f);
}
public static void main(String[]args)
{
new Class3505();
}
} (4分)
5. 阅读下面程序,写出程序运行结果。
class printer
{
synchronized void printchar(char ch)
{
for (int i=1;i<=3;i++)System.out.print(ch);
System.out.println();
}
}
class printerThread extends Thread
{
printer ptr;
char ch;
printerThread(printer ptr,char ch)
{
this.ptr=ptr;
this.ch=ch;
}
public void run()
{
for (int i=1; i<=3;i++)ptr.printchar(ch);
}
}
public class Class3605
{
public static void main(String[] args)
{
printer ptr=new printer();
printerThread pt1=new printerThread(ptr,?A?);
printerThread pt2=new printerThread(ptr,?B?);
pt1.start();
pt2.start();
}
} (4分)
五、程序设计题(本大题共2小题,每小题6分,共12分)
1. 编写一个小应用程序,在小应用程序中有两个线程,一个负责模仿圆转运动,另一个模仿椭圆运动。已给出部分代码,请完成程序。
import java.awt.*;
import java.applet.*;
public class Class3804 extends Applet implements Runnable
{
Thread thread1,thread2;
Graphics g;
public void init()
{
setSize(500,500);
setBackground(Color.gray);
g=getGraphics();
g.setColor();
g.setXORMode(Color.blue);
thread1=new Thread(this);
thread2=new Thread(this);
}
public void start()
{
thread1.start();
thread2.start();
}
public void run()
{
int x=0,y=0;
while(true)
{
//这里是你要编写的代码
}
}
} (6分)
2. 编写一个方法hex3705(),要求将一个以字符串(如有字母用大写)形式表示的十六进制数转换十进制正整数,其中字符串为方法参数,正整数为返回值。 (6分)
六、简答题(本大题共6小题,每小题3分,共18分)
1. 请写出:提供缓冲式输出的类、采用缓冲输出时如果想立即写入文件就调用的方法。 (3分)
2. 在以下类的声明中,指出哪些是错误的以及错误的原因?
①class Class22 extends Class2201,Class2202{......}
②public abstract class Class22{......}
③abstract final class Class22{......}
④abstract public class Class22{......}
⑤public abstract class String{......}
⑥public final class Class22 extends implement interface1{......} (3分)
3. 文件随机访问应该利用什么类来实现?创建此类对象的代码应该能捕获什么类型的异常? (3分)
4. 用一个Java语句完成下面的要求:
先将整型变量a的值加1,再把它加到变量b中。 (3分)
5. 用一个Java语句完成下面的要求:
先把变量a与b的差赋值给变量c,再把变量b的值减1。 (3分)
6. 请写一条语句,实现用预定的颜色填充一个突出显示的矩形色块,其中矩形左上角坐标为(200,100),右下角坐标为(400,500),调用的是类型为Graphics的g对象。 (3分)
Java语言程序设计试题答案
一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1:参考答案:D
参考解析:(P71)声明二维数组的一般形式有以下3种:
①类型 数组名 [][]
②类型 [][] 数组名
③类型 [] 数组名 []
试题内容:
下列正确的'句子是()
A:float 3.14;
B:byte i=225;【-128,127】
C:int k=33L;
D:int p[][];
2:参考答案:B
参考解析:(P176)read()方法的返回值类型为int型,用-1表示流在读之前已结束。
试题内容:
当使用FileInputStream类中的read()方法时,如果没有读入一个字节数据时,返回值为()
A:0
B:-1
C:true
D:false
3:参考答案:D
参考解析:(P6)/**……*/这种注释是文档注释,文档注释能被实用程序javadoc接受,由它能自动生成程序的HTML文档。
试题内容:
能够支持 javadoc 命令的文档注释形式是()
A:/**...//
B:/*...*/
C://
D:/**...*/
4:参考答案:B
参考解析:(P14)Java程序中的类只能继承一个类,这种继承称为单继承。Java语言虽不允许一个类继承多个类,但允许一个类实现多个接口。接口有与类相似的基本形式。
试题内容:
以下程序代码的输出结果是()
int x=100;
System.out.println(5.5+x/8);
A:18
B:17.5
C:9.5
D:5.512
5:参考答案:C
参考解析:(P182)
试题内容:
当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得文件对象,并针对这个对象使用getName()取得文件名,使用getPath()取得文件的路径,则这个方法是()
A:getFile()
B:getSelectFile()
C:getSelectedFile()
D:getDescription()
6:参考答案:A
参考解析:(P9)
试题内容:
在 Java 中,表示换行符的转义字符是()
A:A
B:B
C:C
D:D
7:参考答案:B
参考解析:(P163)本题考核知识点是Runnable接口的使用。实现一个接口必须实现接口中的所有方法,而Runnable接口只有一个方法run()。
试题内容:
一个实现Runnabel接口的类必须要实现的方法是()
A:start()
B:run()
C:sleep()
D:init()
8:参考答案:D
参考解析:(P3)
试题内容:
下列有关Java的叙述错误的是()
A:强类型语言
B:与平台无关
C:可以使用汉字变量名
D:不检查数组下标越界
9:参考答案:D
参考解析:(P70)数组是一种引用类型,一个数组名在不同时间可引用不同的数组,数组名之间可以赋值。
试题内容:
下列有关数组的叙述错误的是()
A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型
B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用
C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间
D:在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值
10:参考答案:A
参考解析:(P168)
试题内容:
当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为()
A:线程的同步
B:线程的互斥
C:线程的调度
D:线程的就绪
二、填空题 (本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
1:参考答案:(P23)break
试题内容:
在switch 语句中,通过_____语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。
2:参考答案:(P71)数组的数组
试题内容:
在 Java 中所有实现的多维数组,实际上是由一维数组构成的_____。
3:参考答案:(P168)wait()
试题内容:
为实现线程同步,Java语言提供了notify()、notifyAll()和_____三个方法供线程在临界段中使用。
4:参考答案:(P7)65536
试题内容:
Java语言使用Unicode字符集,共有_____个字符。
5:参考答案:(P16)(y%4==0&&y%100!=0)||y%400==0
试题内容:
闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为_____。
6:参考答案:(P8)Boolean
试题内容:
Java语言中,逻辑类型用关键字_____标识,也称布尔类型。
7:参考答案:(P161)sleep()
试题内容:
Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行_____方法。
8:参考答案:(P11).class
[解析]Java程序的扩展名为“.class”,源程序的扩展名为“.java”。
试题内容:
Java应用程序和小应用程序都由一个或多个扩展名为_____的文件组成。
9:参考答案:(P98)GridLayout
[解析]常用的布局类:FlowLayout为依次放置组件;BorderLayout将组件放置在边界上; CardLayout将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;GridBagLayout能进行更精细的位置控制。
试题内容:
_____将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。
10:参考答案:(P132)KeyListener
[解析]键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器)。实现KeyListener接口的方法有3个:
(1)keyPressed(KeyEvent e),键盘上某个键被按下。
(2)keyReleased(KeyEvent e),键盘上某下键被按下后,又释放。
(3)keyTyped(KeyEvent e),keyPressed和keyReleased两方法的组合
试题内容:
键盘事件的接口是_____。
下一页更多有关“Java语言程序设计试题及答案”的内容
⬘ java程序思想总结 ⬘
Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点。下面是小编整理的关于java程序员认证考试试题,欢迎大家参考!
1.Which statement about the garbage collection mechanism are true?
A. Garbage collection require additional programe code in cases where multiple threads are running.
B. The programmer can indicate that a reference through a local variable is no longer of interest.
C. The programmer has a mechanism that explicity and immediately frees the memory used by Java objects.
D. The garbage collection mechanism can free the memory used by Java Object at explection time.
E. The garbage collection system never reclaims memory from objects while are still accessible to running user threads.
2. Give the following method:
1) public void method( ){
2) String a,b;
3) a=new String(“hello world”);
4) b=new String(“game over”);
5) System.out.println(a+b+”ok”);
6) a=null;
7) a=b;
8) System.out.println(a);
9) }
In the absence of compiler optimization, which is the earliest point the object a refered is definitely elibile to be garbage collection.
A. before line 3
B.before line 5
C. before line 6
D.before line 7
E. Before line 9
3. In the class java.awt.AWTEvent,which is the parent class upon which jdk1.1 awt events are based there is a method called getID which phrase accurately describes the return value of this method?
A. It is a reference to the object directly affected by the cause of the event.
B. It is an indication of the nature of the cause of the event.
C. It is an indication of the position of the mouse when it caused the event.
D. In the case of a mouse click, it is an indication of the text under the mouse at the time of the event.
E. It tells the state of certain keys on the keybord at the time of the event.
F. It is an indication of the time at which the event occurred.
4. Which statement about listener is true?
A. Most component allow multiple listeners to be added.
B. If multiple listener be add to a single component, the event only affected one listener.
C. Component don?t allow multiple listeners to be add.
D. The listener mechanism allows you to call an addXxxxListener method as many times as is needed, specifying as many different listeners as your design require.
5.Give the following code:
public class Example{
public static void main(String args[] ){
int l=0;
do{
System.out.println(“Doing it for l is:”+l);
}while(--l>0)
System.out.println(“Finish”);
}
}
Which well be output:
A. Doing it for l is 3
B. Doing it for l is 1
C. Doing it for l is 2
D. Doing it for l is 0
E. Doing it for l is ?C1
F. Finish
6. Give the code fragment:
1) switch(x){
2) case 1:System.out.println(“Test 1”);break;
3) case 2:
4) case 3:System.out.println(“Test 2”);break;
5) default:System.out.println(“end”);
6) }
which value of x would cause “Test 2” to the output:
A. 1
B. 2
C. 3
D. default
7. Give incompleted method:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
The method unsafe() well throe an IOException, which completes the method of declaration when added at line one?
A. public IOException methodName()
B. public void methodName()
C. public void methodName() throw IOException
D. public void methodName() throws IOException
E. public void methodName() throws Exception
8. Give the code fragment:
if(x>4){
System.out.println(“Test 1”);}
else if (x>9){
System.out.println(“Test 2”);}
else {
System.out.println(“Test 3”);}
Which range of value x would produce of output “Test 2”?
A. x<4
B. x>4
C. x>9
D. None
9. Give the following method:
public void example(){
try{
unsafe();
System.out.println(“Test1”);
}catch(SafeException e){System.out.println(“Test 2”);
}finally{System.out.println(“Test 3”);}
System.out.println(“Test 4”);
Which will display if method unsafe () run normally?
A. Test 1
B. Test 2
C. Test 3
D. Test 4
10. Which method you define as the starting point of new thread in a class from which new the thread can be excution?
A. public void start()
B. public void run()
C. public void int()
D. public static void main(String args[])
E. public void runnable()
11.Given the following class definition:
-
●好拿网hn373.com内容组内部梗图来源:
- 班委学期思想总结 | 警察年度思想总结 | 求诸己思想总结 | 日记大全暑假篇 | java程序思想总结 | java程序思想总结
class A{
protected int i;
A(int i){
this.i=i;
}
}
which of the following would be a valid inner class for this class?
Select all valid answers:
A. class B{
}
B. class B extends A{
}
C. class B extends A{
B(){System.out.println(“i=”+i);}
}
D. class B{
class A{}
}
E. class A{}
12. Which modifier should be applied to a method for the lock of object this to be obtained prior to excution any of the method body?
A. synchronized
B. abstract
C. final
D. static
E. public
13. The following code is entire contents of a file called Example.java,causes precisely one error during compilation:
1) class SubClass extends BaseClass{
2) }
3) class BaseClass(){
4) String str;
5) public BaseClass(){
6) System.out.println(“ok”);}
7) public BaseClass(String s){
8) str=s;}}
9) public class Example{
10) public void method(){
11) SubClass s=new SubClass(“hello”);
12) BaseClass b=new BaseClass(“world”);
13) }
14) }
Which line would be cause the error?
A. 9 B. 10 C. 11 D.12
14. Which statement is correctly declare a variable a which is suitable for refering to an array of 50 string empty object?
A. String [] a
B. String a[]
C. char a[][]
D. String a[50]
F. Object a[50]
15. Give the following java source fragement:
//point x
public class Interesting{
//do something
}
Which statement is correctly Java syntax at point x?
A. import java.awt.*;
B.package mypackage
C. static int PI=3.14
D. public class MyClass{//do other thing…} E. class MyClass{//do something…}
16. Give this class outline:
class Example{
private int x;
//rest of class body…
}
Assuming that x invoked by the code java Example, which statement can made x be directly accessible in main() method of Example.java?
A. Change private int x to public int x
B. change private int x to static int x
C. Change private int x to protected int x
D. change private int x to final int x
17. the piece of preliminary analsis work describes a class that will be used frequently in many unrelated parts of a project
“The polygon object is a drawable, A polygon has vertex information stored in a vector, a color, length and width.”
Which Data type would be used?
A. Vector
B. int
C. String
D. Color
E. Date
18. A class design requires that a member variable should be accessible only by same package, which modifer word should be used?
A. protected
B. public
C. no modifer
D. private
19.Which declares for native method in a java class corrected?
A. public native void method(){}
B. public native void method();
C. public native method();
D. public void method(){native;}
E. public void native method();
20. Which modifer should be applied to a declaration of a class member variable for the value of variable to remain constant after the creation of the object?
21. Which is the main() method return of a application?
A. String
B. byte
C. char
D. void
22. Which is corrected argument of main() method of application?
A. String args
B. String ar[]
C. Char args[][]
D. StringBuffer arg[]
23. “The Employee object is a person, An Employee has appointment store in a vector, a hire date and a number of dependent”
short answer: use shortest statement declare a class of Employee.
24. Give the following class defination inseparate source files:
public class Example{
public Example(){//do something}
protected Example(int i){//do something}
protected void method(){//do something}
}
public class Hello extends Example{//member method and member variable}
Which methods are corrected added to the class Hello?
A. public void Example(){}
B. public void method(){}
C. protected void method(){}
D. private void method(){}
25. Float s=new Float(0.9F);
Float t=new Float(0.9F);
Double u=new Double(0.9);
Which expression?s result is true?
A. s==t
B. s.equals(t)
C. s==u
D. t.equals(u)
26. Give following class:
class AClass{
private long val;
public AClass(long v){val=v;}
public static void main(String args[]){
AClass x=new AClass(10L);
AClass y=new AClass(10L);
AClass z=y;
long a=10L;
int b=10;
}
}
Which expression result is true?
A. a==b;
B. a==x;
C. y==z;
⬘ java程序思想总结 ⬘
任何编程语言都离不开数据结构,java也不例外,在java的世界里,数据都有自己的数据类型,而且不同的数据类型有不同的特性。下面是小编为大家整理的,希望对你们有帮助。
java语言的特点
1.简单
Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:
1) Java的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快就掌握Java编程技术。
2) Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。
3) Java提供了丰富的类库。
2.面向对象
面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于Small Talk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了Small Talk。
3.分布式
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。为分布环境尤其是Internet提供的动态内容无疑是一项非常宏伟的任务,但Java的语法特性却使我们很容易地实现这项目标。
4.健壮
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组边界检测异常出口字节代码校验。
5.结构中立
另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。现在,Java运行系统有Solaris2.4(SPARC),Win32系统(Windows95和WindowsNT)等.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
6.安全
Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。
7.可移植的
这句话一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。大多数编译器产生的目标代码只能运行在一 种CPU上(如Intel的x86系列),即使那些能支持多种CPU的编译器也不能同时产生适合多 种CPU的目标代码。如果你需要在三种CPU( 如x86、SPARC 和MIPS)上运行同一程序, 就必须编译三次。
但JAVA编译器就不同了。JAVA编译器产生的目标代码(J-Code) 是针对一种并不 存在的CPU--JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。
虚拟机的概念并不AVA 所 特 有 的:加州大学几年前就提出了PASCAL虚拟机的概念;广泛用于Unix服务器的Perl脚本也是产生与机器无关的中间代码用于执行。但针对Internet应用而设计的JAVA虚拟机的特别之处在于它能产生安全的不受病毒威胁的目标代码。正是由于Internet对安全特性的特别要求才使得JVM能够迅速被人们接受。 当今主 流的操作系统如OS/2、MacOS、Windows95/NT都已经或很快提供对J-Code的支持。
作为一种虚拟的CPU,JAVA 虚拟机对于源代码(Source Code) 来说是独立的。我们不仅可以用JAVA语言来生成J-Code,也可以用Ada95来生成。事实上,已经有了针对若干种源代码的J-Code 编译器,包括Basic、Lisp 和Forth。源代码一经转换成J-Code以后,JAVA虚拟机就能够执行而不区分它是由哪种源代码生成的。这样做的结果就是CPU可移植性。 将源程序编译为J-Code的好处在于可运行于各种机器上,而缺点是它不如本机代码运行的速度快。
同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在Windows3.1中整数(Integer)为16bits,在Windows95中整数为32bits,在DECAlpha中整数为64bits,在Intel486中为32bits。通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。Java语言的基本数据类型及其表示方式如下:byte8-bit二进制补码short16-bit二进制补码int32-bit二进制补码long64-bit二进制补码float32-bitIEEE754浮点数double32-bitIEEE754浮点数char16-bitUnicode字符在任何Java解释器中,数据类型都是依据以上标准具体实现的。因为几乎目前使用的所有CPU都能支持以上数据类型、8~64位整数格式的补码运算和单/双精度浮点运算。Java编译器本身就是用Java语言编写的。Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成。Java语言规范中也没有任何"同具体实现相关"的内容。
8.解释的
Java解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花上更多的时间。
9.高性能
如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。
10.多线程
多线程功能使得在一个程序里可同时执行多个小任务。线程--有时也称小进程--是一个大进程里分出来的小的独立的进程。因为Java实现的多线程技术,所以比C和C++更键壮。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX,Windows,Macintosh等),在开发难易程度和性能上都比单线程要好。任何用过当前浏览器的人,都感觉为调一副图片而等待是一件很烦恼的事情。在Java里,你可用一个单线程来调一副图片,而你可以访问HTML里的其它信息而不必等它。
11.动态
Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。在C++程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。Java从如下几方面采取措来解决这个问题。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。这样,一个在存储器生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定的。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。Java还简化了使用一个升级的或全新的协议的方法。如果你的系统运行Java程序时遇到了不知怎样处理的程序,没关系,Java能自动下载你所需要的功能程序。四.与C和C++语言的异同 Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++还是被大家所接受,所以Java设计成C++形式,让大家很容易学习。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一个很有用的功能,Java去掉了以下几个C和C++功能和特征:指针运算结构typedefs#define需要释放内存全局变量的定义这个功能都是很容易引起错误的地方。
12. Unicode
Java使用Unicode作为它的标准字符,这项特性使得Java的程序能在不同语言的平台上都能撰写和执行。简单的说,你可以把程序中的变量、类别名称使用中文来表示<注>,当你的程序移植到其它语言平台时,还是可以正常的执行。Java也是目前所有计算机语言当中,唯一天生使用Unicode的语言。
java语言程序设计
在源代码中,字符串不能跨行,在字符串较长时,要用+进行连接。
java的控制台输入
java并不支持控制台的直接输入,需要间接使用Scanner类来创建属于它的对象,以读取来自System.in的输入。
Scanner input = new Scanner(System.in)
double 变量名 = input.nextDouble()
命名常量
final datetype CONSTANTNAME = value;
如 final double PI = 3.1415926
命名习惯
变量和方法:使用小写来命名,当用多个单词来描述时,除第一个单词外,其他单词首字母需要大写
类名:首字母也要大写
常量:单词中所有字母大写
幂运算
Math.pow(a,b)
整数型直接量
二进制:0B
八进制:0
十六进制:0X
类型转换
类型转化要求将目标类型名放在括号内,紧随其后的是需要变换的变量或值。
如 (int)3.1
Java语言技术的应用
1、Android应用
许多的 Android应用都是Java程序员开发者开发。虽然 Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机中都支持JAVA游戏,这就使很多非编程人员都认识了JAVA。
2、在金融业应用的服务器程序
Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全[39] 。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。
3、网站
Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0以及frameworks。即使是简单的 servlet,jsp和以struts为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。
4、嵌入式领域
Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。
5、大数据技术
Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。
6、高频交易的空间
Java平台提高了这个平台的特性和即使编译,他同时也能够像 C++ 一样传递数据。正是由于这个原因,Java成为的程序员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植性和可维护性等问题。
7、科学应用
Java在科学应用中是很好选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他语言相对其安全性、便携性、可维护性以及其他高级语言的并发性更好。
⬘ java程序思想总结 ⬘
尊敬的经理:
您好!我是研发部程序员xx-x,今天很遗憾向您提出辞职申请,对于我的.辞职实属无奈之举。下面是我的辞职报告内容:
我是毕业就过来公司,三年的编程经历,虽然使我在各方面都提高了不少,然而离我实际的目标还是有很大的差距,这个跟公司和我自已都有关系,我觉得在公司里短期内不能让我自己满意。从目前的情况来看,在公司再待下去也不会有太大的改观。
第一点、自我感觉职业生涯发展碰到了瓶颈;三年前是个程序员,现在也仍是程序员,虽然希望自己向技术管理方面发展,但是也没有这样的机会。从目前情况来看在公司继续发展也看不到下步该如何走,可能仍是一个程序员。
第二点、技术上没有太大的提高;三年来做了不少产品,但感觉技术提高仍没有如自己所愿。三年前独立做出了软件,现在仍是吃老本,只是稍熟练点而己。三年来我也在一直不断地学习,为公司的需要和自身的发展作着准备。从公司目前的产品发展方向来看,下一步能在技术上有大的突破的机会也多。
第三点、薪资待遇未能如我愿;三年薪资虽然上涨了一些,到现在也可以说跟市场持平。但持平不是我想要的,到了这个阶段应该有一个大的提高了,我更希望有一个质变了。在公司再发展下去也不一定能见涨多少。从公司现在的发展来看,现在需要的可能是经验和薪资要求都适中的程序员。
总之,辞职是有多方面的原因,最主要还是我自已的原因,现在我申请辞职,希望领导能够批准,我将尽最大努力做好交接工作。
此致
敬礼!
辞职申请人:XXX
20xx年x月xx日
java程序员辞职信四
尊敬的经理:
您好!我是研发部程序员,今天很遗憾向您提出辞职申请,敬请批准。给贵公司造成麻烦,本人深表歉意。
贵公司工作的时间里,我有幸得到了各位领导及同事们的倾心指导及热情帮助,使我得到了很大程度的提高,在此感谢公司提供给我这个良好的平台。
在这里,特别感谢各位领导在工作、生活中给予的大力支持与帮助;但是因本l人个人原因需要离职 ,望批准我的申请,在正式离开之前我将认真继续做好目前的每一项工作。
祝公司事业蓬勃发展,前景灿烂。
此致
敬礼!
辞职申请人:XXX
20xx年x月xx日
java程序员辞职信五
敬爱的it部经理:
您好!我是it专员xx-x,很遗憾在年底向公司提出辞职申请,递交辞职报告我也是迫于无奈。
一方面,it部门在公司确实是一个比较不受重视的部门,经费有限,信息化程序不高,很多时间都是被白白浪费了。
二方面,由于到了谈婚论嫁的年龄,在北京又买不起房子,所以选择考虑回老家发展。
三方面,公司的工资实在是低得可怜,福利也不咱样。
希望公司以后要想发展更好一些,这些方面还是为员工多考虑一些,可能会好一些的吧。
此致
敬礼!
辞职申请人:XXX
20xx年x月xx日
⬘ java程序思想总结 ⬘
怎样用java编写一个即时聊天程序呢?下面.jinpinTjian ul li a小编就为大家分享最新的java即时聊天程序编写方法,一起来看看吧!
import java.awt.*;
import java.awt.event.*;
import .*;
/**
* Sample application using Frame.
*
* @author
* @version 1.00 07/06/13
*/
public class Chatp2pFrame extends Frame {
List dataList=new List(26);
TextField Tfip=new TextField(18);
TextField Tfdata=new TextField(19);
Label Lip=new Label("输入对方的.IP地址:");
Label Ldata=new Label("输入聊天的内容:");
DatagramSocket socket=null;
/**
* The constructor.
*/
public Chatp2pFrame() {
try
{
socket=new DatagramSocket(5000);
}
catch(Exception e)
{
e.printStackTrace();
}
Tfip.setSize(150,15);
Tfdata.setSize(150,15);
Tfip.setFocusable(true);
Tfip.setForeground(Color.blue);
Tfdata.setForeground();
dataList.setForeground(Color.black);
this.add(dataList,"North");
Panel p1=new Panel();
Panel p2=new Panel();
p1.setLayout(new BorderLayout());
p2.setLayout(new BorderLayout());
this.add(p1,"Center");
this.add(p2,"South");
p1.add(Lip,"West");
p1.add(Ldata,"East");
p2.add(Tfip,"West");
p2.add(Tfdata,"East");
new Thread(new Runnable()
{
public void run()
{
byte[] buf=new byte[1024];
DatagramPacket packet=new DatagramPacket(buf,1024);
while(true)
{
try
{
socket.receive(packet);
dataList.add(new String(buf,0,packet.getLength())+" FROM "+packet.getAddress().getHostAddress()+":"+packet.getPort(),0);
}
catch(Exception e)
{
if(!socket.isClosed())
{
e.printStackTrace();
}
}
}
}
}
).start();
Tfdata.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
byte[] buf=new byte[1024];
buf=Tfdata.getText().getBytes();
DatagramPacket packet=new DatagramPacket(buf,buf.length,
InetAddress.getByName(Tfip.getText()),5000);
socket.send(packet);
dataList.add(new String(buf,0,packet.getLength())+" TO "+packet.getAddress().getHostAddress()+":"+packet.getPort(),0);
}
catch(Exception x)
{
x.printStackTrace();
}
Tfdata.setText("");
}
}
);
MenuBar menuBar = new MenuBar();
Menu menuFile = new Menu();
MenuItem menuFileExit = new MenuItem();
menuFile.setLabel("文件");
menuFileExit.setLabel("退出");
// Add action listener.for the menu button
menuFileExit.addActionListener
(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Chatp2pFrame.this.windowClosed();
}
}
);
menuFile.add(menuFileExit);
menuBar.add(menuFile);
setTitle("我的聊天程序");
setMenuBar(menuBar);
setSize(new Dimension(310, 500));
this.setResizable(false);
// Add window listener.
this.addWindowListener
(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Chatp2pFrame.this.windowClosed();
}
}
);
}
/**
* Shutdown procedure when run as an application.
*/
protected void windowClosed() {
// TODO: Check if it is safe to close the application
// Exit application.
socket.close();
System.exit(0);
}
public static void main(String[] args) {
// Create application frame.
Chatp2pFrame frame = new Chatp2pFrame();
// Show frame
frame.setVisible(true);
}
}
-
推荐阅读:
java程序思想总结(收藏10篇)
程序实习生总结(推荐10篇)
java实训中思想总结(分享十五篇)
JAVA培训讲师工作总结(推荐10篇)
驾校年度思想总结(收藏10篇)
程序员的年终思想总结(热门十三篇)
-
我们精彩推荐java程序思想总结专题,静候访问专题:java程序思想总结