JAVA精彩试题及问题详解(50道选择题)-java选择题及问题详解

JAVA精彩试题及问题详解(50道选择题)-java选择题及问题详解
JAVA精彩试题及问题详解(50道选择题)-java选择题及问题详解

选择题

1、JAVA所定义的版本中不包括:(D )

A、JAVA2 EE

B、JAVA2 Card

C、JAVA2 ME

D、JAVA2 HE

E、JAVA2 SE

2、下列说确的是( A )

A、JAVA程序的main方法必须写在类里面

B、JAVA程序中可以有多个main方法

C、JAVA程序中类名必须与文件名一样

D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括

起来

3、变量命名规说确的是( B )

A、变量由字母、下划线、数字、$符号随意组成;

B、变量不能以数字作为开头;

C、A和a在java中是同一个变量;

D、不同类型的变量,可以起相同的名字;

4、下列javaDoc注释正确的是( C )

A、/*我爱天安门*/

B、//我爱天安门*/

C、/**我爱天安门*/

D、/*我爱天安门**/

5、为一个boolean类型变量赋值时,可以使用( B )方式

A、boolean = 1;

B、boolean a = (9 >= 10);

C、boolean a="真";

D、boolean a = = false;

6、以下( C )不是合法的标识符

A、STRING

B、x3x;

C、void

D、de$f

7、表达式(11+3*8)/4%3的值是( D )

A、31

B、0

C、1

D、2

8、( A )表达式不可以作为循环条件

A、i++;

B、i>5;

C、bEqual = str.equals("q");

D、count = = i;

9、运算符优先级别排序正确的是(A )

A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、

赋值运算符;

B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、

逻辑运算符;

C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、

赋值运算符;

D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、

逻辑运算符;

10、以下程序的运行结果是:( B )

public class Increment{

public static void main(String args[]) {

int a;

a = 6;

System.out.print(a);

System.out.print(a++);

System.out.print(a);

}

}

A.666

B.667

C.677

D.676

11、下列值不为true的表达式有( C )。

A、"john" = = "john"

B、"john".equals("john")

C、"john" = "john"

D、"john".equals(new String("john"))

12、下列输出结果是( C )

int a = 0 ;

while ( a < 5 ) {

switch(a){

case 0:

case 3 : a = a + 2;

case 1 :

case 2 : a = a + 3;

default : a = a + 5;

}

}

System.out.print ( a ) ;

A、0

B、5

C、10

D、其他

13、下列代码输出结果是( B )

int i = 10;

while ( i > 0 ){

i = i + 1;

if ( i = =10 ){

break;

}

}

A.while循环执行10次

B.死循环

C.循环一次都不执行

D.循环执行一次

14、下面有关for循环的描述正确的是( A )

A、for循环体语句中,可以包含多条语句,但要用大括号括起来

B、for循环只能用于循环次数已经确定的情况

C、在for循环中,不能使用break语句跳出循环

D、for循环是先执行循环体语句,后进行条件判断

15、下列( A C )属于引用数据类型(选择两项)

A、String

B、char

C、用户自定义的Student类类型

D、int

16、对象的特征在类中表示为变量,称为类的(B )。

A、对象

B、属性

C、方法

D、数据类型

17、在java中下列关于自动类型转换说确的是( A )

A、基本数据类型和String相加结果一定是字符串型

B、char类型和int类型相加结果一定是字符

C、double类型可以自动转换为int

D、char + int + double +"" 结果一定是double;

18、关于类的描叙正确的是(BD)(选择两项)

A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用

B、局部变量的作用围仅仅在定义它的方法,或者是在定义它的控制流块

C、使用别的类的方法仅仅需要引用方法的名字即可

D、一个类的方法使用该类的另一个方法时可以直接引用方法名

19、下列关于字符串的描叙中错误的是(BC )(选择两项)

A、字符串是对象

B、String对象存储字符串的效率比StringBuffer高

C、可以使用StringBuffer sb="这里是字符串"声明并初始化

StringBuffer对象sb

