「牛客网JAVA项目资料」牛客网java笔试题库

博主:adminadmin 2023-03-20 04:29:07 302

本篇文章给大家谈谈牛客网JAVA项目资料,以及牛客网java笔试题库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java,想请问有什么java练习题的网站可以介绍

个人推荐牛客网,上面有大量的面试和进阶相关的题目,而且题目都有相关思路解析。具体的网址我就不发了,很容易就会被检测异常。直接百度搜索牛客网就好了

哪里有java笔试题

java面试不光有面试也会有笔试,整理了一些java笔试题及答案分享给大家,准备或将要参加java面试的朋友可以仔细阅读,争取一次通过,进去自己心仪的企业工作。想看更多面试问题请关注WeiXin工纵浩“浙江优就业”!

一、九道选择题

1.Java程序的种类有(BCD )

A.类(Class) B.Applet C.Application D.Servlet

2.下列说法正确的有( BCD)

A. 环境变量可在编译source code时指定

B. 在编译程序时,所能指定的环境变量不包括class path

C. javac一次可同时编译数个Java源文件

D. javac.exe能指定编译结果要置于哪个目录(directory)

3.下列标识符不合法的有( ACD)

A.new B.$Usdollars C.1234 D.car.taxi

4.下列说法错误的有( BCD)

A. 数组是一种对象

B. 数组属于一种原生类

C. int number=={31,23,33,43,35,63}

D. 数组的大小可以任意改变

5.不能用来修饰interface的有(ACD )

A.private B.public C.protected D.static

6.下列正确的有(ACD )

A. call by value不会改变实际参数的数值

B. call by reference能改变实际参数的参考地址

C. call by reference不能改变实际参数的参考地址

D. call by reference能改变实际参数的内容

7.下列说法错误的有( ACD)

A. 在类方法中可用this来调用本类的类方法

B. 在类方法中调用本类的类方法时可直接调用

C. 在类方法中只能调用本类中的类方法

D. 在类方法中绝对不能调用实例方法

8.下列说法错误的有(ABC )

A. Java面向对象语言容许单独的过程与函数存在

B. Java面向对象语言容许单独的方法存在

C. Java语言中的方法属于类中的成员(member)

D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

9.下列说法错误的有(BCD )

A. 能被java.exe成功运行的java class文件必须有main方法

B. J2SDK就是Java API

C. Appletviewer.exe可利用jar选项运行.jar文件

D. 能被Appletviewer成功运行的java class文件必须有main方法

二、六道简答题

1、在java中如果声明一个类为final,表示什么意思?

答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。

2、父类的构造方法是否可以被子类覆盖(重写)?

答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。

3、请讲述String 和StringBuffer的区别。

答:String 类所定义的对象是用于存放“长度固定”的字符串。

StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。

4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?

答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。

5、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。

答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。

waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。

6、谈谈你对抽象类和接口的理解。

答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。

接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。

1、HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap 类没有分类或者排序。它允许一个null 键和多个null 值。Hashtable 类似于HashMap,但是不允许null 键和null 值。它也比HashMap 慢,因为它是同步的,是线程安全的。

2、sleep() 和wait() 有什么区别?

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

3、Collection 和Collections的区别。

Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

Collection是个java.util下的接口,它是各种集合结构的父接口。

4、什么时候用assert.

assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

5、和的区别。

是两个数相与,是位运算符,是布尔逻辑运算符,连接两个条件表达式的,两个条件表达式都为真时,整个才为真

6、谈谈final, finally, finalize的区别。

final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。

finalize:方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

7、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

8、。Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;因为返回最接近参数的long.通过加上1/2 将该结果舍入为整数,取结果的基数并将其强制转换为long 类型。换句话说,结果等于以下表达式的值:(long)Math.floor(a + 0.5d)

9、Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。

Static nested class(嵌套类)是将内部类声明为static.普通内部类对象隐式地保存了一个引用,指向创建它的外围类对象,不能有static数据和static字段。嵌套类意味着:1 要创建嵌套类的对象,并不需要其外围类的对象;2不能从嵌套类的对象中访问非静态的外围类的对象。

10、ArrayList和Vector的区别。

1同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。

一套完整的JAVA项目包括哪些部分?

1、项目启动

1)、项目组成立(公司成员、客户成员)

2)、制定项目预期目标

3)、制定项目计划周期

4)、建立好项目组成员沟通机制2、需求调研

1)、创建调研计划、协调调研时间

2)、收集客户资料,获取客户需求

所有的资料都需要保留一份,资料中存疑的需要及时询问

3)、编写需求文档

重点描述出客户的业务流程和性能要求。

采用Word、Excel、Rose等形式。

4)、需求变更记录

5)、确定开发环境和运行环境

6)、扩展性要求

7)、与旧系统的接驳要求。

8)、估算出项目工作量本阶段需要一套需求管理系统来进行需求的管理。 本阶段的需求文档也是用户测试的依据。3、系统设计/详细设计

一个系统可以分为基础平台和应用模块两部分。

1)、选择基础平台,无论是采用第三方平台还是自行开发平台,都需要深入了解,查看是否符合要求。

2)、应用模块设计(针对业务流程)

