「java编程题题库」java编程考试题及答案

博主:adminadmin 2022-11-23 21:17:11 45

今天给各位分享java编程题题库的知识,其中也会对java编程考试题及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java 习题

b

jdk自带工具箱中的javac.exe文件用于编译满足java编程规范的.java文件

c

第2题问的有问题,编译完成后生成的应该是文件,而不是程序,生成的文件名应该根据所编译的文件内的类的命名决定,因此这道题目没法回答,不过行业内的规范是一个java文件中只定义一个公共类,也就是和文件名一样的类,所以实在要选就只能选C了

b

jdk自带工具箱中的java.exe文件用于解释执行满足java编程规范的并且编译完成的.class文件

d

applet小应用程序的执行方式就是appletviewer

网页格式文件,根据题设只能选d

b

所有的java文件编译完成后将生成对应类名定义的字节码文件,该文件不依附与任何操作平台,只要java虚拟机可以运行,都可以正常的执行。

b

JDK

Java开发工具包,Java

Development

Kit

里面有运行环境JRE和开发时所需要的Java类库,以及一些编译调试运行的程序,如java.exe,javac.exe,javaw.exe等。

java基础面试题有哪些?

下面是10道java基础面试题,后附答案

1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?

Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。

Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2.“static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是static 的方法?

“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。

3.JDK 和 JRE 的区别是什么?

Java 运行时环境(JRE)是将要执行 Java 程序的 Java 虚拟机。它同时也包含了执行 applet 需要的浏览器插件。Java 开发工具包 (JDK)是完整的 Java 软件开发包,包含了 JRE,编译器和其他的工具(比如:JavaDoc,Java 调试器),可以让开发者开发、编译、执行 Java 应用程序。

4.是否可以在 static 环境中访问非 static 变量?

static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

5.Java 支持的数据类型有哪些?什么是自动拆装箱?

Java 语言支持的 8 中基本数据类型是:

byte

short

int

long

float

double

boolean

char

自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 double,等等。反之就是自动拆箱。

6.Java 支持多继承么?

不支持,Java 不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。

7.Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java 编译器会为这个类创建一个默认的构造函数。

Java 中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。

Java 不支持像 C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java 不会创建默认的复制构造函数。

8.Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

9.接口和抽象类的区别是什么?

Java 提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:

接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类

类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

抽象类可以在不提供接口方法实现的情况下实现接口。

Java 接口中声明的变量默认都是 final 的。抽象类可以包含非 final 的变量。

Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private, protected 或者是 public。

接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含 main 方法的话是可以被调用的。

10.什么是值传递和引用传递?

对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

最后祝你面试顺利!

java题目 。急求

1、Java语言中,负责并发管理的机制是 (D )

A.垃圾回收 B.虚拟机 C.代码安全 D.多线程

2、下列描述中,错误的是 ( A )

A.Java要求编程者管理内存 B.Java的安全性体现在多个层次上

C.Applet要求在支持Java的浏览器上运行 D.Java有多线程机制

3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为 ( B )

A.继承 B.多态 C.封装 D.Java不支持此特性

4、注释的基本原则不包括 (D )

A.注释应该增加代码的清晰度 B.注释要简洁

C.在写代码之前写注释 D.尽量给每一条语句加注释

5、下列语句中,属于多分支语句的是 ( B )

A.if语句 B.switch语句 C.do while语句 D.for语句

6、阅读下列代码:

public class Test{

public static void main(String args[]){

String s=”Test”;

switch(s){

case “Java”:System.out.print(“Java”);

break;

case “Language”:System.out.print(“Language”);

break;

case “Test”:System.out.print(“Test”);

break;

}

}

}

其运行结果是 ( D )

A.Java B.Language C.Test D.编译出错

7、阅读下列代码

public class Test{

public static void main(String args[]){

System.out.println((32)?4:5);

}

}

其运行结果是 ( C )

A.2 B.3 C.4 D.5

8、用abstract定义的类 ( D )

A、可以被实例化 B、不能派生子类

C、不能被继承 D、只能被继承

9、异常包含下列那些内容? ( D )

A)程序中的语法错误 B)程序的编译错误

C)程序执行过程中遇到的事先没有预料到的情况

D)程序事先定义好的可能出现的意外情况

10、在Java中,与数据库连接的技术是 ( B )