D、String类提供了许多用来操作字符串的方法:连接,提取,查询等

20、以下( D )代码,能够对数组正确初始化(或者是默认初始化)。

A、int[] a;

B、a = {1, 2, 3, 4, 5};

C、int[] a = new int[5]{1, 2, 3, 4, 5};

D、int[] a = new int[5];

21、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅

读下面代码,程序运行结果是( B )

temp = score[0];

for (int index = 1;index < 5;index++) {

if (score[index] < temp) {

temp = score[index];

}

}

A.求最大数

B.求最小数

C.找到数组最后一个元素

D.编译出错

22、下面关于数组的说法中,错误的是(AB )(选择两项)

A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元

素值为空

B、数组可以在存空间连续存储任意一组数据

C、数组必须先声明,然后才能使用

D、数组本身是一个对象

23、在Java中,关于构造方法,下列说法错误的是( C )

A、构造方法的名称必须与类名相同

B、构造方法可以带参数

C、构造方法不可以重载

D、构造方法绝对不能有返回值

24、执行下面代码结果( D )

for(int i=0;;){

System.out.println("这是 "+i);

break;

}

A、语法错误,缺少表达式2和表达式3

B、死循环

C、程序什么都不输出

D、输出:这是0

25、下面代码输出结果是(B )。

int i=0,s=0;

do{

if (i%2 = = 0 ){

i++;

continue;

}

i++;

s = s + i;

} while (i<7);

System.out.println(s);

A、16

B、12

C、28

D、21

26、下面( C )不是String类提供的合法的方法。

A、equals(String)

B、trim()

C、append() StringBuffer

D、indexOf()

27、在JAVA中,以下(C )类的对象以键-值的方式存储对象

A、java.util.List

B、java.util.ArrayList

C、java.util.HashMap

D、java.util.LinkedList

28、给定如下所示的JAVA代码,则运行时,会产生( B )类型的异常

String s = null;

s.concat("abc");

A.ArithmeticException

B.NullPointerException

C.IOException

D.ClassNotFoundException

29、给定java代码如下所示,在A处新增下列(AC)方法,是对cal方

法的重载(选择两项)

public class Test

{

public void cal(int x, int y, int z)

{

}

//A

}

A.public int cal(int x,int y,float z){return 0;}

B.public int cal(int x,int y,int z){return 0;}

C.public void cal(int x,int z){}

D.public viod cal(int z,int y,int x){}

30、给定如下Java 程序代码片段,编译运行这段代码,结果是( B )。

java.util.HashMap map = new java.util.HashMap();

map.put("name",null);

map.put("name","Jack");

System.out.println(map.get("name"));

A.null

B.Jack

C.nullJack

D.运行时出现异常

31、给定以下JAVA代码,这段代码编译运行后输出的结果是( C )