3)、中间件的采用或自行开发,需要深入了解。

4)、用户界面的设计

如果用户界面设计完毕并确认,即可初步写出用户使用手册、管理员使用手册。

5)、变更记录本阶段的系统设计是集成测试的依据。4、程序开发

创建开发任务计划表、开发计划日程表

1)、优先编写测试用例

2)、按照编码规范编写代码

3)、按照文档注释规范注释

以上形成开发文档。 本阶段需要一套版本管理系统。 本阶段的测试用例也是单元测试的依据。

如果能做到,最好每日构建。5、测试

本阶段需要一套Bug管理系统,形成需求、设计、开发、测试互动。1)、编写测试计划和测试方案

2)、功能测试

单元测试、集成测试

3)、性能测试

集成测试、压力测试如果能做到,最好能进行自动化测试。

如果能做到,做分析统计工作。最后形成测试报告。6、试用、培训、维护

本阶段需要解决:

1)、解决异地修改和公司修改的同步问题。

2)、用户测试中的Bug修改问题,按照级别分为

a)、程序Bug

b)、设计变更

c)、需求变更

尽量按照a b c的顺序来进行修改,尽量避免b、c级的修改。最后形成安装手册、维护记录。

牛客网上的java编程题,自己电脑运行没问题,但是在牛客网上运行失败,不知道原因在哪里

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2.面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。

3.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

4.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

在一个解释性的环境中,程序开发的标准"链接"阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的"编译、链接和测试"形成鲜明对比的精巧的开发过程。

5.稳健性

Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

Java

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的"无用单元收集"预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。

异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。

学习Java应该关注哪些网站

推荐10个常用的Java网站

Stackoverflow

Stackoverflow.com 可能是编程界中最流行的网站了,该网站有成千上万个好问题和答案。学习API或者编程语言,通常依赖于代码示例,stackoverflow就可以提供大量的代码片段。

Stackoverflow的另一个优点在于它的社交性。你可以在一些特定的标签下查看问题,比如“Java”、“regex”,你就会看到哪些是高频问题。这对于学习,以及Java博主书写热门话题都是一种非常好的资源。

DZone

这是一个非常有趣的网站,有相当多的开发者在这个网站上分享他们博客文章。就像一场冒险一样,在这里,你永远不知道下一秒会看到什么内容。

LeetCode

如果有Java方面的面试问题,例如“在Java中,内存中的数组是什么样的”,你可以从很多Java教程中找到答案。但是,遇到类似于“如何将SortedArray转化成一个BalancedTree”这样的问题,你就应该去求助LeetCode了。LeetCode包含一系列算法问题, 它能为有关信息技术的面试提供一个社会性的平台。这个网站最好的地方就是,它可以通过大小不同的数据在线检查你的代码是否正确。很多人认为,面试成功的关键在于重复这三个重要步骤:编码-阅读-讨论。

Java SE技术文档

这个网站包含了在使用Java SE API时会用到的所有文档,即使你是Java开发牛人,我敢肯定在这里你仍能发现一些有用的东西。比如,你可以阅读一些像“Java类的本质”、“部署”这样的教程。

Github

你也许知道可以免费的将你的项目托管在哪,但你不一定知道它还是一个学习当今流行的Java库和框架的优秀资源。比如,你想学 Spring MVC Framework,你可以搜索并且找到一些开源的项目。遵循“照葫芦画瓢”的原则,你能够通过实例快速的学习框架,尤其是你已经具有使用类似框架的经验。

Coursera

这是有关视频讲座的最好网站,在这里你可以找到许多顶尖学校的著名教授的优秀计算机科学课程。这些教授中,有些甚至是一些计算机科学领域的发明者。

Java World

这个网站包含了大量的Java教程,涉及各种各样的话题。其中很多文章都写的很好,并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。

DevStore

这个网站是针对开发者做的一个服务商店,为开发者提供从设计开发到运营推广一站式的解决方案。开发者在任何阶段需要某种服务时,都可通过DevStore进行参数对比,查看评测、快速体验等来了解,不再需要一一搜索。

Wikipedia 维基百科

这个网站是查询或学习几乎所有概念的最好的资源之一。例如,作为一个资深的Java开发人员,你可能只是想了解一些概念并不想深度研究。这里是一个可以免费查询最新信息的好地方。例如,什么是面向服务的编程?另外,它还能为你的写作提供大量素材。比如,同一个词在不同的领域可能会有完全不同的含义。有时,研究这些词在不同领域的不同含义是非常有意思的。

Program Creek

与以上几个网站相比,Programcreek.com在规模上要小很多。但是规模小也有优点,它在维护方面做的更好,读起来更有趣。在这里,你可以找到其他任何网站都不曾涉及到的话题,而且几乎每篇文章都包含漂亮的插图或者示例代码。它包含了来自不同领域的人发表的文章(科研、工业),并且经常为Java开发者提供优质材料。希望有一天,它也会出现在一些人的网站前十名排行名单中。

注:当然,对于Java开发牛人来说还有很多其它不错的网站。如果你认为有其他的网站也应该列在这里,请留言,我以后也会加进去的。谢谢。

关于牛客网JAVA项目资料和牛客网java笔试题库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。