更多“Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?”相关问题
  • 第1题:

    下列命题中,错误的是

    A.Java编程时,要求应尽量多用公共变量

    B.Java编程时,要求应尽量少用公共变量

    C.Java编程时,要求应尽量不用公共变量

    D.Java编程时,要求应尽量使用私有变量


    正确答案:B
    解析:由于面向对象技术的封装要求,应该尽量少用公共变量,而是通过公共方法间接访问类的成员变量,从而提高程序的稳定性。因此,本题的正确答案是B。

  • 第2题:

    Web编程语言中真正跨平台的是JAVA语言。()


    参考答案:√

  • 第3题:

    下列关于Java语言特点的叙述中,错误的是( )。

    A.Java是面向过程的编程语言

    B.Java支持分布式计算

    C.Java是跨平台的编程语言

    D.Java支持多线程


    正确答案:A
    Java是新-代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。

  • 第4题:

    Java语言API文档是( )。

    A.Java归档工具

    B.Java状态序列化文件

    C.Java源代码

    D.编程工具


    正确答案:D

  • 第5题:

    如何能学好JAVA编程?方法?


    以下转自某论坛:(全为宣传其思想)
    我的思路:
    1、我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制。然后学学java,看本基础的书,都是那种讲讲语法的,变量怎么定义,流程控制语句怎么写,怎么编写函数,怎么处理表单元素,处理字符串,连接数据库,会一种就行。这些都是浮在语言表面,你编写的程序还是结构化的,跟你以前用asp编的程序没什么区别,但是这很重要。你可以直接选择目前公司里都在使用的Eclips来开发,但是你要区分IDE和Java的区别,不要被IDE邦死了。这些都熟了之后看《thinking in java》,看完之后,看core java两卷,深入了解到java本身。看这些书的时候你可能就懵懂的进入oo世界了,估计还不太明白。可以配合一些oo的理论方面的书,oo不过就是那几个特点,封装分配,多态性,继承,第一个要理解的当然是对象。看完这些后就可以学习UML建模了,主要会画三种图,用例图,类图,序列图,三种图就足够了。不要期望自己一下就学会UML,就会建模,得跟java学习联系起来,编个几万行代码,慢慢就会设计对象了。然后看GOF《设计模式》,对你的面向对象思想一个巨大的提升,这时你一定会去重读继承,接口,抽象类的相关的细节了,并且你会发现你的理解能力上了一个台阶。然后看看三层结构的知识,这时候编程考虑使用jsp+servlet+javabean,分出表示层,业务层和数据访问层,这是基础。
    2、 以上都是J2SE,然后看thinking in enterprise java,学习j2ee基础知识,你慢慢就会明白持久层的一些机制了,后面的什么各种新鲜的东西,CMP的东西本质是什么,你都很好理解了。当然你要不断编码,把书里的概念都变成实践,只有自己动手做,才能理解,看会不等于学会,学会不等于学精,学好技术不等于会设计,层次会越来越高。实践是认识的唯一来源!!!一定要实践。

    3、编码时你可以考虑看看《重构》这本书,觉得很好,同时还可以看看Thinking in Design Pattern with java,会使你的代码越来越漂亮。

    4、 现在你的代码已经很专业了,而且可以分出不同的层次,因为你知道了最基本的原则,那就是要高内聚,低耦合,要不断地解耦,但是怎么更好的解耦,什么是最佳实践,你可能并不知道,虽然你看了下面这本书,你会发现你有些做法已经是最佳实践了,但是依然会存在这种情况,有些你并不确定,那就看看core java pattern吧,都是14年以上开发经验的架构师和众多java大师的经验总结,书中序言所写,看完这本书,你将成为Java架构师。

    5、这些知道之后,你已经对分层的本质很理解了,你可以知道Struts不过是框架而已,只是运用了页面助手,前端控制器,应用控制器等这些表示层或者表示层和业务层(Tier)中间连接层(Layer)的模式,对于标签的理解你也是深刻的。而到集成层,采取不同的策略和模式,数据持久化的理论和经验,框架不过是把大家都用得着的东西做好了给你用,没有框架的话很多事需要你自己做,仅此而已,跟那些伟大的思想相比,它们太简单了。至于到具体的容器,DAO策略还是CMP,BMP,在具体使用怎样的ORM工具,都是更简单的事情了。但是看spring,struts这些框架时你会重新阅读前面的java教程的,因为spring用到了java的反射机制等。

    6、到此为止,你会发现你OOP时,想到的就会是性能,到底用数组还是ArryList,还是用HashMap,OOD时,你会考虑并发性,扩展性,复用性,现有框架,池,事务等方面,你会发现每一个问题,你都有好几种选择方案,你会不断重构你的代码,改良你的设计。

    7、下一步是OOA,那就看一本《分析模式》吧,会教你很多分析的现成方法。

    此时,你已经是OO方面的专家了,构架一个大型系统应该没有问题了,而且你的能力可以很轻易的学会Web Service,AJAX等这些时髦的东西,你编程的时候可能最常翻的书是JDK API,但是你会遇到新的问题,就是让你设计一套股票系统,可是你对股票一无所知,现学,这是必须的,但是这时你会发现你基础好差,所以在学技术的同时,多看看各个领域的书吧,其实都是有模式的,比如ERP选型,CRM的几种样子,电子商务的几种模式,看多了你也就会了,所以要学会域建模,因为你是要为商务,政务服务的,是为人服务的。

    我觉得这在技术方面就算到头了,如果你想学管理,当然前提是技术,要不你不知道完成一个项目到底要多久花多少钱。你必须了解开发方法,迭代开发,XP等,当你有了技术,再看这些很容易,因为你会明白为什么要测试先行,在技术上怎么实现技术先行;你也会知道结对编码的意义。学习了这些你会是项目经理。

    但是你可能还需要多看看经济领域的书和法律书,还包括中国政府的报告等等,要政治敏感,这样你才能成为比尔盖茨。这离主题有点远了。

    总的原则是:
    1、先从语言层面掌握Java(很多说Java容易的人都是只掌握了语言层面的人,当你面对如何解耦,怎样利用线程,如何更好复用,面向对象时,你就会觉得它好复杂好难)然后再到深入理解Java,先学J2SE再学J2EE。

    2、理论和实践相结合,先看操作,理解本质和原理,然后做,然后翻过来看理论,你会觉得这件事做起来就是顺理成章的了,因为当初理论就是这么被推出来的。

    3、高处着眼,有了基础后,你可以从本质上去跟上时髦的东西,比如ORM,更细点说就是Hibernate等,比如各层框架,Spring,Struts等,都很简单。

    4、学好理论,你用到多线程时可能会觉得自己对于线程机制不慎了解,对对象在内存中的生命周期不清楚,对于JUnit断言的不理解,对调试程序的原理不明白,去看计算机组成原理吧;可能搞不清楚数组的本质,去看数据结构,这时你会发现自己线性代数太差;去讨论Java自带的排序算法和你自己编写的算法,可能觉得自己对一个简单的函数都看不懂,设计复杂的函数就更不会了,去看计算方法吧,这时你可能会感到你的高等数学太差了;不理解HTTP的接收应答机制,不知道AJAX原理,那么多语言都有request,response,到底原理是什么,XML的作用是什么,SOAP协议,怎么在网络上传输这些数据,看看基础知识,这些都很简单。掌握基础,只有到这时你才会觉得它重要,那就等你知道了再去看吧,也不会太晚,而且你会学的更好。不要羡慕那些硕士博士,他们没编过程序,照样不如你,有些都是真的是你不做就永远不理解,不做底层,理解不了上层。

    5、学好外语,因为你会发现很多资料很多问题的答案很多调试错误的解释都是外文的,这时google是最好的工具,但是你的英文要起码可以读懂人家说什么;还有研究Web service,SOA之类的东西,往往都是英文的。

    学好我说的这些,大约需要3年,但是学好JAVA,达到语言层面,只需要1周,达到内部,需要半年,达到会设计,需要做3个以前项目,达到架构师,估计得2到3年,同时那些基础中的基础,你更需要好好学,那些是最慢的。

    学到语言层面只需要两样东西:玩会IDE+拿一本包含我所说的那些基本语法的书。玩会IDE你要做到会简单配置,能运行出东西,会调试(不会调试就没法编程),然后拿本JDK API,打开google和百度,有了错误就去搜索,这样学习Java真的很简单。

    Linux也是要先会玩,要能上网,会下载东西,安装软件,写文档,然后就是能听歌看电影,就够了。接下来在编程,关键要会shell那些命令。看看多用户操作系统的书,建立一个理论高度,就OK了

    最后说一句,中国大多数程序都停留在语言层面,很多人都是在懵懂中编程,可能调不通程序,突然改了个东西就通了,但是深层原因并不知道,很多都是东试西试试验出来的,都是黑箱编程,总感觉隔着雾看程序,我身边很多人写了一万行代码,还不理解equals和==的区别呢,还不知道Class bject=new Class()等号左右两边各代表什么呢。但是他们一样能编程,一样能开发出系统,很多人都以为这样就算Java高手了,什么都能编并不等于编的好,当然什么都能编是个前提。所以要学,就学深入,起码一种语言要学深,在web开发方面,我推荐java学深,或者说沿着java路学深,这样去研究C#,.Net平台就很容易,再看ASP和PHP就觉得大家都一样了,上升到高度不过也就是设计模式的问题了,殊途同归。

  • 第6题:

    Java语言的API文档是( )。

    A.Java归档工具

    B.Java状态序列化文件

    C.Java源代码

    D.编程工具


    正确答案:D

  • 第7题:

    SCALA有以下哪些特点?()

    • A、Scala是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性
    • B、Scala运行在Java虚拟机上,并兼容现有的Java程序
    • C、Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库
    • D、SCALA语言简洁优雅大方,很多大数据底层框架采用scala去实现与编程

    正确答案:A,B,C,D

  • 第8题:

    下列关于Java语言的特点,描述错误的是()。

    • A、Java是跨平台的编程语言
    • B、Java支持分布式计算
    • C、Java是面向过程的编程语言
    • D、Java支持多线程

    正确答案:C

  • 第9题:

    下列关于Java语言的描述中,错误的是?()

    • A、Java语言是一门面向对象的编程语言
    • B、Java是一门与平台无关的编程语言
    • C、Java具有JavaSE、JavaME和JavaEE三大平台
    • D、Java是一门介于汇编和高级之间的语言

    正确答案:D

  • 第10题:

    Java可以用来进行多媒体及网络编程。


    正确答案:正确

  • 第11题:

    问答题
    Java语言为什么要引入方法这种编程结构?

    正确答案: 提高复用度,减少程序代码量
    促进程序结构化,提高可读性和可维护性
    解析: 暂无解析

  • 第12题:

    填空题
    Java提供数据库编程的API包是()。

    正确答案: java.sql
    解析: 暂无解析

  • 第13题:

    在Java编程语言中,用______、______、______语句来处理异常。


    正确答案:try catch finally
    try catch finally

  • 第14题:

    java是面向______________的编程语言。


    正确答案:对象

  • 第15题:

    Java的核心包中,提供编程应用的基本类的包是

    A.java.lang

    B.java.util

    C.java.applet

    D.java.rmi


    正确答案:A
    解析:Java的核心包一共有12个,其中:java.lang包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为Applet提供执行需要的所有类,。主要是访问Applet内容的通信类。java.rmi包提供程序远程方法调用所需的类。因此,本题的正确答案是A。

  • 第16题:

    编程用JAVA解析XML 的方式.


    正确答案:

     

    用SAX 方式解析XML,XML 文件如下:

    <?xml version=1.0 encoding=gb2312?>

    <person>

    <name>王小明</name>

    <college>信息学院</college>

    <telephone>6258113</telephone>

    <notes>男,1955 年生,博士,95 年调入海南大学</notes>

    </person>

    事件回调类SAXHandler.java

    import java.io.*;

    import java.util.Hashtable;

    import org.xml.sax.*;

    public class SAXHandler extends HandlerBase

    {

    private Hashtable table = new Hashtable();

    private String currentElement = null;

    private String currentValue = null;

    public void setTable(Hashtable table)

    {

    this.table = table;

    }

    public Hashtable getTable()

    {

    return table;

    }

    public void startElement(String tag, AttributeList attrs)

    throws SAXException

    {

    currentElement = tag;

    }

    public void characters(char[] ch, int start, int length)

    throws SAXException

    {

    currentValue = new String(ch, start, length);

    }

    public void endElement(String name) throws SAXException

    {

    if (currentElement.equals(name))

    table.put(currentElement, currentValue);

    }

    }

    JSP 内容显示源码,SaxXml.jsp:

    <HTML>

    <HEAD>

    <TITLE>剖析XML 文件people.xml</TITLE>

    </HEAD>

    <BODY>

    <%@ page errorPage=ErrPage.jsp

    contentType=text/html;charset=GB2312 %>

    <%@ page import=java.io.* %>

    <%@ page import=java.util.Hashtable %>

    <%@ page import=org.w3c.dom.* %>

    <%@ page import=org.xml.sax.* %>

    <%@ page import=javax.xml.parsers.SAXParserFactory %>

    <%@ page import=javax.xml.parsers.SAXParser %>

    <%@ page import=SAXHandler %>

    <%

    File file = new File(c:\people.xml);

    FileReader reader = new FileReader(file);

    Parser parser;

    SAXParserFactory spf = SAXParserFactory.newInstance();

    SAXParser sp = spf.newSAXParser();

    SAXHandler handler = new SAXHandler();

    sp.parse(new InputSource(reader), handler);

    Hashtable hashTable = handler.getTable();

    out.println(<TABLE BORDER=2><CAPTION>教师信息表</CAPTION>);

    out.println(<TR><TD>姓名</TD> + <TD> +

    (String)hashTable.get(new String(name)) + </TD></TR>);

    out.println(<TR><TD>学院</TD> + <TD> +

    (String)hashTable.get(new String(college))+</TD></TR>);

    out.println(<TR><TD>电话</TD> + <TD> +

    (String)hashTable.get(new String(telephone)) + </TD></TR>);

    out.println(<TR><TD>备注</TD> + <TD> +

    (String)hashTable.get(new String(notes)) + </TD></TR>);

    out.println(</TABLE>);

    %>

    </BODY>

    </HTML>

  • 第17题:

    Java编程,打印昨天的当前时刻


    正确答案:

     

    public class YesterdayCurrent{
    public void main(String[] args){
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -1);
    System.out.println(cal.getTime());
    }
    }

  • 第18题:

    Java编程规范主要包括( )。

    A.Java命名规范

    B.Java注释规则

    C.Java源文件结构规则

    D.以上都是


    正确答案:D

  • 第19题:

    Java、Access、VB都是计算机编程语言。()


    正确答案:错误

  • 第20题:

    Java提供数据库编程的API包是()。


    正确答案:java.sql

  • 第21题:

    Java是多线程的编程语言。


    正确答案:正确

  • 第22题:

    含有支持底层的Internet编程的类和WWW/HTML支持组成的java应用包是()。

    • A、java.lang
    • B、java.net
    • C、java.awt
    • D、java.applet

    正确答案:B

  • 第23题:

    判断题
    Java、Access、VB都是计算机编程语言。()
    A

    B


    正确答案:
    解析: 暂无解析