public class Test {

public static int aMethod(int i) throws Exception { try{

return i/10;

}catch(Exception ex){

throw new Exception ("exception in a aMothod");

}finally{

System.out.print("finally");

}

精选30道Java笔试题解答

都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~ 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧:https://www.360docs.net/doc/9010724233.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/9010724233.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/9010724233.html,ng.Throwable,https://www.360docs.net/doc/9010724233.html,ng.Error和https://www.360docs.net/doc/9010724233.html,ng.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/9010724233.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。 https://www.360docs.net/doc/9010724233.html,ng.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception 类都是检查了的异常(checked exceptions). checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。 unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。因此, 面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。 RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。

java50道经典逻辑题

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序1】 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:咋一看不知道如何下手,但是你在草稿纸上写写分析一下,就很快发现其中的规律了package logic; import java.util.Scanner; public class RabbitNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("你想知道前几个月的兔子的数量"); int month = in.nextInt(); int[] mon = new int[month]; if(month < 3){ System.out.println("第" + month + "个月有1 对兔子,共2 只"); } else for(int i = 2; i < month; i++){ mon[0] = mon[1] = 1; mon[i] = mon[i - 1] + mon[i - 2]; System.out.printf("第%d 个月有%d 对兔子,共%d 只兔子\n", i + 1, mon[i], 2 * mon[i]); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 分析:如果知道素数是什么,该题就应该不难了 package logic; public class Prime { public static void main(String[] args) { System.out.print("101--200中的素数有:"); for(int i = 101; i <= 200; i++){ if(isPrime(i)) System.out.print(" " + i); } } //isPrime方法用来判断一个数是否是素数private static boolean isPrime(int i) { // TODO Auto-generated method stub for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0) return false; } return true; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:解决这个题目主要要知道怎么把一个数的各个位上的数拆分出来 package logic; import java.util.Scanner; public class NarcissisticNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("水仙花数有:"); for(int num = 100; num < 1000; num++){ if(isNarcissisticNum(num)) System.out.println(" " + num); } } //一个判断正整数是否为水仙花数的方法private static boolean isNarcissisticNum(int num) { // TODO Auto-generated method stub int a = num / 100; //分离出百位a int b = (num / 10) % 10; //分离出十位b int c = num % 10; //分离出个位 c int sum = a * a * a + b * b * b + c * c * c; if(sum == num) return true; else return false; } } 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 分析:按步骤实现就可以了(有多种实现方式,以下代码供参考。我也参考了别人的)package logic; import java.util.Scanner; public class PrimeFactorOfInteger { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个

java笔试题以及答案详解-一

java笔试题以及答案详解一 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。package net.study; public class TestConStructor { public TestConStructor() { System.out.println("constructor"); }

public void TestConStructor() { System.out.println("not constructor"); } public static void main(String[]args) { TestConStructor testConStructor= new TestConStructor(); System.out.println("main"); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/9010724233.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&&B.<>C.if D.:= 答案:A 详解: java 中没有<>:= 这种运算符,if else不算运算符6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

JAVA笔试题 Java选择题 道

1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) B) C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.+ x); 8.} 9.static { x/=3;}

JAVA试题和答案(50道选择题)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规说确的是(B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱天安门*/ B、//我爱天安门*/ C、/**我爱天安门*/ D、/*我爱天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D ) A、31 B、0 C、1

D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C ) int a = 0 ; while ( a < 5 ) { switch(a){ case 0:

30道java笔试题

Java 笔试题 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD interrup:中断线程。 run:如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。 start:使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 yield:暂停当前正在执行的线程对象,并执行其他线程。 sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和 调度程序精度和准确性的影响。 join:让其他线程插入本线程之前 wait:在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 notify:唤醒在此对象监视器上等待的单个线程。 notifyAll:唤醒在此对象监视器上等待的所有线程。 2. 下面关于https://www.360docs.net/doc/9010724233.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/9010724233.html,ng.Throwable,https://www.360docs.net/doc/9010724233.html,ng.Error和https://www.360docs.net/doc/9010724233.html,ng.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。 扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/9010724233.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去 try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。

精选最新2020年JAVA笔试面试考核题库完整版588题(含答案)

2020年JAVA笔试面试题库588题 一、简答题 1.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键 B. 总控键 C. 重复的组 D. 主键 答案:A 2.下列关于Java语言的叙述中,正确的是:A. 源文件名其扩展名为.jar B. Java是不区分大小写的 C. 源文件中public类的数据不限 D. 源文件名必须与public类型的类名相同 答案:D 3.在Weblogic中如果部署的应用访问两个数据库并需要进行事务控制时,则需配置 答案:两阶段提交协议 4.关系数据库中,典型的实体关系模型有三个要素? 答案:数据结构、关系操作、完整性约束 5.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别 答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。 6.下面哪个是合法的布尔值 A. “false” B. false C. 10 答案:B 7.J2EE的三层模型是什么?

华为Java精选笔试题整套考卷(附完整答案)

×××机构/学校/公司×××课程/部门/班级Java×××考试题 文档密级机密文档 日期2019-09-07 Copyright ? 2019 ×××版权所有 非经本单位书面许可,任何单位和个人不得擅自摘抄、复制或拍照本文档内容的部分或全部,并不得以任何形式传播,否则将保留采取一切法律措施的权利,追究传播者的法律责任

考试须知 1.考试时长60分钟,请注意合理分配时间; 2.请将答案统一写在考试提供的答题纸上,且勿在试卷上进行草稿或者答题; 3.若迟到入场,考试结束时间按照统一规定结束,不针对迟到情况延长考试时间; 4.领到答题纸后,请先在指定位置准确、清楚地填写姓名、手机号/邮箱等栏目; 5.考试杜绝任何作弊行为; 6.请将手机调至静音,保持考场安静; 7.请勿以任何形式复制或带走任何考试材料,包括但不限于以拍照、手抄、夹带等方式将笔试试卷、答 题纸及草稿纸等材料带出考场; 8.考试过程中如有任何问题可举手示意在场监考人员。

考试内容 1.单选题(20’) (4) 2.多选题(30’) (5) 3.简答题(30’) (7) 4.编程题(20’) (9)

1. 单选题(20’) 本部分每试题2分。 1、下面关于变量及其作用范围的陈述哪个是不对的?(B ) A.实例变量是类的成员变量。 B.实例变量用关键字static声明。 C.在方法中定义的局部变量在该方法被执行时创建。 D.局部变量在使用前必须被初始化。 2、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 3、哪个是将一个十六进制值赋值给一个long型变量?( D ) A.long number = 345L; B.long number = 0345; C.long number = 0345L; D.long number = 0x345L; 4、下面的哪个赋值语句是不对的?( A ) A.float f = 11.1; B.double d = 5.3E12; C.double d = 3.14159; D.double d = 3.14D; 5、下面哪个是不合法的标识符?( C ) A.$persons; B.TwoUsers; C.*point; D._endline; 6、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。 A、本地方法 B、静态方法 C、最终方法 D、抽象方法 7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )。 A、 public static void main() B、 public static void main(String[ ] args) C、 public static int main(String[ ] args) D、public void main(String arg[ ])

JAVA上机考试常出现的十道编程题

常用十题 1、九九乘法表: public class chengfa { public static void main(String[] args) { int i,j; System.out.println("9*9乘法表如下:"); for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { System.out.print(+i+"*"+j+"="+i*j); System.out.print(" " ); } System.out.println( ); } } } 2、成绩判断 import java.util.Scanner; public class chengjipanduan { public static void main(String[] args) { int grade; System.out.println("输入你的成绩:"); Scanner s=new Scanner(System.in); grade=s.nextInt(); switch(grade/10) { case 10: case 9: System.out.println("你的成绩为优");break; case 8: System.out.println("你的成绩为良");break; case 7:

System.out.println("你的成绩为中");break; case 6: System.out.println("你的成绩为及格");break; case 5: case 4: case 3: case 2: case 1: case 0: System.out.println("你的成绩为差");break; } } } 3、矩形类 public class Rectangle { double width=1.0; double height=1.0; public Rectangle(double width,double height) { this.width=width; this.height=height; } public void setwidth(double width) { this.width=width; } public double getwidth(double widtht) { return width; } public void setheight(double height) { this.height=height; } public double getheight(double height) { return height; }

精选Java笔试题

精选Java笔试题 1.下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧:https://www.360docs.net/doc/9010724233.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/9010724233.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/9010724233.html,ng.Throwable,https://www.360docs.net/doc/9010724233.html,ng.Error和https://www.360docs.net/doc/9010724233.html,ng.Exception继承 Throwable,RuntimeException和其它的Exception 等继承Exception,具体的RuntimeException继承RuntimeException。 扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/9010724233.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。 https://www.360docs.net/doc/9010724233.html,ng.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions). checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。 unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起

精选Java笔试题

精选Java笔试题 Java考试马上就要进行了,大家是否已经复习好了呢?下面是为大家收集的关于精选Java笔试题,欢迎大家阅读! 1.下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧: https://https://www.360docs.net/doc/9010724233.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/9010724233.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/9010724233.html,ng.Throwable, https://www.360docs.net/doc/9010724233.html,ng.Error和https://www.360docs.net/doc/9010724233.html,ng.Exception继承 Throwable,

RuntimeException和其它的Exception等继承Exception,具体 的RuntimeException继承RuntimeException。 扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/9010724233.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误 都是非正常的,就根本不该出现的。 https://www.360docs.net/doc/9010724233.html,ng.Exception: Throwable的子类,用于指示一种合 理的程序想去catch的条件。即它仅仅是一种程序运行条件,而 非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查 了的异常(checked exceptions). checked exceptions: 通常是从一个可以恢复的程序中抛出 来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。 unchecked exceptions: 通常是如果一切正常的话本不该发 生的异常,但是的确发生了。发生在运行期,具有不确定性,主 要是由于程序的逻辑问题所引起的。比如

IT公司笔试之精选30道Java笔试题解答

IT 下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java 基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 出处:网友指出。 12. 0.6332的数据类型是()A float B double C Float D Double答案:B解析:默认为double型,如果为float 型需要加上f显示说明,即0.6332f 13. 下面哪个流类属于面向字符的输入流 ( )A BufferedWriter B FileInputStrea m C ObjectInputStream D Inp utStreamReader 答案:A 解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。 面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。 面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。总结:以InputStream(输入)/OutputStream(输出)为后缀的是字节流;以Reader(输入)/Writer(输出)为后缀的是字符流。扩展:Java流类图结构,一目了然,解决大部分选择题: 14. Java接口的修饰符可以为()A private B protected C final D abstract答案:CD解析:接口很重要,为了说明情况,这里稍微啰嗦点:(1)接口用于描述系统对外提供的所有服务,因此接口中的成员常量和方法都必须是公开(public)类型的,确保外部使用者能访问它们;(2)接口仅仅描述系统能做什么,但不指明如何去做,所以接口中的方法都是抽象(abstract)方法;(3)接口不涉及和任何具体实例相关的细节,因此接口没有构造方法,不能被实 例化,没有实例变量,只有静态(static)变量;(4)接口的中的变量是所有实现类共有的,既然共有,肯定是不变的东西,因为变化的东西也不能够算共有。所以变量是不可变(final)类型,也就是常量了。(5)接口中不可以定义变量?如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口 A 中有一个public 访问权限的静态变量 a。按照 Java 的语义,我们可以不通过实现接口的对象来访问变量 a,通过 A.a = xxx; 就可以改变接口中的变量 a 的值了。正如抽象类中是可以这样做的,那么实现接口 A 的所有对象也都会自动拥有这一改变后的 a 的值了,也就是说一个地方改变了 a,所有这些对象中 a 的值也都跟着变了。这和抽象类有什么区别呢,怎么体现接口更高的抽象级别呢,

java50道经典练习题

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a> b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

50道精选java笔试题

传智播客java就业班入学测试题 共50道题,每道题2分,总分100分,80分为合格。 注意,所有题目均为多项选择题。 对应试者的忠告: 传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。 本测试题的目的在于帮助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础,试想一下,如果学员入学前我们不进行测试,那么必然会导致学生的技术水平参差不齐,再好的老师也无法把这样的班教好。 希望参加测试的学员能本着对自己负责的态度,独立完成这套测试题。 如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。 如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了 java基础与加强班,您可以通过短时间的培训,打下一个坚实的基础,再继续参加我们就业班的培训。 1.在JAVA中,下列哪些说法是正确的() A.java源文件的扩展名为.java B.写好的java源程序可以直接运行 C.编写的源程序必须先编译后才能运行 D.程序员可以读懂扩展名为.class的文件 2.在java中,关于数组描述正确的是() A.数组中的索引下标从1开始 B.存储在数组当中的数据都属于同一数据类型 C.通过数组名.length()能获得数组的长度 D.数组的最大索引下标是数组的长度减1 3.下列标识符哪个是合法的() A.class B.$abc C.1234 D._name 4.下面程序的输出结果是什么( ) int[] arr = new int[10]; System.out.println(arr[0]); A.编译不通过

2020年Java面试题50道Java面试题

2020年Java面试题50道Java面试题 黑马程序员免费视频库:https://www.360docs.net/doc/9010724233.html,?2020sxkyk 以下的内容是对原有的和最近Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,相对来说比较经典,相信对准备入职的Java程序员一定有所裨益。 21、描述一下JVM 加载class文件的原理机制? 答:JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。 补充: 1.由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。最后JVM对类进行初始化,包括:1如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;2如果类中存在初始化语句,就依次执行这些初始化语句。

2.类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(https://www.360docs.net/doc/9010724233.html,ng.ClassLoader的子类)。从JDK 1.2开始,类加载过程采取了父亲委托机制(PDM)。PDM更好的保证了Java平台的安全性,在该机制中,JVM 自带的Bootstrap是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。JVM不会向Java程序提供对Bootstrap的引用。下面是关于几个类加载器的说明: a)Bootstrap:一般用本地代码实现,负责加载JVM基础核心类库(rt.jar); b)Extension:从java.ext.dirs系统属性所指定的目录中加载类库,它的父加载器是Bootstrap; c)System:又叫应用类加载器,其父类是Extension。它是应用最广泛的类加载器。它从环境变量classpath或者系统属性java.class.path所指定的目录中记载类,是用户自定义加载器的默认父加载器。 黑马程序员视频库网址:https://www.360docs.net/doc/9010724233.html,(海量热门编程视频、资料免费学习) 学习路线图、学习大纲、各阶段知识点、资料网盘免费领取+QQ 3285264708 / 3549664195 22、char 型变量中能不能存贮一个中文汉字?为什么? 答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16bit),所以放一个中文是没问题的。

一些关于java的公司笔试的题目看看吧

JA V A试题(100道) —————————————————————————————————————— 题目1: 下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte 题目2:d 如下程序中: (1)public class CharToInt (2){ (3)public static void main(String[] args) (4){ (5)int a,b=10; (6)char c='语'; (7)a=b+c; (8)System.out.println("结果是:"+a); (9)} (10)} 下面的说法中正确的是:(选择1项) A) 程序运行到第6行会出现编译错误,因为c为char类型,不能把一个汉字赋给一个字符型。 B) 程序运行到第7行会出现编译错误,因为字符型与整型不能进行加法运算。 C) 程序能够正常编译和运行,但是不会输出任何结果。 D) 程序将字符型转换为unicode编码并和b的数值相加的和输出。 题目3: 下面的说法中,错误的是:d(选择1项) A) 在Java中标志符可以是字母、下划线、数字或$符号。 B) 在Java中布尔类型不能和数字之间不能来回转换,即false和true不对应任何零或非零的值。 C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。 D) 在Java中布尔值可以用true或false来表示,但是同时也可以用1或0来表示。 题目5:b 程序如下: class Test { public static void main(String[] args) {

JAVA试题及答案(50道选择题)

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JA V A所定义的版本中不包括:() A、JA V A2 EE B、J A V A2 Card C、J A V A2 ME D、JA V A2 HE E、JA V A2 SE 2、下列说法正确的是() A、JA V A程序的main方法必须写在类里面 B、J A V A程序中可以有多个main方法 C、J A V A程序中类名必须与文件名一样 D、JA V A程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ This.x=(int)f; } public Test(String s){} } A、0 B、1 C、2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 6、为一个boolean类型变量赋值时,可以使用( )方式 A、boolean = 1; B、b oolean a = (9 >= 10); C、b oolean a="真"; D、boolean a = = false; 7、以下( )不是合法的标识符 A、STRING B、x3x; C、v oid D、de$f 8、表达式(11+3*8)/4%3的值是( ) A、31 B、0 C、1 D、2 9、()表达式不可以作为循环条件 A、i++; B、i>5; C、b Equal = str.equals("q"); D、count = = i; 10、运算符优先级别排序正确的是() A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符; 11、以下程序的运行结果是:( ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } }

相关文档
最新文档