A.ODBC B.JDBC C.数据库厂家驱动程序 D.数据库厂家的连接协议

11、在Java编程时的下列命题中,错误的是 ( A )

A.要求应尽量多用公共变量 B.要求应尽量少用公共变量

C.要求应尽量不用公共变量 D.要求应尽量使用私有变量

12、若数组a定义为int[ ][ ] a=new int[3][4],则a是 ( B )

A.一维数组 B.二维数组 C.三维数组 D.四维数组

13、Java语言使用的字符码集是 ( D )

A.ASCII B.BCD C.DCB D.Unicode

14、在程序读入字符文件时,能够以文件作为直接参数的类是 ( C )

A.FileReader B.BufferedReader C.FileInputStream D.ObjectInputStream

15、关于序列化接口Serializable,下列描述中正确的是 ( C )

A.定义了抽象方法 B.定义了常量

C.没有定义抽象方法,也没有定义常量 D.定义了成员方法

16、Java语言中,有一个类是所有类或接口的父类,这个类的名称是 ( B )

A.Father B.Object C.Java.Lang D.Ancester

17、假设String s = “”,那么下列表达式为假的是 ( C )

A.s == “” B.s.equals(“”) C.s == null D.s.isEmpty()

18、现有语句String s=new String(“012345678”); 那么 s.indexOf(‘5’)的值是 ( D )

A.3 B.4 C.5 D.6

19、在发生或不发生异常时都会运行的代码在 (C )

A.throw语句 B.catch语句块 C.finally语句块 D.try语句块

java编程题

1.package test;

import java.util.Iterator;

import java.util.Map;

import java.util.TreeMap;

public class Test {

public static void main(String[] args) {

String str = "afdjasdg$$jfsjdfjdjjdjdjdjdjdj";

int max=0;

Object chars=null;

Map tree = new TreeMap();

for (int i = 0; i str.length(); i++) {

char ch = str.charAt(i);

if ((ch = 1 ch = 255) ) {

if (!tree.containsKey(ch)) {

tree.put(ch, new Integer(1));

} else {

Integer in = (Integer) tree.get(ch) + 1;

tree.put(ch, in);

}

}

}

Iterator tit = tree.keySet().iterator();

while (tit.hasNext()) {

Object temp = tit.next();

if(max=Integer.parseInt(tree.get(temp)+""))

{

max=Integer.parseInt(tree.get(temp)+"");

chars=temp;

}

}

System.out.print(chars.toString() + "出现" + max + "次");

}

}

只要用assic码做范围就可以了.任何字符都可以过滤.

2.方法很多,hashmap或是arraylist,数组都可以的.就是对应关系而已.

package test;

public class ListTest {

static String[] to_19 = { "zero", "one", "two", "three", "four", "five",

"six", "seven", "eight", "nine", "ten", "eleven", "twelve",

"thirteen", "fourteen", "fifteen", "sixteen", "seventeen",

"eighteen", "nineteen" };

static String[] tens = { "twenty", "thirty", "forty", "fifty", "sixty",

"seventy", "eighty", "ninety" };

static String[] denom = { "", "thousand ", "million", "billion",

"trillion", "quadrillion", "quintillion", "sextillion",

"septillion", "octillion", "nonillion", "decillion", "undecillion",

"duodecillion", "tredecillion", "quattuordecillion",

"sexdecillion", "septendecillion", "octodecillion",

"novemdecillion", "vigintillion" };

public static void main(String[] argv) throws Exception {

long tstValue = 12345;

ListTest itoe = new ListTest();

System.out.println(itoe.english_number(tstValue));

}

private String convert_nn(int val) {

if (val 20) return to_19[val];

int flag = val / 10 - 2; if (val % 10 != 0)

return tens[flag] + "-" + to_19[val % 10];

else return tens[flag];

}

private String convert_nnn(int val) {

String word = "";

int rem = val / 100;

int mod = val % 100;

if (rem 0) {word = to_19[rem] + " hundred ";}

if (mod 0) {word = word + convert_nn(mod);}

return word;

}

public String english_number(long val) {

if (val 100) {System.out.println((int) val);return convert_nn((int) val);}

if (val 1000) {return convert_nnn((int) val); }

for (int v = 0; v denom.length; v++) {

int didx = v - 1;

long dval = new Double(Math.pow(1000, v)).longValue();

if (dval val) {

long mod = new Double(Math.pow(1000, didx)).longValue();

int l = (int) (val / mod);

long r = (long) (val - (l * mod));

String ret = convert_nnn(l) + " " + denom[didx];

if (r 0) {ret = ret + ", " + english_number(r);}

return ret;

}

}

return null;

}

}

