java基础选择题
java基础测试题
42.为了区分类中重载的同名的不同方法,要求( )。
A.采用不同的形式参数列表
B.使用不同的参数名
C.修改访问权限
D.返回值的数据类型不同
43.阅读下列代码:
public class Test2005{
public static void main(String args[]){
B.pubic float Method(float c,float d){}
C.public int Method (int a,int b){}
D.pivate float Method (int a,int b,int c){}
5.在编写异常处理的java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动java的异常处理机制。
String s1=new String("hello");
String s2=new String("hello");
System.out.print(s1==s2);
System.out.print(",");
System.out.println(s1.equals(s2));
}
A.true,falseБайду номын сангаасB.true,true
19.下列属于合法Java标识符的是( )。
A._catB.5books
C.+static D.-3.14159
20.在Java中,表示换行符的转义字符的是( )。
A.\nB.\f
C.'n' D.\dd
21.下列代码的执行结果是( )。
java基础试题及答案
java基础试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个修饰符用于声明一个成员变量为类的私有成员?A. privateB. publicC. protectedD. static答案:A4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 下列哪个选项是Java集合框架中的一部分?A. StringB. ArrayListC. FileD. Thread答案:B7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. native答案:A9. 在Java中,哪个关键字用于定义一个内部类?A. innerB. nestedC. innerclassD. class答案:D10. Java中,哪个关键字用于定义一个静态方法?A. staticB. dynamicC. finalD. abstract答案:A二、填空题(每题3分,共15分)1. Java中,用于定义一个类的关键字是______。
答案:class2. Java程序的入口点是______方法。
答案:main3. 在Java中,______关键字用于声明一个变量为常量。
答案:final4. Java中,______关键字用于定义一个方法为静态的。
《java语言基础》考试题
《java语言基础》练习题一、单项选择题1.Java是从()语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC答案:B2.下列语句哪一个正确()A.Java程序经编译后会产生machine codeB.Java程序经编译后会产生byte codeC.Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有()A.class中的constructor不可省略B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行D.一个class只能定义一个constructor答案:C4.提供Java存取数据库能力的包是()A.java.sql B.java.awt C.ng D.java.swing答案:A5.下列运算符合法的是()A.&& B.<> C.if D.:=答案:A6.执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A.0 B.1 C.-1 D.死循环答案:C7.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号答案:D8.下列语句正确的是()A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象答案:A9.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有()A.类(Class)B.Applet C.Application D.Servlet答案:BC2.下列说法正确的有()A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3.下列标识符不合法的有()A.new B.$Usdollars C.1234 D.car.taxi答案:ACD4.下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变答案:BCD5.不能用来修饰interface的有()A.private B.public C.protected D.static答案:ACD6.下列正确的有()A.call by value不会改变实际参数的数值B.call by reference能改变实际参数的参考地址C.call by reference不能改变实际参数的参考地址D.call by reference能改变实际参数的内容答案:ACD7.下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法答案:ACD8.下列说法错误的有()A.Java面向对象语言容许单独的过程与函数存在B.Java面向对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9.下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B.J2SDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD三、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。
java基础考试题及答案
新员工考试一、选择题共30题,每题2分1.下面哪些是合法的标识符多选题A. $personsB. TwoUsersC. pointD. thisE. _endline答案A,B,E分析Java的标识符可以以一个Unicode字符,下滑线_,美元符$开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字this保留字;2.哪些是将一个十六进制值赋值给一个long型变量单选题A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L答案 D分析十六进制数以0x开头,long型数以L大小写均可,一般使用大写,因为小写的l 和数字1不易区分;3.下面的哪些程序片断可能导致错误多选题A. String s = "Gone with the wind";String t = " good ";String k = s + t;B. String s = "Gone with the wind";String t;t = s3 + "one";C. String s = "Gone with the wind";String standard = s.toUpperCase;D. String s = "home directory";String t = s - "directory";答案B,D分析A:String类型可以直接使用+进行连接运算;B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误;C:toUpperCase方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果String类型;D:String类型不能进行减-运算,错误;4.point x处的哪些声明是句法上合法的多选题class Person {private int a;public int changeint m{ return m; }}public class Teacher extends Person {public int b;public static void mainString arg{Person p = new Person;Teacher t = new Teacher;int i;// point x}}A. i = m;B. i = b;C. i = p.a;D. i = p.change30;E. i = t.b.答案D,E分析A:m没有被声明过,不能使用;B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员;C:a是类Person的private成员,在类外不能直接引用;D:changeint m方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量;E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量;5.下面的代码片断多选题:1 public void create {2 Vector myVect;3 myVect = new Vector;4 }下面的哪些陈述正确A. 第二行的声明不会为变量myVect分配内存空间;B. 第二行的声明分配一个到Vector对象的引用的内存空间;C. 第二行语句创建一个Vector类对象;D. 第三行语句创建一个Vector类对象;E. 第三行语句为一个Vector类对象分配内存空间;答案A,D,E分析要为一个新对象分配空间必须执行new Xxx调用,new调用执行以下的操作:1.为新对象分配空间并将其成员初始化为0或者null;2.执行类体中的初始化;例如在类中有一个成员声明int a=10;在第一步后a=0 ,执行到第二步后a=103.执行构造函数;4.变量被分配为一个到内存堆中的新对象的引用;6.下面的哪些答案可以用以表示八进制值8 单选题A. 010B. 0x10C. 08D. 0x8答案 A分析八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7;1 class Person {2 public void printValueint i, int j {/…/ }3 public void printValueint i{/.../ }4 }5 public class Teacher extends Person {6 public void printValue {/.../ }7 public void printValueint i {/.../}8 public static void mainString args{9 Person t = new Teacher;10 t.printValue10;11 }12 }第十行的声明将调用哪些方法单选题A. on line 2B. on line 3C. on line 6D. on line 7答案 D分析变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象,如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print10将调用t实际指向的Teacher类的对应方法;在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例;7.给出下面的代码:单选题x的取值在什么范围内时将打印字符串"second";A. x > 0B. x > -3C. x <= -3D. x <= 0 & x > -3答案 D分析x>0时打印"first",x>-3&&x<=0时打印"second",x<=-3时打印"third";这个题目没有什么难的,只要理解if语句的语法就可以了;8.下面的哪些赋值语句是不正确的单选题A. float f = 11.1;B. double d = 5.3E12;C. double d = 3.14159;D. double d = 3.14D.答案 A题目:;浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要;9.给出下面的不完整的类代码: 单选题class Person {String name, department;int age;public PersonString n{ name = n; }public PersonString n, int a{ name = n; age = a; }public PersonString n, String d, int a {// doing the same as two arguments version of constructor// including assignment name=n,age=adepartment = d;}}下面的哪些表达式可以加到构造方法中的"doing the same as..."处A. Personn,a;B. thisPersonn,a;C. thisn,a;D. thisname,age.答案 C分析:在同一个类的不同构造方法中调用该类的其它构造方法需要使用this…的形式,而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数被调用前不能引用类的成员;构造方法是一个类对象实例化的起点虽然严格来说首先执行的并不是构造方法的第一个语句,而是内存的分配,因此在构造方法中不能将成员作为参数引用;10.public void test {// 多选题try {oneMethod;} catch ArrayIndexOutOfBoundsException e {} catchException e {} finally {}}在oneMethod方法运行正常的情况下将显示什么A. condition 1B. condition 2C. condition 3D. finally答案 ad分析:如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行;11.给出下面的代码:单选题public class Test {void printValueint m{while --m > 10}public static void mainString arg {int i=10;Test t= new Test;t.printValuei;}}输出将是什么A. The value is 8B. The value is 9C. The value is 10D. The value is 11答案:c此题考察的是do… while循环和 -- 操作符的知识,do…while最少被执行一次,在执行完do中的内容后判断while中的条件是否为true,如果为true的话就再执行do中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执行循环后面的内容,而—操作符的规则是在变量右边的-- 将先进行运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减一再运算;12.给出下面的代码:单选题1 public void modify {2 int i, j, k;3 i = 100;4 while i > 0 {5 j = i 2;7 k = k + 1;8 i--;9 }10 }哪些行在编译时可能产生错误;A. line 4B. line 6C. line 7D. line 8答案 c这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有;13.给出下面的代码片断:单选题1 String str = null;2 if str = null && str.length > 10 {34 }5 else if str = null & str.length < 5 {67 }哪些行将导致错误A. line 1B. line 2C. line 5D. line 8答案 c此题需要将代码仔细看清楚,查询没有逻辑错误,if …else的使用没有问题,也没有拼写错误,错误在于第5行的“与”操作符的使用,逻辑操作符logical operator的“与”应该是&&,而&是位逻辑操作符bitwise logical operator的“与”,使用的对象不一样,逻辑操作符的“与”的左右操作数都应该是布尔型logical boolan的值,而位逻辑操作符的左右操作数都是整型integral值;14.给出下面的代码:单选题public class Person{static int arr = new int10;public static void mainString a {}}那个叙述是对的;A. 编译时将发生错误;B. 编译时正确但是运行时出错;C. 输出为0;D. 输出为null答案 cint型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由于是原始数据类型int,其初始值为0;15.public class Parent {//多选题public int addValue int a, int b {int s;s = a+b;return s;}}class Child extends Parent {}哪些方法可以加入类Child中A. int addValue int a, int b {// do something...}B. public void addValue {// do something...}C. public int addValue int a {// do something...}D. public int addValue int a, int b throws MyException {//do something...}答案bc此题涉及方法重载overload,方法重写override以及类派生时方法重写的规则;方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个数相同则参数类型的不同不能引起歧意,例如int 和long,float和double就不能作为唯一的类型不同;二、返回值可以不同,但是不能是重载时唯一的不同点这点和c++中不同,c++中返回类型必须一致;方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低重写的另一个规则是重写的方法不能比被重写的方法抛弃throws更多种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类;此题中答案a的错误就是重写的访问权限比被重写的方法的低,而b,c都属于重载,d的错误在于比被重写的方法抛弃了更多种类的异常;16.共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100;使用一个短声明定义这个变量;单选题A. public int MAX_LENGTH=100;B. final int MAX_LENGTH=100;C. final public int MAX_LENGTH=100;D. public final int MAX_LENGTH=100;答案 dJava中共有变量使用public定义,常量变量使用final,另外注意的是修饰符的顺序,一个最完整的修饰是public static final int varial_a=100;这个顺序不能错,这和c++中也是不同的;而答案c恰恰错在修饰符的顺序上;17.下面的那个java源文件代码片断是对的多选题A. package testpackage;public class Test{//do something...}B. import java.io.;package testpackage;public class Test{// do something...}C. import java.io.;class Person{// do something...}public class Test{// do something...}D. import java.io.;import java.awt.;public class Test{// do something...}答案acdjava中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同;18.下面的哪些声明是合法的多选题A. long l = 4990;B. int i = 4L;C. float f = 1.1;D. double d = 34.4;E. double t = 0.9F.答案ade此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换int a=int123L;;19.如下描述:多选题public class Parent {int change {…}}class Child extends Parent {}哪些方法可被加入类ChildA. public int change{}B. int changint i{}C. private int change{}D. abstract int chang{}答案ab这个题目的问题在第35题中有详尽的叙述;需要注意的是答案D的内容,子类可以重写父类的方法并将之声明为抽象方法,但是这引发的问题是类必须声明为抽象类,否则编译不能通过,而且抽象方法不能有方法体,也就是方法声明后面不能带上那两个大括号{},这些D都不能满足;20.给出下面的代码:单选题1 class Parent {2 private String name;3 public Parent{}4 }5 public class Child extends Parent {6 private String department;7 public Child {}8 public String getValue{ return name; }9 public static void mainString arg {10 Parent p = new Parent;11 }12 }哪些行将导致错误A. line 3B. line 6C. line 7D. line 8E. line 10答案 d第8行的getValue试图访问父类的私有变量,错误,参看前面有关变量类型及其作用域的叙述21.变量"result"是一个boolean型的值,下面的哪些表达式是合法的多选题A. result = true;B. if result { // do something... }C. if result= 0 { // so something... }D. result = 1答案abJava的boolean不同于c或者c++中的布尔值,在java中boolean值就是boolean 值,不能将其它类型的值当作boolean处理;22.类Teacher和Student都是类Person的子类单选题Person p;Teacher t;Student s;P,t和s都是非空值;ift instanceof Person { s = Studentt; }这个if语句导致的结果是什么A. 将构造一个Student对象;B. 表达式合法;C. 编译时非法;D. 编译时合法而在运行时可能非法;答案 cinstanceof操作符的作用是判断一个变量是否是右操作数指出的类的一个对象,由于java语言的多态性使得可以用一个子类的实例赋值给一个父类的变量,而在一些情况下需要判断变量到底是一个什么类型的对象,这时就可以使用instanceof了;当左操作数是右操作数指出的类的实例或者是子类的实例时都返回真,如果是将一个子类的实例赋值给一个父类的变量,用instanceof判断该变量是否是子类的一个实例时也将返回真;此题中的if语句的判断没有问题,而且将返回真,但是后面的类型转换是非法的,因为t是一个Teacher对象,它不能被强制转换为一个Student对象,即使这两个类有共同的父类;如果是将t转换为一个Person对象则可以,而且不需要强制转换;这个错误在编译时就可以发现,因此编译不能通过;23.给出下面的类:单选题public class Sample{long length;public Samplelong l{ length = l; }public static void mainString arg{Sample s1, s2, s3;s1 = new Sample21L;s2 = new Sample21L;s3 = s2;long m = 21L;}}哪个表达式返回true;A. s1 == s2;B. s2 == s3;C. m == s1;D. s1.equalsm.答案 b前面已经叙述过==操作符和String的equals方法的特点,另外==操作符两边的操作数必须是同一类型的可以是父子类之间才能编译通过;24.给出下面有关List的表达式:多选题List l = new List6,true;哪些叙述是对的;A. 在没有其它的约束的条件下该列表将有6行可见;B. 一行的最大字符数是6C. 列表将允许用户多选;D. 列表只能有一项被选中;答案acList组件的该构造方法的第一个参数的意思是它的初始显式行数,如果该值为0则显示4行,第二个参数是指定该组件是否可以多选,如果值为true则是可以多选,如果不指定则缺省是不能多选;25.给出下面的代码:单选题class Person {String name,department;public void printValue{}}public class Teacher extends Person {int salary;public void printValue{// doing the same as in the parent method printValue// including print the value of name and department.}}下面的哪些表达式可以加入printValue方法的"doing the same as..."部分A. printValue;B. this.printValue;C. person.printValue;D. super.printValue.答案 d子类可以重写父类的方法,在子类的对应方法或其它方法中要调用被重写的方法需要在该方法前面加上”super.”进行调用,如果调用的是没有被重写的方法,则不需要加上super.进行调用,而直接写方法就可以;这里要指出的是java支持方法的递归调用,因此答案a和b在语法上是没有错误的,但是不符合题目代码中说明处的要求:即做和父类的方法中相同的事情打印名字和部门,严格来说也可以选a和b;26.给出下面的代码片断:多选题1 switchm2 {34 case 2:56 }m为哪些值将导致"default"输出A. 0B. 1C. 2D. 3答案cd此题考察switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte、short、char型的值,case中需要注意的是一个case后面一般要接一个break语句才能结束判断,否则将继续执行其它case而不进行任何判断,如果没有任何值符合case 列出的判断,则执行default的语句,default是可选的,可以没有,如果没有default而又没有任何值匹配case中列出的值则switch不执行任何语句;27.给出下面的不完整的方法:多选题12 { success = connect;3 if success==-1 {4 throw new TimedOutException;5 }6}TimedOutException 不是一个RuntimeException;下面的哪些声明可以被加入第一行完成此方法的声明;A. public void methodB. public void method throws ExceptionC. public void method throws TimedOutExceptionD. public void method throw TimedOutExceptionE. public throw TimedOutException void method答案b、c如果程序在运行的过程中抛出异常,而这个异常又不是RuntimeException或者Error,那么程序必须捕获这个异常进行处理或者声明抛弃throws该异常,捕获异常可以使用try{}catch{}语句,而抛弃异常在方法声明是声明,在方法的声明后面加上throws XxxxException,抛弃多个异常时在各异常间使用逗号,分隔,题目中的程序在运行时抛出的不是一个RuntimeException,所有必须捕获或者抛弃,而程序又没有捕获,所有应该在方法声明中声明抛弃;由于Exception是所有异常的父类,所有当然也可以代表RuntimeException了;28.下面的哪些答案可以正确表示一个十六进制数字10 单选题A. 0xAB. 0x16C. 0AD. 016答案 a十六进制数以0x开头,以0开头的是八进制数;十六进制表示中的a,b,c,d,e,f依次为10,11,12,13,14,15;29.给出下面的代码:单选题1 public class Test {2} int m, n;3} public Test {}4} public Testint a { m=a; }5} public static void mainString arg {6} Test t1,t2;7} int j,k;8} j=0; k=0;9} t1=new Test;10} t2=new Testj,k;11} }12} }在编译时哪行将导致一个错误A. line 3B. line 5C. line 6D. line 10答案 d第10行的声明调用一个带两个参数的Test的构造方法,而该类没有这样的构造方法;二、简答题1.读如下程序,说出结果,并说明得出结果原因10分;public class BreakContinue {public static void mainString args {for int i = 0; i < 10; i++ {ifi == 3 || i == 5 {continue;}for int j = 0; j < i; ++j {if i + j > 5 {break;}}if i == 6 {break;}}}}答案:1,2,3,4,52.读程序,说出j值,并说明得出结果原因10分;public class Test {private static int j = 0;public static void mainString args {methodA0;}private static boolean methodBint k{j += k;return true;}public static void methodAint i {boolean b;b = i < 10 | methodB4;b = i < 10 || methodB8; // 此处短路method不进行计算}}答案:4三、编程题1.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母20分;答案:1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母; importpublic class Ex26 {public static void mainString args{//保存用户输入的第二个字母char weekSecond;//将Scanner类示例化为input对象,用于接收用户输入Scanner input = new ScannerSystem.in;//开始提示并接收用户控制台输入System.out.print"请输入星期值英文的第一个字母,我来帮您判断是星期几:";String letter = input.next;//判断用户控制台输入字符串长度是否是一个字母if letter.length == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入char weekFirst = letter.charAt0;switch weekFirst{case'm'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'M':System.out.println"星期一Monday";break;case't'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'T':System.out.print"由于星期二Tuesday与星期四Thursday均以字母T开头,故需输入第二个字母才能正确判断:";letter = input.next;//判断用户控制台输入字符串长度是否是一个字母if letter.length == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入weekSecond = letter.charAt0;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能if weekSecond == 'U' || weekSecond == 'u'{System.out.println"星期二Tuesday";break;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能} else if weekSecond == 'H' || weekSecond == 'h'{System.out.println"星期四Thursday";break;//控制台错误提示} else{System.out.println"输入错误,不能识别的星期值第二个字母,程序结束";break;}} else {//控制台错误提示System.out.println"输入错误,只能输入一个字母,程序结束";break;}case'w'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'W':System.out.println"星期三Wednesday";break;case'f'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'F':System.out.println"星期五Friday";break;case's'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'S':System.out.print"由于星期六Saturday与星期日Sunday均以字母S开头,故需输入第二个字母才能正确判断:";letter = input.next;//判断用户控制台输入字符串长度是否是一个字母if letter.length == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入weekSecond = letter.charAt0;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能if weekSecond == 'A' || weekSecond == 'a'{System.out.println"星期六Saturday";break;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能} else if weekSecond == 'U' || weekSecond == 'u'{System.out.println"星期日Sunday";break;//控制台错误提示} else{System.out.println"输入错误,不能识别的星期值第二个字母,程序结束";break;}} else{//控制台错误提示System.out.println"输入错误,只能输入一个字母,程序结束";break;}default://控制台错误提示System.out.println"输入错误,不能识别的星期值第一个字母,程序结束";break;}} else{//控制台错误提示System.out.println"输入错误,只能输入一个字母,程序结束"; }}}。
java基础试题
java基础试题一、选择题1. Java中用于创建新对象的关键字是()。
A. newB. thisC. classD. public2. 下列哪个选项是Java语言的特性?A. 多态B. 静态类型C. 自动内存管理D. 所有以上选项3. 在Java中,如果需要导入多个包,可以使用以下哪种方式?A. 每行导入一个包B. 用逗号分隔多个包C. 用分号分隔多个包D. 用括号包含多个包4. 下列关于Java异常处理的描述,哪项是正确的?A. try块可以单独存在,不一定要伴随catch块B. catch块可以捕获多种类型的异常C. finally块必须跟在catch块之后D. throw语句用于声明自定义异常5. 在Java中,下列哪个类是所有其他类的父类?A. ObjectB. SystemC. StringD. Math二、填空题1. 在Java中,每个类可以定义一个特殊的方法,该方法的名称是________,当创建类的新对象时会自动调用。
2. 如果需要在Java程序中处理用户输入,可以使用________类。
3. Java中的垃圾回收机制是自动的,这意味着程序员不需要显式地________内存。
4. 为了在Java中实现多线程编程,可以使用关键字________来定义一个线程。
5. 在Java中,所有的类都是定义在某个________文件中。
三、判断题1. Java中的接口可以包含具体的方法实现。
()2. 所有的Java类都是继承自ng.Object类的。
()3. 在Java中,如果一个类没有显式地指定构造方法,编译器会提供一个默认的无参构造方法。
()4. 所有的Java异常都是继承自ng.Exception类的。
()5. 在Java中,final关键字可以用来修饰方法,使其不能被重写。
()四、简答题1. 请简述Java中的封装性,并给出一个示例。
2. 解释什么是Java的继承,以及它的好处。
3. 请描述Java中的多态性,并给出一个实际应用的例子。
java基础入门考试题目及答案
java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
答案:main3. 在Java中,所有的类都是_________类的子类。
答案:Object4. Java中,用于声明一个私有方法的关键字是_________。
大学java基础考试试题及答案
大学java基础考试试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于声明一个类?A. publicB. classC. interfaceD. abstract答案:B2. 在Java中,以下哪个选项是正确的字符串声明?A. String s = "Hello";B. String s = 'Hello';C. String s = "Hello", "World";D. String s = 'Hello', 'World';答案:A3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B4. 在Java中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable$答案:C5. Java中,以下哪个选项是正确的继承关系?A. public class B extends AB. public class B implements AC. public class B extends interface AD. public class B implements interface A答案:A6. 以下哪个Java关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B7. 在Java中,以下哪个选项是正确的方法定义?A. public void myMethod();B. public void myMethod(int x);C. public void myMethod() {}D. public void myMethod(int x) {}答案:D8. Java中,以下哪个关键字用于定义包?A. packageB. importC. classD. interface答案:A9. 在Java中,以下哪个选项是正确的数组声明?A. int[] myArray = new int[10];B. int[] myArray = new int(10);C. int myArray[] = new int[10];D. int[] myArray = new int{10};答案:A10. Java中,以下哪个关键字用于实现多线程?A. threadB. synchronizedC. implementsD. extends答案:D二、填空题(每题2分,共20分)1. 在Java中,________关键字用于定义一个方法。
java基础测试题及答案
一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符( C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:(B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态C.类、封装 D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么? ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C.2, 1 D.2, 25、下面哪条语句把方法声明为抽象的公共方法?(B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的?( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( B )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JA V A”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.s.indexOf(‘V’);D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
java编程基础考试题
java编程基础考试题一、选择题(每题2分,共20分)在Java中,哪个关键字用于声明一个类?A. classB. structC. typeD. object下列哪个是Java中的基本数据类型?A. StringB. intC. ArrayListD. Scanner下列关于Java中变量命名的说法,哪个是正确的?A. 变量名必须以数字开头B. 变量名可以使用空格C. 变量名区分大小写D. 变量名不能使用下划线在Java中,以下哪个是有效的注释方式?A. // 这是一个单行注释B. /* 这是一个多行注释 /C. / 这是一个单行注释D. // 这是一个多行注释下列哪个选项可以正确地声明一个整型数组并初始化?A. int[] myArray = new int[5] {1, 2, 3, 4, 5};B. int[] myArray = {1, 2, 3, 4, 5};C. int myArray[] = new int[5] {1, 2, 3, 4, 5};D. int myArray = {1, 2, 3, 4, 5};在Java中,哪个关键字用于表示方法返回值的类型?A. voidB. returnC. typeD. returnType下列哪个是Java中的条件语句?A. forB. ifC. whileD. switch下列关于Java中System.out.println()方法的说法,哪个是正确的?A. 它用于从控制台读取输入B. 它用于在控制台输出文本C. 它用于在控制台显示错误消息D. 它用于在控制台显示警告消息在Java中,String类型的数据以下列哪种方式声明?A. string myString = "Hello";B. String myString = new String("Hello");C. string myString = new String("Hello");D. String = "Hello";下列关于Java中静态方法(static method)的说法,哪个是正确的?A. 静态方法只能访问静态变量B. 静态方法不能被实例对象调用C. 静态方法不能包含非静态方法D. 静态方法只能在类加载时被调用一次二、填空题(每题2分,共10分)在Java中,一个类通常包含_______、字段(属性)和方法。
java笔试——选择题
Java基础笔试题一.选择题(共50题,每题2分,共100分。
多选题选不全或选错都不得分。
) 1.以下属于面向对象的特征的是(C,D)。
(两项)A) 重载B) 重写C) 封装D) 继承2.以下代码运行输出是(C)public class Person{ private String name=”Person”;int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(); } } A) 输出:Person B) 没有输出C) 编译出错D) 运行出错解答:子类不能访问父类私有成员3.在使用super 和this关键字时,以下描述正确的是(A)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是(A)A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是(D)class Person{ public Person(){ System.out.println(“this is a Person”);} } public class Teacher extends Person{ private String name=”tom”;public Teacher(){ System.out.println(“this is a teacher”); super(); } public static void main(String[] args){ Teacher teacher = new Teacher(); System.out.println(); } } A) this is a Person this is a teacher tom B) this is a teacher this is a Person tom C) 运行出错 D) 编译有两处错误7. 以下说法错误的是(D )A) super.方法()可以调用父类的所有非私有方法方法()可以调用父类的所有非私有方法 B) super()可以调用父类的所有非私有构造函数 C) super.属性可以调用父类的所有非私有属性属性可以调用父类的所有非私有属性 D) this 和super 关键字可以出现在同一个构造函数中8. 以下关于final 关键字说法错误的是(A,C )(两项)A) final 是java 中的修饰符,可以修饰类、接口、抽象类、方法和属性 B) final 修饰的类肯定不能被继承 C) final 修饰的方法不能被重载 D) final 修饰的变量不允许被再次赋值9. 访问修饰符作用范围由大到小是(D )A) private-default-protected-public B) public-default-protected-private C) private-protected-default-public D) public-protected-default-private 10. 以下(D )不是Object 类的方法A) clone () B) finalize () C) toString () D) hasNext ()11. 多态的表现形式有(A )A) 重写 B) 抽象 C) 继承 D) 封装12. 以下对重载描述错误的是(B ) A) 方法重载只能发生在一个类的内部 B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件13.以下(D)添加到ComputerBook中不会出错class Book{ protected int getPrice(){ return 30; } } public class ComputerBook extends Book{ } A) protected float getPrice(){} B) protected int getPrice(int page){} C) int getPrice(){} D) public int getPrice(){return 10;} 14.以下对抽象类的描述正确的是(C)A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有(D)A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16.以下代码,描述正确的有(A)interface IDemo{ public static final String name;1 void print();2 public void getInfo();3 } abstract class Person implements IDemo{4 public void print(){ } } A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现17.接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18.以下描述错误的有(C)A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20.以下程序运行结果是(A)public class Test extends Father{ private String name=”test”;public static void main(String[] args){ Test test = new Test(); System.out.println(test.getName()); } } class Father{ private String name=”father”;public String getName() { return name; } } A) father B) test C) 编译出错D) 运行出错,无输出21.以下对异常的描述不正确的有(C)A) 异常分为Error和Exception B) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException 之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)A) catch B) try C) throws D) throw 23.下面代码运行结果是(B)public class Demo{ public int add(int a,int b){ try{ return a+b; }catch(Exception e){ System.out.println(“catch 语句块”);}finally{ System.out.println(“finally 语句块”);} return 0; } public static void main(String[] args){ Demo demo = new Demo(); System.out.println(“和是:”+demo.add(9,34));} } A) 编译异常B) finally语句块和是:43 C) 和是:43 finally语句块D) catch语句块和是:43 24.以下描述不正确的有(D)A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25.以下对自定义异常描述正确的是(C)A) 自定义异常必须继承Exception B) 自定义异常可以继承自Error C) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是(D)public class Test { public int div(int a, int b) { try { return a / b; }catch(Exception e){ System.out.println(“Exception”);}catch(NullPointerException e){ System.out.println(“ArithmeticException”);} catch (ArithmeticException e) { System.out.println(“ArithmeticException”);} finally { System.out.println(“finally”);} return 0; } public static void main(String[] args) { Test demo = new Test(); System.out.println(“商是:” + demo.div(9, 0));} } 商是:0 B) ArithmeticException finally 商是:0 A) Exception finally 商是:C) finally商是:0 D) 编译报错27. 以下对TCP和UDP描述正确的是(D)A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDP D) UDP数据传输效率高于TCP 28. 在Java中,下面对于构造函数的描述正确的是(D)。
Java基础测试题
Java基础测试题⼀、选择题1.下⾯哪些是合法的变量名? ( DEG )A.2variableB. .variable2C. ._whatavariableD._3_E.$anothervarF.#myvarG. $_¥2.请问 “abcd” instanceof Object返回的值是? ( B )A. “abcd”B. trueC. falseD. String3.下⾯有关⽅法覆盖说法不正确的是:( B )A. ⽅法覆盖要求覆盖和被覆盖的⽅法有相同的名字,参数列以及返回值B. ⽅法覆盖要求覆盖和被覆盖的⽅法必须具有相同的访问权限;C. 覆盖的⽅法不能⽐被覆盖的⽅法抛出更多的异常D. 覆盖的⽅法⼀定不能是private的4. 下⾯代码段中:( A )String String=”String”;System.out.println(String);A. StringB. 不知道C. 编译出错D. 运⾏出错5. 下⾯哪种是正确的创建Map集合的⽅式:( D )A. Map m=new Map();B. Map m=new Map(init capacity, increment capacity);C. Map m=new Map(new Collection());D. Map是接⼝,所以不能实例化。
6.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A )A.可以被三种类所引⽤:该类⾃⾝、与它在同⼀个包中的其他类、在其他包中的该类的⼦类B. 可以被两种类访问和引⽤:该类本⾝、该类的所有⼦类C. 只能被该类⾃⾝所访问和修改D.只能被同⼀个包中的类访问7.下列有关继承的说法。
正确的是:(B )A. ⼦类能继承⽗类的所有⽅法和属性;B. ⼦类能继承⽗类的⾮私有⽅法和属性C. ⼦类只能继承⽗类public⽅法和属性D. ⼦类能继承⽗类的⽅法,⽽不是属性。
8.对于构造⽅法,下列叙述正确的是:(AC )A. 构造⽅法的⽅法名必须与类名相同;B. 构造⽅法必须⽤void申明返回类型C. 构造⽅法可以被程序调⽤D. 若编程⼈员没再类中定义构造⽅法,程序将报错。
java基础考试试题及答案
java基础考试试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪一类编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个是Java的关键字?A. classB. functionC. defineD. include答案:A3. Java中,哪个关键字用于定义一个类?A. classB. structC. typeD. interface答案:A4. Java中的main方法必须定义为:A. public static void main(String args[])B. private static void main(String[] args)C. public static void main(String[] args)D. public void main(String args[])答案:A5. 以下哪个是Java的合法标识符?A. 2variableB. variable2C. variable#2D. variable-2答案:B6. Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. super答案:A7. Java中,哪个关键字用于实现多态?A. overloadB. overrideC. polymorphD. overloading答案:B8. Java中,哪个关键字用于定义接口?A. classB. structC. interfaceD. package答案:C9. Java中,哪个关键字用于定义包?A. packageB. classC. importD. export答案:A10. Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. all of the above答案:D二、填空题(每空2分,共20分)1. Java是一种________面向对象的编程语言。
java基础测试题(选择题)
1.单项选择题1.作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[])2.下面命令正确的是()A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3、Java程序的最基本组成单位是( )。
A.函数B.过程C.变量D.类4. main()方法的返回值类型是()。
A.boolean B.int C. void D.static5. 下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for6.下面这些标识符哪个是错误的()A.Javaworld B._sum C.2Java Program D.$abc7、下面哪个赋值语句不会产生编译错误()A.char a=’abc’; B.byte b=152; C.float c=2.0; D.double d=2.0;8.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是。
A、int类型B、double类型C、float类型D、long类型9、对下面的语句执行完后正确的说法是:()int c=’c’/3;System.out.println(c);A.输出结果为21 B.输出结果为22 C.输出结果为32 D.输出结果为3310、设有定义int a=12;则执行a*=12;语句后,a的值为:()。
A.144 B.12 C.24 D.011.有一个类A,对于其构造方法的声明正确的是()。
A.void A(int x){…} B.public A(int x){…}C.A A(int x){…} D.int A(int x){…}12. 方法的形参()。
java基础知识测试题
java基础知识测试题# Java 基础知识测试题## 一、选择题(每题2分,共20分)1. Java语言的特点是:- A. 面向过程- B. 面向对象- C. 编译型语言- D. 解释型语言2. 下列哪个不是Java的基本数据类型?- A. int- B. double- C. String- D. boolean3. Java程序的入口方法是:- A. main()- B. start()- C. run()- D. execute()4. 以下哪个是Java的关键字?- A. class- B. method- C. function- D. variable5. 以下哪个不是Java的控制流程语句?- A. if- B. switch- C. for- D. goto6. 哪个是Java的集合框架中最基本的接口? - A. List- B. Set- C. Map- D. Collection7. Java中,哪个类是所有类的父类?- A. Object- B. Class- C. System- D. String8. 以下哪个是Java的异常处理关键字?- A. try- B. catch- C. throw- D. All of the above9. Java中,哪个关键字用于定义接口?- A. class- B. interface- C. package- D. import10. 以下哪个不是Java的访问控制修饰符?- A. public- B. protected- C. private- D. global## 二、填空题(每空2分,共20分)1. Java语言的跨平台特性主要依赖于______。
2. 在Java中,所有的方法都必须在______中定义。
3. Java的异常分为两类:编译时异常和______。
4. Java中的______关键字用于实现多重继承的功能。
java基础考试题
java基础考试题一、选择题1. 在Java中,以下关键字用于声明一个类的是:A. classB. objectC. variableD. method2. 下列哪个选项是合法的Java标识符:A. 123identifierB. _identifierC. identifier$D. identifier+3. 下列哪个选项是Java的基本数据类型:A. StringB. IntegerC. DoubleD. Boolean4. 在Java中,以下哪个关键字用于定义一个常量:A. staticB. finalC. abstractD. void5. 下列哪个选项是Java中的循环结构:A. if-elseB. for-eachC. switch-caseD. try-catch二、填空题6. Java中的随机数生成器类是______。
7. 下划线 "_"是Java 8中引入的一个新特性,主要用于______。
8. 在Java中,通过使用______关键字,可以终止当前循环执行。
9. 在Java中,______关键字用于声明一个方法,该方法不返回任何值。
三、简答题10. Java是平台无关的编程语言,请说明这句话的含义。
四、编程题编写一个Java程序,实现以下功能:- 定义一个叫做Rectangle的类,包含属性:长(length)和宽(width),还包含计算矩形面积的方法。
- 在主函数中,创建一个Rectangle对象,并设置其长和宽为5和3。
然后调用计算面积的方法,并将结果打印输出。
以上是关于Java基础考试题的内容。
希望对你有所帮助!。
java基础测试题及答案
一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符(C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:(B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息B.继承、多态C.类、封装D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么? ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C.2, 1 D.2, 25、下面哪条语句把方法声明为抽象的公共方法?(B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的?( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( B )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.s.indexOf(‘V’); D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
JAVA试题和答案(50道选择题)
JAVA语言基础内部测试题选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
)(每题2分)没有注明选择几项的,只选择一项1、JAVA所定义的版本中不包括:()A、J AVA2 EEB、JAVA2 CardC、J AVA2 MED、JAVA2 HEE、JAVA2 SE2、下列说法正确的是()A、J AVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、J AVA程序中类名必须与文件名一样D、JAVA程序的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、0B、1C、2D、34、变量命名规范说法正确的是()A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;5、下列javaDoc注释正确的是()A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/6、为一个boolean类型变量赋值时,可以使用( )方式A、b oolean = 1;B、boolean a = (9 >= 10);C、b oolean a="真";D、boolean a = = false;7、以下( )不是合法的标识符A、S TRINGB、x3x;C、v oidD、de$f8、表达式(11+3*8)/4%3的值是( )A、31B、0C、1D、29、()表达式不可以作为循环条件A、i++;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);}}A.666B.667D.67612、下列值不为true的表达式有()。
JAVA基础知识考核(含答案)
JAVA基础知识考核题班级:姓名:成绩:一、选择题(80分,每题2分)1.J ava编译器的命令是( D )A.javaB. appletviewerC. jdbD. javac2. Java解释器的命令是( A )A.javaB. appletviewerC. jdbD. javac3. Java开发人员使用的开发工具包是( C )A.JVMB. JREC. JDKD. Eclipse4. 下列说法正确的是( B )A. 使用Java语言开发的程序可以在任何平台下运行,且不需要JREB. 使用Java语言开发的程序可以在任何平台下运行,但需要JREC. Java虚拟机是独立的,JDK中不包含虚拟机D. Java语言编译后是字节码文件,操作系统可直接执行5. 下列全部是合法的Java标识符的是( B )A. 09stu teacher $moneyB _salary post123 nameC case abstract finalD #ID list today6. 程序中有如下语句final float PI = 3.14f;下列说法正确的是( C )A PI 是一个变量,初始化的值是3.14.B 定义有错误,PI 是float类型3.14后不能加fC PI 是一个常量,其值是3.14D 对PI可以重新赋值,如PI = 3.1415926;7 下列初始化值正确的是(B )A float score = 90.5;B boolean flag = false;C char name = "张三";D boolean num = 1;8. 有如下代码class ScopeV ar {public static void main(String [ ] args) {int num = 10;if ( num = = 10) {int num1 = num * num;}num1 = num1+10;System.out.println(num1);}}输出正确的是( D )A 110B 20C 不确定D 程序错误9. 下面对Scanner 描述正确的是( C )A Scanner类提供输入数据的方法,但只能输入字符串B Scanner的使用方法:Scanner.next();C 使用Scanner需要导入java.util.Scanner类D 从键盘读取一个整数的方法Scanner sc = new Scanner();int num = sc.nextInt();10. 有String str1="hello"; int num=100;则对str1+100 说法正确的是( A )A str1+100 的值是一个字符串hello100B str1+100会产生语法错误,字符串不能和整数相加C str1+100不会产生语法错误,最终的结果是100,str1的值被忽略掉D str1+100不会产生语法错误,最终的结果是hello,100被忽略掉11. 哪种方法返回String中的字符数( B )A. size()B. length()C.width()D.girth()12. 下面创建数组正确的是BA int[] int_array = int[10];B int[] int_array = new int[10];C int[] int_array = new int(10);D int[] int_array = new int{10};13. 研究下面的Java代码:switch(x){case 1:System.out.println(1);case 2:case 3:System.out.println(3);case 4:System.out.println(4);}当x=2时,运行结果是(C)A 没有输出任何结果B 输出结果为3C 输出结果为3和4D 输出结果为1、3和414. 给定一个Java程序的代码片段,如下if(grade==’A’||grade==’B’)score = 90;else if(grade ==’C’||grade = ‘D’)score = 70;elsescore = 60;把这段代码转换为switch语句,以下正确的是:( D )A switch(grade){case ‘A’:case ‘B’:score = 90;case ‘C’:case ‘D’ score = 70;default:score = 60;}B switch(grade){case ‘A’:break;case ‘B’:score = 90;case ‘C’:break;case ‘D’ score = 70;Default:score = 60; break;}C switch(grade){case ‘B’:score = 90;break;case ‘D’ score = 70;break;default:score = 60; break;}D switch(grade){case ‘A’:case ‘B’:score = 90; break;case ‘C’:case ‘D’ score = 70; break;Default:score = 60; break;}15 .阅读以下代码import java.util.Scanner;public class Test{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println(“请输入买包子所用的钱的数目”)double money = sc.nextDouble();int count = buy(money);System.out.println(“可买包子的数目为:”+count);}public static int buy(double money){int count = (int) (money/0.4);return count;}}描述正确的是(A )A 如果输入5,输出是:可买包子的数目为:12B 如果输入5,输出是: 可买包子的数目为:5C 如果输入5,输出是:可买包子的数目为:12.5D 程序错误,没有输出16. 在Java中,下列代码运行的结果是( C )public static void main(String[] args){ int a=1, b=2, c=3;if (a<0)if (b<0)c=10;elsec=20;System.out.println(c);}A、输出:10B、输出:20C、输出:3D、编译报错17. 分析下面的Java代码片段,编译运行后的输出结果是(D )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习01:请问,以下哪些是合法的变量名?请选择一个正确答案:(1)_int(2)$marie(3)Integer(4)2much(5)选项(1)、(2)、(3)均正确答(5)练习02:请问,以下哪些是JA V A应用的入口程序main()的方法正确语法形式?请选择一个正确答案:(1)p ublic static void main(Sting[]args)(2)s tatic public void main(String[]args)(3)p ublic void main(String args[])(4)选项(1)、(2)均正确(5)选项(1)、(2)、(3)均正确。
答(4)练习03:请问,以下哪些是初始化数组的正确语法形式?请选择一个正确答案:(1)i nt x[]={1,2,3};(2)i nt x[3]={1,2,3};(3)i nt[]x={0,0,0};(4)c har[]x={‘a’,’b’};(5)选项(1),(3),(4)均正确。
答(5)练习04:请问,以下哪些是字节型数据的的取值范围?请选择一个正确答案:(1)0,+255(2)-127..+128(3)-128..+127(4)0..65535(5)-32767..+32768答(3)练习05:请问,以下哪些描述是正确的?请选择一个正确答案:(1)int是32位的带符号型整型值。
(2)short型是16位的带符号整形值。
(3)char型是16位的Unicode编码字符。
(4)float型是64位的浮点值。
(5)选项(1),(2),(3)均正确。
答(5)练习06:请问,以下哪些是逻辑短路运算符?请选择一个正确答案:(1)&(2)&&(3)|(4)||(5)选项(2),(4)均正确。
答(5)练习07:请问,以下哪些语句无编译错误?请选择一个正确答案:(1)i nt testValue=0x5;(2)i nt testValue=(int)(2.1F+3.4D);(3)i nt testValue=(0x0A>>1);(4)i nt testValauc=(0x0A>>>1);(5)以上选项均正确。
答(5)练习08:请问,现有一组int MyArray[]={1,2,3},以下哪些语句用于获取该数组的元素个数?请选择一个正确答案:(1)M yArray.size;(2)M yArray.siae();(3)M yArray.length;(4)M yArray.length();(5)M yArray.getSize();答(3)练习09:请问,以下哪些语句用于声明一个二维数组?(1)i nt a[][]=new int[10,10];(2)i nt a[][]=new int [10][10];(3)i nt a[10,10]=new int[10][10];(4)i nt [][]a=new int [10][10];(5)选项(2)、(4)均正确。
答(5)练习10:请问,如何强制垃圾回收器回收一个对象?请选择一个正确答案:(1)调用System.gc()方法(2)调用Runtime.gc()方法(3)将对象赋值null。
(4)无法强制垃圾回收器执行。
答(4)练习11:请问,带符号基本数据类型的正确取值范围和负数绝对取值范围是否相等?请选择一个正确答案:(1)相等。
(2)不相等。
答(2)练习12:请问,以下哪些是JA V A中合法的标识符?箐选择所有正确答案:(1)B ig()1LongStringWithMeaniglessName(2)S int(3)b ytes(4)$1(5)f inalist答(1)(2)(3)(4)(5)练习13:请问,以下哪些是应用程序的入口程序main()方法的正确语法形式?请选择所有正确答案:(1)p ublic static void main()(2)p ublic static void main(String arg[])(3)p ublic void main(String[]arg)(4)p ublic static void main(String[]args)(5)p ublic static int main(String[]arg)答(2)(4)练习14:请问,以下哪些Java源文件中顶层元素出现次序?请选择一个正确答案:(1)i mport,package,class.(2)c lasse import,package.(3)p ackage语句必须位于最前面,import语句和class声明之间无次序要求。
(4)p ackage,import,class(5)i mport语句必须位于最前面,package语句和class声明之间无次序要求。
答(4)练习15:请问,执行int[]x=new int[25];语句后,以下哪些选项正确?请选择所有正确答案:(1)x[24]值等于0。
(2)x[24]值未确定。
(3)x[25]值等于0(4)x[25]值等于null。
(5)x.length值等于25。
答(1)(5)练习16:给出以下代码,请问该程序的运行结果是什么?1.chass Check{2.public static void main(String args[]){3.Holder h=new Holder();4.h.held=100;5.h.bump(h);6.System.out.println(h.held);7.}8.}.9..10.c lass Holder{11.p ublic int held;12.t heHolder.held++;}13.}14.}请选择一个正确答案:(1)打印输出0(2)打印输出1(3)打印输出100(4)打印输出101答(4)练习17:给以下代码,请问该程序的运行结果是什么?class Check{public static void main(String args[]){double d =12.3;Decrementer dec =new Decrementer();dec.decrement(d);System.out.println(d);}}class Decrementer{public void decrement(double decMe){decMe=decMe-1.0;}}请选择一个正确答案:(1)打印输出0。
0(2)打印输出-1。
0(3)打印输出12。
3(4)打印输出11。
3答(3)练习18:请问,如何强制垃圾回收器回收一个对象?请选择一个正确答案:(1)无法强制垃圾回收器执行。
(2)调用System.gc()方法。
(3)调用System.gc()方法。
(4)调用Runtime.gc()方法。
(5)将对象赋值null.答(1)练习19:请问,以下哪些是短型数据的取值范围?请选择一个正确答案:(1)取决于硬件环境:(2)0..215-1(3)0..232-1(4)-(215)..215-1(5)-231..231-1答(4)练习20:请问,以下哪些是byte型数据的取值范围?请选择一个正确答案:(1)取决于硬件环境。
(2)0..28-1(3)0..215-1(4)-27..27-1(5)-215..215-1答(4)练习21:给出以下代码,请问该程序的运行结果是什么?class Check{Public static void main(String args[]){Int x,a=6,b=7;X=a++ +b++;System.out.print(“x=”+x);System.out.print(“,a=”+a);System.out.print(“,b=”+b);}}请选择一个正确答案:(1)打印输出x=15,a=7,b=8(2)打印输出x=15,a=6,b=7(3)打印输出x=13,a=7,b=8(4)打印输出x=13,a=6,b=7答(3)练习22:请问,以下哪些表达式的结果是合法的?请选择所有正确答案:(1)i nt x=6;x=!x(2)i nt x=6;if(!(x>3)){}(3)i nt x=6;x=~x;答(2)(3)练习23:请问,以下哪些表达式的结果是一个整数值?请选择所有正确答案:(1)i nt x=-1;x=x>>>5;(2)i nt x=-1;x=x>>>32;(3)b yte x=-1;x=x>>>5;(4)i nt x=-1;x=x>>>5;答(1)练习24:请问,以下哪些表达式是合法的?请选择正确答案:(1)S tring x=”Hello”;int y=9;x+=y;(2)S tring x=”Hello”;int y=9;if(x==y){}(3)S tring x=”Hello”;int y=9;x=x+y(4)S tring x=”Hello”;int y=9;y=y+x(5)S tringx=null;inty=(x!=null)&&(x.length()>0)?x.length():0;答(1)(3)(5)练习25:请问,以下哪些代码可编译通过且可以打印输出Equal?请选择所有正确答案:(1)class Check{public static void main(String args[]){int x=100;float y=100.0F;if(x==y){System.out.println(“Equal”);}}(2)class Check{public static void main(String args[]){int x=100;Integer y=new Integer(100);if(x==y){System.out.println(“Equal”); }}(3)class Check{public static void main(String args[]){ Integer x=new Integer(100);Integer y=new Integer(100);if(x==y){System.out.println(“Epual”);}}}(4)class Check{public static void main(String args[]){ String x=new String(“100”);String y=new String(“100”);If(x=y){System.out.println(“Equal”);}}}(5)class Check{public static viod main(String atgs[]){String x=new String(“100”);String y=new String(“100”);If(x==y)System.out.println(“Equal”);}}}答(1)(5)练习26:给出以下代码,请问该程序运行的结果是什么?1.public class Check{2. public static viod main(String atgs[]){3.StingBuffer s=new StringBuffer(“Hello”);4.if((s.length)>5)&&5.(s.append(“there”).equals(“False”)));6.//do nothing7.System.out.println(“value”+s)8.}9.}请选择一个正确的答案:(1)打印输出value is Hello(2)打印输出value is Hello there(3)4、5行代码编译错误。