我的java基础题和答案详解
java基础50道经典练习题及答案
java基础50道经典练习题及答案《Java基础50道经典练习题及答案》Java作为一种广泛应用于软件开发的编程语言,对于初学者来说,掌握其基础知识是非常重要的。
为了帮助大家更好地学习和掌握Java基础知识,我们整理了50道经典的练习题及答案,希望能够帮助大家更好地理解和掌握Java编程。
1. 请写出Java中的8种基本数据类型。
2. 什么是Java中的包(package)?3. Java中的“==”和“equals()”有什么区别?4. 什么是Java中的多态(polymorphism)?5. 请写出Java中的四种访问修饰符及其作用。
6. 什么是Java中的接口(interface)?7. 请写出Java中的四种循环语句。
8. 什么是Java中的异常处理(exception handling)?9. Java中的“String”和“StringBuffer”有什么区别?10. 请写出Java中的三种注释方式。
这些练习题涵盖了Java基础知识的各个方面,包括数据类型、包、运算符、多态、访问修饰符、接口、循环语句、异常处理、字符串处理等内容。
通过做这些练习题,可以帮助大家更好地理解和掌握Java编程的基础知识。
在学习Java编程的过程中,不仅要掌握理论知识,还要多做练习,多动手实践。
只有通过实际操作,才能更好地理解和掌握Java编程的各种知识点。
希望大家能够认真对待这些练习题,多加练习,相信一定能够取得不错的成绩。
最后,希望大家在学习Java编程的过程中,保持耐心和坚持,相信通过不懈的努力,一定能够掌握好Java编程的基础知识,成为一名优秀的Java程序员。
祝大家学习进步,早日掌握Java编程!。
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基础练习题 附答案
11)以下程序的输出结果为
publicclasstest{
publicstaticvoidmain(Stringagrs[]){
charc1=’B’,c2=’C’;
if(c1+1<c2)++c1;
}
}
A.BB.bC.CD.c
12)假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
}
}
A.0B.1 C.5D.4E.24
2)设有如下类
classLoop{
publicstaticvoidmain(String[]agrs){
intx=0;inty=0;
outer:
for(x=0;x<100;x++){
middle:
for(y=0;y<100;y++){
y="+y);
if(y==10){<<<insertcode>>>}
B.第9行出现运行错误;
C.输出True
D.输出False
8)以下程序的编译和运行结果为?
classtest{
staticbooleancheck;
publicstaticvoidmain(Stringargs[]){
inti;
if(check==true)
i=1;
else
i=2;
if(i=2)i=i+2;
E.publicstaticbooleanmain(Stringa[]);
2)编译和运行以下代码的结果为:
publicclassMyMain{
java基础(附答案)
java基础(附答案)JAVA程序设计基础考试试题1、下面()是合法的Java变量名。
(多选)A _myStringB $a+bC myStringD String2、阅读下列代码,i值为()时输出结果中不包括―Test2‖。
(单选)switch(i){default: System.out.println("无匹配");case 1:System.out.println("Test1");case 2:case 3:System.out.println("Test2");break;case 4:System.out.println("Test3");break;}A. 0B. 1C. 2D. 3E. 43、下面哪些是短整型short的取值范围:A.-27——27-1B.0 ——215C.–215—— 215-1D.–231——231-14、Main()方法的返回类型是:A intB voidC booleanD static5、指出正确的表达式A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;6、假设val是整型变量,下面()说法不正确。
(单选)if(val > 4){System.out.println("T est A");}else if(val > 9){System.out.println("T est B");}else {System.out.println("T est C");}A.val = 0输出“Test C”B.val介于0到4 之间输出“Test C”C.val = 14输出“Test B”D.val = 5 输出“Test A”7、下面关于数据类型的描述正确的是()a) 数据类型就是数据的表现形式b) 所有数据的数据类型都是一致的c) 数据类型就是用于表示不同的数据在内存中所分配空间的大小d) 以上答案都不正确8、阅读下面代码,myMethod被调用时,正确的输出结果是()。
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基础题和答案详解if语句相关训练1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由(cdf)a.ilovejavab.$20********************.leee.hello_worldf.2tigers答:标识符中不能有@,不能含有点号,开头只能是字母和$publicstaticvoidmain(stringargs[]){system.out.println(\}}问:1)假设这个代码存在hello.java文件中,那这个程序能够编译通过?为什么?如果编译不通过,应该如何改进?答:不能,含有public的类文件名必须要和类名一致;应将hello.java改写成helloworld.java2)假设这个.java文件放在c:\\javafile\\目录下,classpath=.,则生成的.class文件应该放在什么目录下?如何运行?答:.class应该存放在c:\\javafile\\目录下3.(if语句)初始化一个整数,推论其就是奇数还是偶数publicclasstest{intn;if(n%2==0){system.out.println(n+“是偶数”);}else{system.out.println(n+“就是奇数”);}}4.(操作符)有如下代码:inta=5;intb=(a++)+(--a)+(++a);问执行完之后,b的结果是多少?请问:16解析a先把5赋值给b使后再自减1相等于(b=5+(--6)+(++5))15.(基本类型的运算)一家商场在举办折扣降价,所有商品都展开8八折优惠。
一位程序员把这个逻辑译成:shortprice=...;//先排序出来原价shortrealprice=price*8/10;//再计算出打折之后的价格问:这段代码与否恰当?如果恰当,假设price为100,那排序之后的realprice值多少?如果不恰当,必须怎么废止?答:不正确,应为int类型不能自动转换成short类型应该为:publicclassdiscounttest{publicstaticvoidmain(string[]args){shortprice=100;shortrealprice=(short)(price*8/10);system.out.println(realprice);}}6题忽略7.(操作符)有如下代码:a=(a>b)?a:b;答这段代码顺利完成了什么功能。
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基础面经典试题(附答案)
基础知识部分:1. JDK是什么?JRE是什么?a) 答:JDK:java开发工具包。
JRE:java运行时环境。
2. 什么是java的平台无关性?a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。
也就是一处编写,处处运行。
这就是java的跨平台性。
3. 在一台电脑上配置java环境,path起什么作用?如何配置?a) 答:path的作用是在DOS环境下,能在任意位置使用JDK目录中b in文件夹中的可执行程序,来编译执行java程序。
b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。
4. 什么样的标识符是合法的?a) 由字母、数字、_和$组成,长度不限。
其中字母可以是大写或小写的英文字母,数字为0到9。
b) 标识符的第一个字符不能是数字。
c) 标识符区分大小写。
d) 标识符不能包含空格。
5. Java有几种基本数据类型?a) byte,short,int,long,float,double,char,boolean6. 什么是隐式类型转换?什么是显示类型转换?a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。
b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。
7. &&和&区别,||和|区别?a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。
b) 而& 和|则将两边的表达式都运算完毕后,再算结果。
8. break,continue区别?a) break结束所有循环,continue结束当次循环,进入下次循环。
9. 类的命名规则是什么?a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。
b) 类名最好见名知意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。
10. 类体的内容由两部分构成,哪两部分?a) 一部分是变量的定义,用来刻画属性。
java基础题(附答案)
java基础题(附答案)基础编程练习,能做几道初学java程序看得懂,但下不了手,高手们说只能多练习,所以找了这些题,是从java私塾跟我学系列课后习题中挑选的一部分,大家一起来做做吧,看看能做多少。
【1】将1 到1000 之间的奇数打印出来。
【2】判断一个数能否同时被3和5 整除。
【3】输入10个数,找出最大一个数,并打印出来。
【4】给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。
90 分以上为’A’,80~89 分为’B’,70~79 分为’C’,60~69 分为’D’,60分以下为’E’。
【5】把一个正整数分解质因数。
【6】打印出如下图案(菱形)*************************【7】请编写一个方法实现如下功能:将1至7 的数字转换为星期日到星期六的字符串。
【8】请编写一个方法实现如下功能:有任意三个整数a,b,c,请输出其中最大的【9】请编写一个方法实现如下功能:将任意三个整数a,b,c按从小到大的顺序输出。
【10】请编写一个方法实现如下功能:用程序找出每位数的立方和等于该数本身值的所有的3 位数。
(水仙花数)【11】请编写一个方法实现如下功能:计算1 加到n (n>=2的整数)的总和。
【12】请编写一个方法实现如下功能:得到一个整数的绝对值。
【13】定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”【14】生成一百个随机数,放到数组中,然后排序输出。
【15】统计字符串中英文字母、空格、数字和其它字符的个数。
【16】写一个方法,功能:定义一个一维的int数组,长度为3,把任意三个整数a,b,c赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)【17】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
JAVA基础试题(A卷)附带答案
JAVA基础试题(A卷)附带答案第⼀部分:选择题(共60分,单选共40题,每空1分,多选共10题,每空2分)单项选择题(40*1’=40)1.下列属于合法的 Java 标识符是 ( )A) _cat B) 5books C) +static D) -3.141591.int 类型整型变量在内存中的位数为 ( )A) 8 B) 16 C) 32 D) 641.下⾯()赋值语句不会出现编译警告或错误 ( )A) float f=1.3; B) char c=a; C) byte b=257; D) int i=10;1.在 Java 中,由 Java 编译器⾃动导⼊⽽⽆需在程序中⽤import 导⼊的包是 ( )A) java.applet B) java.awt C) java.util D) /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng1.下列哪个类声明是正确的?( )A) abstract final class HI{ ···}B) abstract private move(){ ··· }C) protected private number;D) public abstract class Car{ ···}1.编译 Java Application 源程序⽂件将产⽣相应的字节码⽂件,这些字节码⽂件的扩展名为 ( )A) java B) class C) html D) exe1.为 AB类的⼀个⽆形式参数⽆返回值的⽅法 method 书写⽅法头,使得使⽤类名 AB作为前缀就可以调⽤它,该⽅法头的形式为 ( )A) static void method( )B) public void method( )C) final void method( )D) abstract void method( )1.在 Java 中,所有类的根类是 ( )A) java.awt.FrameB) java.applet.AppletC) /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.ClassD) /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.Object1.在 Java 中,⽤ Package 语句说明⼀个包时,该包的层次结构必须是 ( )A) 与⽂件⽬录的层次相同B) 与⽂件的结构相同C) 与⽂件⼤⼩相同D) 与⽂件类型相同1.下列访问权限的⼤⼩关系,正确的是 ( )A. public > protected > private > packageB. public > package > protected > privateC. public > protected > package > privateD. protected > public > package > private1.在 Java 中,能实现多重继承效果的⽅式是 ( )B. 适配器C. 接⼝D. 同步1.⼗进制数 16 的 16 进制表⽰格式是 ( )A.0x10 B.0x16 C .0xA D.161.下列⽅法中可以⽤来创建⼀个新线程的是 ( )A.实现 /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.Runnable接⼝并重写 start() ⽅法.B.实现 /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.Runnable接⼝并重写 run() ⽅法C.实现 /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.Thread类并重写 run() ⽅法D.实现 /doc/0139d46677c66137ee06eff9aef8941ea66e4b62.html ng.Thread类并重写 start() ⽅法1.下列代码中,将引起⼀个编译错误的⾏是 ( )1.public class Test{2.int m,n;3.public Test() {}4.public Test(int a) {m=a;}5.public static void main(String args[]){6.Test t1,t2;7.int j,k;8.j=0;k=0;9.t1=new Test();10.t2=new Test(j,k);11.}12.}A.第 3 ⾏B.第 5 ⾏C.第 6 ⾏D.第 10 ⾏1.在 Java 中,负责对字节代码解释执⾏的是()A.垃圾回收器 B .虚拟机 C.编译器 D.多线程机制1.下列数组定义及赋值,错误的是 ( )1.int intArray[];2.intArray=new int[3]; intArray[1]=1; intArray[2]=2; intArray[3]=3;3.int a[]={1,2,3,4,5};4.int[][] a=new int[2][]; a[0]=new int[3]; a[1]=new int[3];1.关键字 supper 的作⽤是( )A. ⽤来访问⽗类被隐藏的成员变量B. ⽤来调⽤⽗类中被重载的⽅法C. ⽤来调⽤⽗类的构造函数D. 以上都是1.凡是从中央处理器流向外部设备的数据流称为()A. ⽂件流B. 字符流C. 输⼊流1.下列属于⽂件输⼊输出类的是()A. FileInputStream 和 FileOutputStreamB. BufferInputStream 和 BufferOutputStreamC. PipedInputStream 和 PipedOutputStreamD. 以上都是1.JDBC 中要显式地关闭连接的命令是()A .Connection.close(); B.RecordSet.close() C.Connection.stop() D.Connection.release()1.下⾯关于继承的说法,正确的是()A、超类的对象就是⼦类的对象 B 、⼀个类可以有⼏个超类C、⼀个类只能有⼀个⼦类D、⼀个类只能有⼀个超类1.下⾯()⽅法可以⽤来加载 JDBC驱动程序。
java基础试题及答案
java基础试题及答案Java是一种广泛应用的计算机编程语言,具有简单、可移植、面向对象、安全以及高性能等特点。
它在互联网、移动应用、企业级应用开发等领域都有着重要的地位。
为了帮助大家更好地掌握Java基础知识,以下是一些常见的Java基础试题及答案。
一、选择题1. 下列关于Java语言的特点,错误的是:A. Java是一种面向对象的语言B. Java具有可移植性C. Java是一种编译型语言D. Java具有垃圾回收机制答案:C2. Java程序的入口点是:A. public static void main(String[] args)B. public static void start(String[] args)C. public static void run(String[] args)D. public static void execute(String[] args)答案:A3. 下列关于Java包(package)的说法,正确的是:A. 包用于组织类和接口B. 包是Java中的关键字C. 一个Java文件只能属于一个包D. 包的命名必须与所在的文件夹相同答案:A二、填空题1. 关键字____用于定义类的继承关系。
答案:extends2. 在Java中,____用于创建对象的实例。
答案:new3. Java中,____可以用于捕获、处理异常。
答案:try-catch三、简答题1. 什么是面向对象编程?答:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将问题描述为一组对象的集合,通过对象之间的互相作用来解决问题。
面向对象编程主要包括封装、继承和多态三个基本特性。
2. Java的封装是指什么?答:封装是面向对象编程中的一种基本特性,指的是将数据和操作数据的方法放在一个类中,对外部隐藏内部的具体实现细节,只暴露必要的接口供外部调用。
Java基础试题和答案解析
Java基础试题和答案解析Java试题1) java程序中,main⽅法的格式正确的是()。
(选择⼀项)a)static void main(String[] args)b)public void main(String[] args)c)public static void main(String[]s)d)public static void main(String[] args)2)给定java代码,如下:public byte count(byte b1,byte b2){return______;}要使⽤这段代码能够编译成功,横线处可以填⼊()。
(选择⼀项)a)(byte) (b1-b2)b)(byte) b1-b2c) b1-b2d) (byte) b1/b23)在Java中,在包com.db下定义⼀个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。
(选择⼀项)a)protectedb)privatec)publicd)friendly4)在Java中,下列()语句不能通过编译。
(选择⼀项)a) String s= “join”+ “was”+ “here”;b) String s= “join”+3;c) int a= 3+5d) float f=5+5.5;5) 在Java中下列()⽅法可以把JFrame的布局管理器设为FlowLayout类型(选择⼀项)a)jFrame.setLayout(new FlowLayout() );b) jFrame.addLayout(new FlowLayout() )c)jFrame.setFlowLayout()d)jFrame.addFlowLayout()6)给定java代码如下,运⾏时,会产⽣()类型的异常。
(选择⼀项)String s=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOExceptiond)EOFException7) 在java中,()对象可以使⽤键/值的形式保存数据。
《Java基础入门》课后章节习题及答案(完整版)
《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的运行环境简称之为JRE_____。
3、编译Java程序需要使用_javac_____命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。
5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;三、问答题1、简述Java的特点。
面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、简述JRE与JDK的区别。
JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。
JAVA基础考试题及答案
(通用版)JAVA基础考试题及答案一、选择题】、以下关于java中抽象类的说法正确的有(A)A、含有抽象方法的类必须声明为抽象类B、抽象类中不可以有非抽象方法C、抽象类中至少需要包含一个抽象方法D、抽象类无法实例化2、以下哪个关键字可以用于实现同步(C)nativeA、staticsynchronizedB、finalize3、以下哪些集合属于Collection的子类(C D)[选两项]A、TreeMapHashtableB、ArrayListHashSet4、下面关于线程的说法错误的选项是(B)A、线程其实就是进程中的一个控制单元,它负责就是程序的执行。
一个进程中至少有一个线程B、当一个类实现了 Runnable接口后,并实现了其run方法,就可以直接调用这个类的start方法开启线程C、继承Thread类或者实现Runnable接口都可以封装线程要执行的任务D、Thread类本身就是一个线程类,可以直接创立Thread类对象,开启线程5、下面关于map集合说法正确的选项是(A)A、map集合中不能直接使用Ileralor■进行迭代B、对map集合使用keySet方法,会得到所有value的值组成•个list集合C、使用map的append方法可以向map集合中添加元索D、使用removeAll方法可以将map集合中的元素清空6以下哪个方法可以使线程从运行状态进入其他阻塞状态(A B )A. sleep B. wait C. yield D. start7、下面的代码段执行之后count的值是什么()int count = 1; ( D )for (int i = 1; i <= 5; i++){ count += i; }System, out. print in (count);A、 5 B、 1 C、 15 D、 168、如果需要从文件中读取数据,那么可以在程序中创立哪一个类的对象(A)A、 FilelnputStream B、Fi1eOutputStrearnC、 DataOutputStreamD、 FileWriter9、以下对接口描述错误的有(D )A)接口没有提供构造方法B)接口中的方法默认使用public、abstract修饰C)接口中的属性默认使用public、static、final修饰D)接I」不允许多维承10、以下关于final关键字说法错误的选项是(A C )(两项)final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性A)final修饰的类肯定不能被继承final修饰的方法不能被重载B)final修饰的变量不允许被再次赋值11、构造ArrayList类的一个实例,此类继承了 List接口,以下哪个方法是正确的(B )。
java基础笔试题题库及答案
java基础笔试题题库及答案1. Java中,`int`类型变量默认的初始值是多少?答案:Java中,`int`类型变量默认的初始值是0。
2. 在Java中,`String`类型是可变的还是不可变的?答案:在Java中,`String`类型是不可变的。
3. Java中,`==`和`equals()`方法的区别是什么?答案:在Java中,`==`用于比较两个引用是否指向同一对象(对于基本数据类型是比较值),而`equals()`是一个方法,用于比较对象内容是否相等。
4. Java中,`ArrayList`和`LinkedList`的主要区别是什么?答案:`ArrayList`是基于动态数组实现的,支持快速随机访问;而`LinkedList`是基于双向链表实现的,支持快速的插入和删除操作。
5. Java中,`try-catch-finally`语句块的作用是什么?答案:`try-catch-finally`语句块用于异常处理。
`try`块用于捕获异常,`catch`块用于处理异常,`finally`块用于执行清理操作,无论是否发生异常都会执行。
6. Java中,`HashMap`和`Hashtable`的主要区别是什么?答案:`HashMap`允许键和值为null,是非同步的;而`Hashtable`不允许键和值为null,是同步的。
7. Java中,什么是垃圾回收?它是如何工作的?答案:垃圾回收是Java中自动释放不再使用的对象所占内存的过程。
它通过识别不再被任何引用指向的对象来进行回收。
8. Java中,`synchronized`关键字的作用是什么?答案:`synchronized`关键字用于实现多线程同步,确保同一时间只有一个线程可以访问某个特定的资源或代码段。
9. Java中,`final`关键字可以修饰哪些元素?答案:`final`关键字可以修饰变量、方法和类。
被`final`修饰的变量称为常量,其值在初始化后不能被改变;被`final`修饰的方法不能被重写;被`final`修饰的类不能被继承。
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基础编程题及答案
java 基础编程题及答案【篇一:java 编程题全集(100 题及答案)】复习题1、编写一个java 程序在屏幕上输出“你好!”。
( p13, 例1-1 ) //programme name helloworld.java public class helloworld { public static void main(string args[]) { system.out.print ( 你好!);}}2. 编写一个java 程序,用if-else 语句判断某年份是否为闰年。
// programme name leapyear.java public class leapyear{ public static void main(string args[]){ int year=2010;if(args.length!=0) year=integer.parseint(args[0]);if((year%4==0 year%100!=0)||(year%400==0)) system.out.println(year+ 年是闰年。
);else system.out.println(year+ 年不是闰年。
);}}//if-else 语句3、编写一个java 程序在屏幕上输出1!+2!+3!+??+10 !的和(p64,例2-2 ) // programme name fortest.javapublic class fortest {public static void main( string args[] ) {int i,j,mul,sum=0; for(i=1;i=10;i++) { mul=1;for(j=1,j=i;j++) { mul=mul*j;} sum=sum+mul;} system.out.println( !“1+2!+3!+??+10 != ”+sum);}}4. ( 1)编写一个圆类circle ,该类拥有:①一个成员变量radius (私有,浮点型);// 存放圆的半径;②两个构造方法circle( ) // 将半径设为0 circle(double r )// 创建circle 对象时将半径初始化为r③三个成员方法double getarea( ) // 获取圆的面积double getperimeter( )// 获取圆的周长void show( ) // 将圆的半径、周长、面积输出到屏幕( 2)编写一个圆柱体类cylinder ,它继承于上面的circle 类。
java基础考试试题及答案
java基础考试试题及答案一、选择题1. 在Java中,以下哪个不是访问修饰符?A) publicB) protectedC) privateD) static答案: D2. 下列选项中,不属于Java基本数据类型的是?A) intB) doubleC) booleanD) string答案: D3. Java中的包(package)用于什么目的?A) 控制访问权限B) 组织类和接口C) 定义变量和方法D) 实现多态性答案: B4. 下面关于Java异常处理的说法中,正确的是?A) 所有异常类都必须派生自Throwable类B) 编译时异常必须使用try-catch块捕获C) RuntimeException是编译时异常的子类D) finally块用于捕获异常并处理答案: B5. 在Java中,以下哪个关键字用于终止整个循环?A) breakB) continueC) returnD) exit答案: D二、填空题1. Java中,使用关键字____声明一个类。
答案: class2. Java中,使用关键字____定义一个方法。
答案: void3. Java中,使用关键字____声明一个常量。
答案: final4. Java中,使用关键字____定义一个抽象类。
答案: abstract5. Java中,使用关键字____定义一个接口。
答案: interface三、编程题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算并输出斐波那契数列的前20个数字。
```javapublic class Fibonacci {public static void main(String[] args) {int num1 = 0, num2 = 1;System.out.println(num1);System.out.println(num2);for (int i = 2; i < 20; i++) {int num3 = num1 + num2;System.out.println(num3);num1 = num2;num2 = num3;}}}```四、简答题1. Java中的封装是什么意思?为什么要封装?答案: 封装是将数据和操作数据的方法包装在一起的机制。
java初级试题及答案
java初级试题及答案一、选择题(每题2分,共10分)1. Java语言的创始人是:A. James GoslingB. Dennis RitchieC. Bjarne StroustrupD. Guido van Rossum答案:A2. 下列哪个选项不是Java语言的特性?A. 平台无关性B. 面向对象C. 编译型语言D. 多线程答案:C3. Java中,用于捕获异常的关键字是:A. tryB. catchC. throwD. finally答案:B4. 下列哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B5. Java中,用于创建线程的构造方法是:A. run()B. start()C. main()D. execute()答案:B二、填空题(每题2分,共10分)1. Java程序的执行入口是________方法。
答案:main2. Java中,________关键字用于声明一个类。
答案:class3. 在Java中,________关键字用于实现多态。
答案:extends4. Java中,________关键字用于实现接口。
答案:implements5. Java中,________关键字用于声明一个方法。
答案:void三、简答题(每题5分,共20分)1. 请简述Java平台的三个主要组成部分。
答案:Java平台的三个主要组成部分是Java虚拟机(JVM)、Java API和Java语言。
2. 解释Java中的垃圾回收机制。
答案:Java中的垃圾回收机制是指自动回收不再被使用的对象所占用的内存,以避免内存泄漏。
3. 描述Java中集合框架的主要接口。
答案:Java中集合框架的主要接口包括List、Set和Map。
4. 请解释Java中的异常处理机制。
答案:Java中的异常处理机制包括try、catch、finally和throw 关键字,用于捕获和处理程序运行过程中出现的异常。
JAVA各章习题及答案-全解
JAVA各章习题及答案-全解第1章Java入门一、选择题1.下列选项中,不属于Java 语言特点的一项是( C )。
(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。
在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件?扩展名是( D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Applet应用程序时,需要用户考虑问题是(B )。
(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于( B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。
6.下列关于Application和Applet程序的说法中不正确的一项是(B )。
(A)Application使用解释器java.exe(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java 的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
If语句相关训练
1. (标识符命名)下面几个变量中,那些是对的那些是错的错的请说明理由(CDF)
A. ILoveJava
B. $20
C. learn@java
D.
E. Hello_World
F. 2tigers
答:标识符中不能有@,不能含有点号,开头只能是字母和$
2. (Java 程序的编译与运行)假设有如下程序:
package
public class HelloWorld{
public static void main(String args[]){
"Hello World");
}
}
问:
1)假设这个代码存在文件中,那这个程序能够编译通过为什么
如果编译不通过,应该如何改进
答:不能,含有public的类文件名必须要和类名一致;应将改写成
2)假设这个.java 文件放在 C:\javafile\目录下,CLASSPATH=.,则生成的.class 文件应该放在什么目录下如何运行
答:.class应该存放在C:\javafile\目录下
3. (if 语句)读入一个整数,判断其是奇数还是偶数
public class Test {
int n;
If(n%2==0){
是偶数”);
}else{
是奇数”);
}
}
4. (操作符)有如下代码:
int a = 5;
int b = (a++) + (--a) +(++a);
问执行完之后,b 的结果是多少
答:16 解析a先把5赋值给b让后再自增1相当于(b=5+(--6)+(++5))
5. (基本类型的运算)一家商场在举行打折促销,所有商品都进行 8 折优惠。
一
位程序员把这个逻辑写成:
short price = ...; (操作符)有如下代码:
a = (a>b)a:b;
请问这段代码完成了什么功能。
答:这段代码的作用是取最大值,当a>b成立时,a=a;当a>b不成立时,a=b;
8. (if 语句)读入一个整数,表示一个人的年龄。
如果小于 6 岁,则输出“儿童”,6 岁到 13 岁,输出“少儿”;14 岁到 18 岁,输出“青少年”;18 岁到 35 岁,输出“青年”;35 岁到 50 岁,输出“中年”;50 岁以上输出“中老年”。
答:public class AgeTest {
public static void main(String[] args) {
int n=12;
if(n<6){
"岁属于儿童");
}else if(n>=6&&n<=13){
"岁属于少儿");
}else if(n>=14&&n<=18){
"岁属于青少年");
}else if(n>18&&n<=35){
"岁属于青年人");
}else if(n>35&&n<=50){
"岁属于中年人");
}else if(n>50){
"岁属于中老年人");
}
}
}
9. (switch 语句)读入一个整数,如果是 1~5 之间,则分别输出 5 个福娃的名字,否则输出“北京欢迎你”。
答:public class BlessingTest {
public static void main(String[] args) {
int n=2;
switch(n){
case 1:"贝贝");
break;
case 2:"晶晶");
break;
case 3:"焕焕");
break;
case 4:"莹莹");
break;
case 5:"妮妮");
break;
default:"北京欢迎你");
}
}
}
10. (if 语句,赋值操作)*读入三个整数,输出这三个整数中最大的一个
答:public class MaxTest {
public static void main(String[] args) {
int a=2;
int b=5;
int c=6;
if(a>b&&a>c){
"是三个数中的最大值");
}else if(a<b&&b>c){
"是三个数中的最大值");
}else{
"是三个数中的最大值");
}
}
}
11. (if 语句)*读入一个表示年份的整数,判断这一年是否是闰年。
如何判断一个年份是否是闰年:
1. 如果这个年份能够被 4 整除,且不能被 100 整除,则这一年是闰年。
例如,1996 年是闰年,而相应的,1993 年就不是闰年。
2. 如果这个年份能够被 100 整除,则这个数必须要能被 400 整除,才是闰年。
例如,2000 年是闰年,1900 年不是闰年。
答:public class LeapYearTest {
public static void main(String[] args) {
int year=1900;
if(year%4==0&&year%100!=0||year%100==0&&year%400==0){ "年是闰年");
}else{
"年是平年");
}
}
}
12. (switch 语句)*完成一个简单的计算器程序。
程序要求如下:
1. 读入两个整数
2. 提示用户选择对这两个整数的操作,即输出
1 : +
2 : -
3 : *
4 : /
请输入您的选择:
读入用户的选择,输出运算结果。
答:public class Calculator {
private static int operators;
public static void main(String[] args) {
Scanner sc=new Scanner;
"请输入要计算的第一个数字:");
int a=();
"请输入要计算的第二个数字:");
int b=();
"请选择要运算的方式:1,2,3,4分别代表加减乘除");
operators=();
double sum=CalculatorMethod(a,b);
"和"+b+"运算的结果是:"+sum);
();
}
private static double CalculatorMethod(int a, int b) { double sum=0;
switch(operators){
case 1:sum=a+b;
break;
case 2:sum=a-b;
break;
case 3:sum=a*b;
break;
case 4:sum=a/b;
}
return sum;
}
}
13. (if 语句)*托运计费问题:
当货物重量小于 20 公斤的时候,收费 5 元,大于 20 公斤小于 100 公斤的时候超出 20 公斤的部分按每元每公斤计费,如果超出 100 公斤的时候,超出的部分按照每公斤元计算。
读入货物的重量,输出计算之后货物的运费。
答:public class CheckFee {
public static void main(String[] args) {
double w=130;
double price=0;
if(w<=20){
price=5;
}else if(w>20&&w<=100){
price=5+(w-20)*;
}else if(w>100){
price=5+(100-20)*+(w-100)*;
}
}
}。