(特急)《Java程序设计》理论题库—判断题(要准确答案)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。

摘要:《Java程序员面试指南》第7章异常处理及内存管理,本章讲述的是要想成功地成为一名合格的Java程序员,掌握好异常处理机制是编写大型程序必不可少的基本功。本节为大家介绍异常的处理方式之三:throw。

标签:throw Java 程序员 Java程序员面试指南

Oracle帮您准确洞察各个物流环节

7.4 异常的处理方式之三:throw(1)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。本节主要讲解用throw抛出异常的方式,以及如何由try-catch来接收所抛出的异常。

当一个方法发生异常时可以通过throw关键字来抛出异常,把异常抛给它上一级的调用者,抛出的可以是异常引用,也可以是异常对象,它的语法格式如下:

throw 异常对象名; 或者

throw new 异常类名(); 一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点类似于return语句),而且它所在的方法也不再返回有意义的值。在一个方法中,throw语句可以有多条,但每一次最多只能执行其中的一条。在一般情况下,throw语句都会写在判断语句块中,以避免每次都执行该语句。

【代码剖析】下面来看一个例子,也许从中你会明白点什么。具体代码如下:

public class catchThows { static int x; public static void main(String argv[]) { double a = Math.random() * 10; if (x 0) System.out.println(a / x); else throw new Exception(); // 抛出异常 } public void setX(int x) { this.x = x; } } 运行结果如图7.1所示。

(点击查看大图)图7.1 运行结果

从上面的运行结果中可以看出,一个方法中如果使用throw来抛出异常,要么自己捕获它,要么声明抛出了一个异常。要声明抛出了异常,需要用throws关键字在方法的头部声明。如果我们将上面的代码修改成下面的代码,那么结果又会怎样呢?

public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows().setX(0); double a = Math.random() * 10; if (x 0) System.out.println(a / x); else try { throw new Exception();// 抛出异常 } catch (Exception e) { System.out.println("出现异常的原因是:"+e.getMessage()); } } public void setX(int x) { this.x = x; } } 运行结果如下:

出现异常的原因是:null 还有一种抛出异常的方法是让被调用的方法表示它将不处理异常,该异常将被抛出到它的调用方法中。这点是和throws声明异常很相似的,但它们的位置是完全不同的。具体代码如下:

public class catchThows_2 { void findThows() { try { //抛出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //对方法进行异常处理 try { ct.findThows(); } catch(ArithmeticException ae) { System.out.println("出现异常的原因是:"+ae); } } } 运行结果如下:

出现异常的原因是:java.lang.ArithmeticException

【责任编辑:云霞 TEL:(010)68476606】

回书目 上一节 下一节

上一篇: 7.3 异常的处理方式之二:throws(2) 下一篇: 7.4 异常的处理方式之三:throw(2)

相关文章

·7.5 内存的管理(2)

·7.4 异常的处理方式之三:throw(2)

·17.3 Java高级编程试题(1)

·17.1 Java基础编程试题(6)

·17.1 Java基础编程试题(5)

频道热门

·自己动手写搜索引擎

·1.1.2 编写代码(15分钟)

·1.1.1 准备工作环境(10分钟)

·软件调试的艺术

·WCF编程(第2版)

一套JAVA的初级题目,跪求各位大虾帮帮忙

1、 JAVA语言是由哪个软件公司开发?( B )

A、 sum B、sun C、IBM D、联想

2、 以下描述错误的是?( C )

A、 JAVA能编写独立运行的应用程序

B、 JAVA支持多线程

C、 JAVA是一网络应用软件

D、 JAVA能运行于windows 系统

3、程序中添加注释的作用?( B )

A、使得程序运行更高效

B、 增加程序的可读性和可理解性

C、 可以使用#号来注释

D、 提高程序编译的速度

4、HelloWorld.java编译成功后会在当前目录中生成一个什么文件?(B )

A、 Hello.java B、HelloWorld.class C、Helloworld.class D、helloWorld.class

5、编写一个java application程序,其中类声明为public class StringDemo,那么该程序应该以什么文件名来保存?( A )

A、StringDemo.java B、StringDemo.class C、Strindemo.java D、StringDemo.txt

6、以下描述正确的是?( C )

A、 JAVA不可以用来开发手机程序

B、 在JAVA程序中java.awt包是唯一自动引入的类库

C、 java.io包是JAVA语言的输入输出类库

D、 JAVA的包中可以有相同的类名

7、在声明变量时以下那个选项是不允许使用?( A )

A、char B、Int C、Hello D、Public

8、以下语句错误的是?( B )

A、int a=10; B、int ab=10.4f; C、float b=10; D、double c=10.0;

9、以下产生信息丢失的类型转换是?( B )

A、float a=10; B、int a=(int)884656565.0f; C、byte a=10;int b=a; double d=100;

10、以下运行符中属三元运算符的是?( C )

A、+ B、% C、条件运算符 D、*

11、以下关于数组的描述有误的是?( D)

A、 整型数组中的各元素的值必须是整型

B、 数组是有序数据的集合

C、 如数组名为ab,即ab.length可以取得该数组的长度

D、 数组的下标从1开始

12、以下对于标识符的描述有误的是?( D )

A、 常量用大写字母,变量用小写字母

B、 JAVA的标识符严格区分大小写

C、 第一个字符不是数字

D、 标识符中任何位置都不能用数字

13、以下描述有误的是?( B )

A、 package 包名;这个语句必须在程序的第一行。

B、 当方法用void声明时,方法必须返回一个整型的值

C、 return语句执行后,当前方法将被终止执行

D、 当方法用int声明时,方法必须返回一个整型的值

14、以下语句正确的是?( D)

A、x+1=5; B、i++=1; C、a++b=1; D、 x+=1;

15、以下结果为真(true)的是?( B )

A、10’a’ B、’a’20 C、 !true D、(35) (410)

16、int a=’2’; a的值是多少?(B )

A、1 B、50 C、49 D、2

17、’a’%3的值是多少?( D )

A、1 B、97 C、3 D、2

18、以下关于循环语句描述正确的是?( D )

A、 for循环不可能产生死循环

B、 while循环不可能产生死循环

C、 for循环不能嵌套while循环

D、 即使条件不满足do……while循环体内的语句也至少执行一次

19、以下对选择语句的描述错误的是?( )

A、 根据某一条件重复执行一部分代码直到满足终止循环条件为止

B、 可以根据条件控制程序流程,改变程序执行的顺序

C、 选择语句可以嵌套使用

D、 当条件满足时就会执行相应的语句

20、能判断出年份是否是闰年的选项是?( A )

A、 能被4整除且不能被100整除

B、 不能被4整除但能被100整除

C、 能4整除

D、 被100整除

一、 程序阅读题(每题6分)

1、

public class Kao

{

public static void main(String args[])

{

int a;

int i=1;

a=++i;

System.out.println("a="+a);

System.out.println("i="+i);

}

}

a的值是多少?i的值是多少?

a=2;i=2;

2、

public class Kao1

{

public static void main(String args[])

{

int a=7;

System.out.println(a+”的平方是:”+a*a);

}

}

输出结果是什么? 7的平方是:49

3、

public class Kao2

{

public static void main(String args[])

{

int sum=0;

for(int i=1;i=100;i+=2)

sum+=i;

System.out.println(sum);

}

}

sum的值最后是多少?2500

4、

public class Kao3

{

public static void main(String args[])

{

int a[]=new int[5];

for(int i=0;ia.length;i++)

a[i]=i+2;

for(int j=0;j4;j++)

System.out.println("a["+j+"]="+a[j]);

}

}

运行后程序显示结果是?

a[0]=2

a[1]=3

a[2]=4

a[3]=5

a[4]=6

5、

public class Kao4

{

public static void main(String args[])

{

int a=0650;

System.out.println(a);

}

}

在屏幕上输出的值是多少?424 //为什么是这样的情况呢?

二、 编程题 编写程序计算一个年份是否是闰年。

return ((year%4 == 0) (year%100 != 0)) || (year%400 == 0) ? true : false;

};

java编程题题库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java编程考试题及答案、java编程题题库的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。