求一点Java的基础试题。

2024-05-12

1. 求一点Java的基础试题。

循环题:
1. (for 循环)计算1+2+3+...+100 的和
2. (for 循环)计算1+3+5+...+99 的和
3. (while/do…while 循环)把1、2 两题用while 循环或do...while 循环改写
4. (for 循环)读入一个小于10 的整数n,输出它的阶乘n!
5. (for 循环)求100 以内所有能被3 整除但不能被5 整除的数字的和。
6. (for 循环)*“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3 文钱可以买1
只公鸡,2 文钱可以买一只母鸡,1 文钱可以买3 只小鸡。用100 文钱买100 只鸡,那么各
有公鸡、母鸡、小鸡多少只?
7. (for 循环)*搬砖问题:36 块砖,36 人搬,男搬4,女搬3,两个小孩抬1 砖,要求一次
全搬完,问男、女和小孩各若干?
8. (for 循环)*编程找出四位整数abcd 中满足下述关系的数。
(ab+cd)(ab+cd)=abcd
9. (循环)*读入一个整数n,输出如下图形
n = 3
*
***
*****
n = 4
*
***
*****
*******
思路:读入的整数n,就是外层循环的循环次数。
对于每一行,要做的事情:1. 输出若干个空格;2. 输出若干个星;3. 换行。
提示:输出不换行,用System.out.print()
10. (循环)*输出99 乘法表
11. (循环)**求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+b3+c3=abc,
则abc 是水仙花数。
12. (循环)**输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
13. (循环)**输入一整数A,判断它是否质数。
提示1:若从2 到A 的平方根的范围内,没有一个数能整除A,则A 是质数。
提示2:在java 中计算n 的平方根可以使用Math.sqrt(n)
14. (循环)**如果一个数等于其所有因子之和,我们就称这个数为"完数",例如 6 的因子为
1,2,3 6=1+2+3 6 就是一个完数.请编程打印出1000 以内所有的完数
15. **计算圆周率
中国古代数学家研究出了计算圆周率最简单的办法:
PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17......
这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在
3.1415926 和3.1415927 之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?

求一点Java的基础试题。

2. 一道Java简单题

【代码1】处输出结果为 11
不需多说
【代码2】处输出结果为 110
这里考查的java的多态,此时a指向的运行时实例是B的一个实例,B继承A并重写的getNumber()方法,此时调用a.getNumber()方法实际调用的是B重写后的方法,所以输出是110
所以是答案错了,可能是编者不小心写错了。
另附实际运行截图


3. java的一道题目

答案:A    C 
d中值变量名变了的而已,b返回值不能作为重载的依据。

重载方法的规则。

A、被重载的方法必须改变参数列表。
参数必须不同,这是最重要的!不同有两个方面,参数的个数,参数的类型,参数的顺序。

B、被重载的方法与返回类型无关。
也就是说,不能通过返回类型来区分重载方法。

C、被重载的方法可以改变访问修饰符。
没有重写方法那样严格的限制。

D、被重载的方法可以声明新的或者更广的检查异常。
没有重写方法那样严格的限制。

E、方法能够在一个类中或者在一个子类中被重载。

java的一道题目

4. java试题

实现多线程的方法有两种:
1,继承Thread类:需要重写run()方法

2,实现Runnable接口。同样需要重写run()方法

一般情况下推荐第二种方法,因为Java是单继承的,接口是多实现的,你实现了接口之外,还可以继承其他类,相当于扩展性更好。

5. java考试选择题

2、D
3、B
4、A
5、D
6、D
7、D
8、C
9、A
10、A
11、A
12、C
13、B
14、D
15、B

java考试选择题

6. java面试题

1. List 以特定次序来持有元素,可有重复元素。 Set 无法拥有重复元素 , 内 部
排序。 Map 保存 key-value 值, value 可多值。

2. ArrayList 是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入 元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢, 而LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历 ,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

3.try 用来指定一块预防所有 “ 异常 ” 的程序;
catch 子句紧跟在 try 块后面,用来指定你想要捕捉的 “ 异常 ” 的类型;
throw 语句用来明确地抛出一个 “ 异常 ” ;
throws 用来标明一个成员函数可能抛出的各种 “ 异常 ” ;
Finally 为确保一段代码不管发生什么 “ 异常 ” 都被执行一段代码;
可以在一个成员函数调用的外面写一个 try 语句,在这个成员函数内部写另 一
个 try 语句保护其他代码。每当遇到一个 try 语句, “ 异常 ” 的框架就放到堆 栈
上面,直到所有的 try 语句都完成。如果下一级的 try 语句没有对某种 “ 异常 ”
进行处理,堆栈就会展开,直到遇到有处理这种 “ 异常 ” 的 try 语句。

4. Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在 Java 中,每个异常都是一个对象,它是 Throwable 类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含 有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。 Java 的异常处理是通过 5 个关键词来实现的: try 、 catch 、 throw 、 throws 和 finally 。一般情况下是用 try 来执行一段程序,如果出现异常,系统会抛出( throws )一 个异常,这时候你可以通过它的类型来捕捉( catch )它,或最后( finally )由 缺省处理器来处理。

7. java面试题

1抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

5.基本数据类型包括byte、char 、chort、int、long、float、double、boolean
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

6.Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类booleanBoolean  charCharacter  byteByte  shortShort  intInteger  longLong  floatFloat  doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

7.JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

8.异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

9.Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

10.ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

java面试题

8. 关于java重写的一道笔试题,答案是什么?

重写(Overriding)
(1)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
(2)子类函数的访问修饰权限不能少于父类的;
很显然:AB不满足(1)中的要求 C不满足是因为其没有写访问权限修饰符----也就是我们所说的Friendly.而在访问权限修饰符中从宽到严依次为:public protected friendly(没写的时候) private  由于(2)的约束.此时的C选项显然不对.
答案是D.
最新文章
热门文章
推荐阅读