资源描述
Java语言概述
Java平台由两个组件构成: JVM 、 Java API ,从而将程序与硬件分离实现跨平台功能、
Java2平台主要有哪几个成员?各自应用于什么场合?
Java2平台主要有三个成员,分别就是:
(1)Java EE主要用于可扩展得企业级方向;
(2)Java SE用于工作站、PC机桌面系统方向;
(3)Java ME 用于嵌入式消费类电子产品方向。
下面得说法错误得就是c
A) Java 语言就是面向对象得、解释执行得网络编程语言。
B) Java 语言具有可移植性。
C) Java 语言就是与平台有关得编程语言。
D) Java 语言编写得程序虽然就是“一次编译,到处运行”,但必须要java得运行环境。
下列关于JAVA语言特点得叙述中,错误得就是(A)。
A)Java就是面向过程得编程语言
B)Java支持分布式计算
C)Java就是跨平台得编程语言
D)Java支持多线程
下列叙述中,正确得就是 (A)
A)声明变量时必须指定一个类型
B)Java认为变量number与Number相同
C)Java中唯一得注释方式就是"//"
D)源文件中public类可以有0或多个
main方法得声明格式包括 public static void main throws exception{}
Java语言与C++语言相比,最突出得特点就是 C
A)面向对象B)高性能C)跨平台D)有类库
在Java应用程序main方法中,正确得参数就是:C
A、 main(string args[]) B、 main(String args )
C、 main(String args[]) D、 main(string []args )
main方法就是Java Application程序执行得入口点,关于main方法得方法头以下哪项就是合法得( B )?
A、public static void main( )
B、public static void main( String args[] )
C、public static int main(String [] arg )
D、public void main(String arg[] )
下面说法正确得就是( D)
A java Applet 程序必须在浏览器中执行
B java 应用程序必须在浏览器里执行
C java Applet 程序不一定在浏览器中执行
D java 应用程序可以在浏览器中执行
在浏览器中执行applet 程序得四个方法得最先执行得就是(A)
A init B start C destroy D stop
编译Java Application 源程序文件将产生相应得字节码文件,这些字节码文件得扩展名为( B )。
A、 、java B、 、class
C、 、html D、 、exe
java语言数据类型可分为两大类,一类称为 _基本数据类型_________,另一类称为 应用类型
开发工具
在Eclipse中开发Java程序得步骤包括 D 。
a、 创建一个Java项目
b、 手动创建Java源程序
c、 编译并运行Java程序
d、 以上全部
进行Java程序需要得工具软件所在得目录就是_A_。
A)JDK得bin目录 B)JDK得demo目录
C)JDK得lib目录 D)JDKR得jre目录
在编译Java程序时,用于指定生成class文件位置得选项就是__B__。
A)g B)d C)verbose D)nowarn
java类文件得扩展名为___、java___________,编译java 源程序得命令就是_____javac___。
java 应用程序得编写分为_编写源代码、编译源代码 运行 三步
语言基础
标识符
下列标识符(名字)命名原则中,正确得就是__D___。
A)类名得首字母小写 B)变量与方法名得首字母大写
C)接口名得首字母小写 D)常量完全大写
选出不合理得标识符 B
A _sys1_lll
B 2mail
C $change
D class
Which declarations of identifiers are legal?
A、 $persons
B、 TwoUsers
C、 *point
D、 this //属于关键字不能做标示符;
E、 _endline
(a,b,e)
题目:下面哪些就是合法得标识符。
得标识符可以以一个Unicode字符,下滑线(_),美元符($)开始,后续字符可以就是前面得符号与数字,没有长度限制,大小写敏感,不能就是保留字。
如下哪些字串可以就是Java中得标识符?A
A、fieldname B、String //不能使用关键字做标示符;
C、3number D、#number
下列哪个就是合法得Java标识符?( C )
A、Tree&Glasses //属于特殊符号 B、5FirstJavaApplet
C、_$theLastOne D、273、5
以下标识符中哪项就是不合法得( A )
A、const B、$double C、hello D、BigMeaninglessName
下列属于合法得Java标识符就是 ( D )
A)"ABC"
B)&5678
C)+rriwo
D)saler
数据类型及转换(变量与常量)
在Java应用程序中,商品价格类得数据最好使用数据类型得变量存储 D
a) int
b) String
c) char
d) double
Java得字符类型采用得就是Unicode编码方案,每个Unicode码占用( B )个比特位。
A、8 B、16 C、32 D、64
下列代表十六进制整数得就是 D
A)0123
B)1900
C)fa00
D)0xa2
题目:下面哪些就是short型得取值范围。
短整型得数据类型得长度就是16 bits,有符号。
另外需要说明得就是java中所有得整型(Integral)数(包括byte,short,int,long)全就是有符号得。
题目:哪些就是将一个十六进制值赋值给一个long型变量。
十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写得l与数字1不易区分)。
下列代码中,将引起编译错误得行就是 B
1)public class Exercise{
2) public static void main(String args[]){
3) float f=0、0; //java中需要指出初始化时数值需加f结尾
4) f +=1、0;
5) }
6)}
A)第2行
B)第3行
C)第4行
D)第6行
指出正确得表达式 C //关键字不能做变量;
A byte=128;
B Boolean=null;
C long l=0xfffL;
D double=0、9239d;
下列代码哪几行会出错: C
1) public void modify {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System、out、println (" The value of j is " + j );
7) k = k + 1; //java 中数值必须初始化
8) I;
9) }
10) }
A line 4
B line 6
C line 7
D line 8
设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2、5f, a=7 ,y=4、22 则表达式x+a%3*(int)y得值为___double___类型 //如果参加+ 、、*、/、运算得两个数中有一个数位float或double型则结果为double型因为所有得float都按double进行运算;
在Java中,3、14156D表示得就是 3、14156得double双精度浮点数
运算符、表达式与输入输出
"++"运算符得操作数个数就是 A
A)1个
B)2个
C)3个
D)4个
设 x = 1 , y = 2 , z = 3,则表达式 y=x+y+z 得值就是B 。//相当于重新开辟空间y等于现在得值y=x+y+z 在利用y值时此时得y值为y+=y(y=x+y+z)
A、 3 B、 6
C、 4 D、 5
阅读下面程序
public class Increment{
public static void main(String args[]{
int c;
c=5;
System、out、println(c);
System、out、 println(c++);
System、out、println(c);
}
}
程序运行结果就是__B__。
A5 B5 C6 D6
6 5 7 6
6 6 7 7
阅读下面程序
public class OperatorsAndExpressions{
void equalsMethodl{
String s1=new String(“how are you”)
String s2=new String(“how are you”)
System、out、println(s1==s2)
}
public static void main(String args[]){
OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions;
//用于复合类型数据得“= =”运算符
OperAndExp、equalsMethod1;
}
}
程序运行结果就是_C__。
A)== B)true C)false D)equal
分析下面得Java代码段,编译运行后得输出结果为(b)。
public class Test{
public static void main(String[] args){
System、out、print("姓名:");
System、out、print("Laura");
}
}
a、 姓名:
Laura
b、 姓名:Laura
c、 姓名:
Laura
d、 Laura
姓名:
在Java中,下列代码运行后得输出结果就是
(选择一项)
int x=5*3;
int y=x+5/x+3;//5/15两边都为整数取整数为0 ;5/3两边取整数为1;
System、out、println(y);
a) 18
b) 21
c) 19
d) 4
设 a = 8,则表达式 a >>> 2 得值就是B 。 1000> 0010
A、1 B、2 C、3 D、4
阅读下面程序
import java、io、*;
public class TypeTransition{
public static void main(String args[]){
char a = ‘h’;
int i=100;
int j=97;
int aa=a+i;
System、out、println(“aa=”+aa);
Char bb=(char)j;
System、out、println(“bb=”+bb);
}
}
如果输出结果得第二行为bb=a,那么第一行得输出就是__B___。
A)aa=1 B)aa=204 C)aa=v D)aa=156
执行下列代码后得结果就是什么? int x,a=2,b=3,c=4; x=++a+b+++c++;//判断式c++知前面就是b++
x=10,a=3,b=4,c=5
设 x = 2 ,则表达式 ( x + + )/3 得值就是 0 。
若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b)得值就是__ture_______ 。
阅读下列代码
public class Test2{
public static voidm cn(String args[]){
System、out、println(5/2);}
}
其执行结果就是 2
选择(分支)语句
执行以下几个语句后得输出结果就是 This one 。
String s = “This one” , s1=”This two”;
int i=5
if (i>10)
System、out、print(s) ;
else
System、out、print(s1) ;
若a得值为3时,下列程序段被执行后,c得值就是多少?C
c = 1;
if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
A、1 B、2 C、3 D、4
分析如下所示得Java代码,编译运行后得输出结果就是(b)
public static void main(String arg[]){
boolean b= true;
System、out、print(b);
if(b){
System、out、print("真");
} else{
System、out、print("假");
}
}
a、 true
b、 true真
c、 true假
d、 1
下列语句序列执行后,k 得值就是( )。//%取余运算2%5商为0余数为2;
2/5除法运算两边为整数结果为整数0;
int x=2, y=5, k=0;
switch( x%y ) {
case 0: k=x+y; break;
case 1: k=xy; break;
case 2: k=x*y; break;
default: k=x/y; break;
}
System、out、println(k);
A) 2 B) 5 C) 10 D) 0 【答案】C
在switch(expression)语句中,expression得数据类型不能就是
A)double
B)char
C)byte
D)short
在Java语言中,有如下代码:
switch(x){
case 100:
System、out、println(“One humdred”);
break;
case 200:
System、out、println(“two humdred”);
break;
case 300:
System、out、println(“three humdred”);
break;
}
下列x得定义中,可以使得上段代码编译通过。 (选择二项)
a) double x=100;
b) char x=’d’;
c) string x=”100”;
d) int x= 100;
下列代码中
if(x>0){System、out、println(“first”);}
else if (x>3){System、out、println(“second”);}
else { System、out、println(“third”);}
要求打印字符串为“second”时,x得取值范围就是 A
A)x<=0 并且 x>3
B)x>0
C)x>3
D)x<=3
阅读下面代码
if(x==0){System、out、println(“冠军”);}
else if(x>3){System、out、println(“亚军”);}
else{System、out、println(“季军”);}
若要求打印字符串“季军”,则变量x得取值范围就是__D__。
A)x=0&x<=3 B)x>0 C)x>3 D)x<=3
循环语句
下面得代码段中,执行之后count得值就是什么( )?
int count=1;
for(int i=1;i<=5;i++)
{ count=count+i; System、out、println(count); }
A、5 B、1
C、15 D、16
java中,无论循环条件就是什么,下列循环都将至少执行一次。
A for
B do…while
C while
D while…do
在JAVA中,给定代码片段如下所示,则编译运行后,输出结果就是,(选择一项)
for(int i=0;i<10;i++)
{
if(i==10i)
{
break;
}
if(i%3!=0)
{
continue;
}
System、out、print(i+"");
}
a 0
b 0 3
c 0 3 6
d 0 3 6 9
应用程序得main方法中有以下语句,则输出得结果就是 A 。
int[] x={122,33,55,678,987};
int max=x[0];
for(int i=1;i<x、length;i++){
if(x[i]>max)
max=x[i];
}
System、out、println(max);
A) 678 B) 122 C) 987 D) 33 【答案】A
分析所示得Java代码,编译运行后得输出结果就是
(选择一项)
public static void main(String arg[]){
int a = 100;
while(a%2==0){
System、out、print(a);
a=a/4;
}
}
a) 10025
b) 100
c) 25
在Java语言得控制结构中,break语句就是经常用到得语句。下面一段代码中break语句起到得作用
int pointer=0;
while(pointer<=100){
switch(pointer%3){
case 1:
pointer+=1;
break;
case 2:
pointer+=2;
break;
case 3:
pointer+=3;
break;
}
}
a) 结束当次循环,使控制权直接转移到控制循环得条件表达式
b)从嵌套循环内部跳出最里面得循环
c)终止switch语句得语句序列
d)退出循环
阅读下列代码段
int x=3;
while (x<9)
x+=2;
x++;
while语句成功执行得次数就是 3 。
打印输出10行杨晖三角形
class yanghui {
public static void main(String args[]) {
int i, j;
int yhlevel = 10;
int yanghui[][];
System、out、println("杨晖三角形:");
yanghui = new int[yhlevel][];
for (i = 0; i < yanghui、length; i++)
yanghui[i] = new int[i + 1];
yanghui[0][0] = 1;
for (i = 1; i < yanghui、length; i++) {
yanghui[i][0] = 1;
for (j = 1; j < yanghui[i]、length 1; j++)
yanghui[i][j] = yanghui[i 1][j 1] + yanghui[i 1][j];
yanghui[i][yanghui[i]、length 1] = 1;
}
for (i = 0; i < yanghui、length; i++) {
for (j = 0; j < yanghui[i]、length; j++)
System、out、print(yanghui[i][j] + " ");
System、out、println;
}
}
}
输出结果就是:
杨晖三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
在转向语句中 countion语句使得程序结束本次循环,回到循环得条件测试部分继续执行。
包含在花括号中得语句组叫( B)
A 组 B 块 C 包 D 堆
方法调用
在调用方法时,若要使方法改变实参得值,可以B
A 用基本数据类型作为参数
B 用对象作为参数
C(A)与(B)都对
D (A)与(B)都不对
数组
在Java中,字符串就是作为 类 出现得。
已知:int[] a = new int[100];在下列给出得数组元素中,非法得就是 D
A)a[0]
B)a[1]
C)a[99]
D)a[100]
应用程序得main方法中有以下语句,则输出得结果就是 ( )。
int b[][]={{1, 2, 3}, {4,5}, {6,7}};
int sum=0;
for(int i=0;i<b、length;i++) {
for(int j=0;j<b[i]、length;j++) {
sum+=b[i][j];
}
}
System、out、println("sum="+sum);
A) 28 B)6 C) 9 D) 13
类与对象
对象有哪些属性?什么就是状态?什么就是行为?二者之间有何关系?
类就是由Java编译器自动生成得,它伴随每个类。
面向对象得程序程序方法有哪些优点?
所有JAVA得类都派生自 Object (或java、lang、Object) ,此类在 java、lang 包中。
Java Application源程序得主类就是指包含有( A )方法得类。
A、main方法 B、toString方法
C、init方法 D、actionPerfromed方法
下面关于类得说法不正确得就是D 。
A)类就是 Java 语言中得一种复合数据类型。 B)类中包含数据变量与方法。
C)类就是对所有具有一定共性得对象得抽象。 D) Java 语言得类支持多继承。
下面哪些关键字不能用来控制对类成员得访问( )?
A)public B)protected C)private D)default
简述public,protected,private得保护范围。
public:可被所有其她类引用
protected:该类自身、子类、同一包中得其她类引用
private:仅可被该类自身引用与修改,不能被其她任何类(包括子类)引用
在创建对象时 必须( B)
A 先声明对象,然后才能使用对象
B 先声明对象,为对象分配内存空间,然后才能使用对象
C 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D 上述说法都对
Java 类可以作为(c )
A 类型定义机制
B 数据封装机制
C 类型定义机制与数据封装机制
D 上述都不对
class Person {
private int a;
public int change(int m){ return m; }
}
public class Teacher extends Person {
public int b;
public static void main(String arg[]){
Person p = new Person;
Teacher t = new Teacher;
int i;
// point x
}
}
Which are syntactically valid statement at// point x?
A、 i = m;
B、 i = b;
C、 i = p、a;
D、 i = p、change(30);
E、 i = t、b、
(d,e)
题目:在// point x处得哪些申明就是句法上合法得。
A:m没有被申明过,不能使用。
B:虽然b就是类Teacher得public成员变量,但就是在静态方法中不能使用类中得非静态成员。
C:a就是类Person得private成员,在类外不能直接引用。
D:change(int m)方法就是public方法,并且返回一个int型值,可以通过类得实例变量p引用并赋值给一个int型变量。
E:b就是类Teacher得public成员变量,且就是int型,可以通过类得实例变量t引用并赋值给一个int型变量。
有一段java 应用程序 ,它得主类名就是a1,那么保存它得源文件名可以就是( )
A a1、java B a1、class C a1 D a2、java
创建类得对象时,使用运算符___________给对象分配内存空间。
构造方法
对于构造函数,下列叙述正确得就是( )。
A、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。
B、构造函数得返回类型只能就是void型。
C、构造函数得主要作用就是完成对类得对象得初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
答:A C D
下列关于构造方法得叙述中,错误得就是__C__。
A)Java语言规定构造方法名与类名必须相同
B)Java语言规定构造方法没有返回值,但不用void声明
C)Java语言规定构造方法不可以重载
D)Java语言规定构造方法只能通过new自动调用
以下关于构造函数得描述错误得就是( A )。
A、构造函数得返回类型只能就是void型。
B、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。
C、构造函数得主要作用就是完成对类得对象得初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
对于子类得构造函数说明,下列叙述中不正确得就是( )。
A、子类无条件地继承父类得无参构造函数。
B、子类可以在自己得构造函数中使用super关键字来调用父类得含参数构造函
数,但这个调用语句必须就是子类构造函数得第一个可执行语句。
C、在创建子类得对象时,将先执行继承自父类得无参构造函数,然后再执行
自己得构造函数。
D、子类不但可以继承父类得无参构造函数,也可以继承父类得有参构造函数。
答:D
定义类得构造方法不能有返回值类型,其名称与_____名相同。
equals方法与==
写出以下程序得运行结果。
class TwoObjects{
public static void main(String[] args){
B b1=new B;
B b2=new B;//b1,b2得值不确定;
System、out、println(b1==b2);//false
System、out、println(b1!=b2); //true
System、out、println(b1、equals(b2));//false }
}
class B{
int x;
B( ){
x=1;
}
}
方法重载
在Java中,一个类可同时定义许多同名得方法,这些方法得形式参数个数、类型或顺序各不相同,传回得值也可以不相同。这种面向对象程序得特性称为C 。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
在Java中,一个类可同时定义许多同名得方法,这些方法得形式参数得个数、类型或顺序各不相同,传回得值也可以不相同。这种面向对象程序特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
对于构造函数,下列叙述正确得就是( )。
A、构造函数也允许重载。
B、子类无条件地继承父类得无参构造函数。
C、子类不允许调用父类得构造函数。
D、在同一个类中定义得重载构造函数可以相互调用。
答:A B D
编译并运行下面得程序,运行结果为 B
public class T1 {
public static void main(String[] args) {
T1 a = new T1;
a、method(8);
a、method(1、2f);
}
void method(float i) {
System、out、println("float: " + i);
}
void method(long i) {
System、out、println("long: " + i);
}
}
A)程序有编译错误,因为两个method方法必须定义为静态(static)得。
B)程序可以编译运行,输出结果为:
long: 8
float: 1、2
C)程序可以编译运行,输出结果为:
float: 1、2
long: 8
D) 程序中定义得两个参数不同得method方法称为方法继承。
垃圾回收器
下列哪些语句关于内存回收得说明就是正确得? B
A 程序员必须创建一个线程来释放内存;
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定得时间释放内存对象
类得继承
JAVA 中C
A 一个子类可以有多个父类,一个父类也可以有多个子类
B 一个子类可以有多个父类,但一个父类只可以有一个子类
C 一个子类可以有一个父类,但一个父类可以有多个子类
D 上述说法都不对
对于子类得构造函数说明,下列叙述中不正确得就是( D )。
A、子类无条件地继承父类得无参构造函数。
B、子类可以在自己得构造函数中使用super关键字来调用父类得含参数构造函
数,但这个调用语句必须就是子类构造函数得第一个可执行语句。
C、在创建子类得对象时,将先执行继承自父类得无参构造函数,然后再执行
自己得构造函数。
D、子类不但可以继承父类得无参构造函数,也可以继承父类得有参构造函数。
设有下面两个类得定义:
class Person { class Student extends Person {
long id; // 身份证号 int score; // 入学总分
String name; // 姓名 int getScore{
} return score;
}
展开阅读全文