Java入门
单选题
有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是( ).
(1分)
A.a1.java
B.a1.class
C.a1
D.都对
Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?( )
(1分)
A.安全性
B.多线性
C.跨平台
D.可移植
对JVM来说,可执行文件的扩展名正确的是( )。
(2分)
A.java
B.class
C.dll
D.pyc
编程题
7-3 求最大值 (10 分)
本题目要求读入2个整数A和B,然后输出两个数的最大值。
输入格式:
输入在一行中给出2个绝对值不超过1000的整数A和B。
输出格式:
对每一组输入,在一行中输出最大值。
输入样例:
在这里给出一组输入。例如:
18 -299
输出样例:
在这里给出相应的输出。例如:
18
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int a;
int b;
Scanner sc = new Scanner(System.in);
a=sc.nextInt();
b=sc.nextInt();
System.out.println(a>b?a:b);
}
}
这里用到了三元运算符
Java基本数据类型
判断题
Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。T
语句 System.out.println(4+8+“Hello,world!”); 的输出结果是12Hello,world!。T
(1)低级变量可以自动转换成高级变量;基本数据运算时,结果会自动转换成大的数据类型;1+2时是int类型+int类型,结果为3;3+"java"时,int类型加字符串类型,所以+成为了字符串连接符,结果是字符串3java;其后3java+3时,自动转换成字符串类型,结果为3Java3; (2)当+的一端有String类型是就成了一个连接符,将两端的内容一String类型链接起来.
选择题
1. 有以下方法的定义,请选择该方法的返回类型( )。
ReturnType method(byte x, double y) {
return (short)x/y*2; } (2分)
A.byte
B.short
C.int
D.double
return (short)x/y*2 里,(short) 作用于x, 把 byte 型的 x 值变成 short int. 分母是 y, 而 y 是 double 型, 表达式: short / double * int 将(精度向上靠拢)化成 double 型,所以 return "ReturnType" 是 double。
2. 下列不可作为java语言标识符的是()。(1分)
A.a2
B.$2
C._2
D.22
标识符的第一个字符不能是数字字符
3. MAX_LENGTH是int型public成员变量,变量值保持为常量55,用简短语句定义这个变量( )。 (2分)
A.public int MAX_LENGTH=55
B.final int MAX_LENGTH=55
C.final public int MAX_LENGTH=55
D.public final int MAX_LENGTH=55
4. 以下二维数组的定义正确的是( ) (2分)
A.int a[3][2]={{1,2},{1,3},{2,3}}
B.int a[][]=new int[3][]
C.int[][] a=new int[][3]
D.int[][] a=new int[][]
A中不允许在声明数组中的方括号内指定数组元素的个数;C中第二个'[]'代表一维数组中元素的个数,采用C、D这种定义形式时,第一个'[]'中必须有值,第二个'[]'不一定
5. 下面关于数组声明和初始化的语句那个有语法错误?( ) (2分)
A. int a1[]={3,4,5};
B. String a2[]={“string1”,“string1”,“string1”};
C. String a3[]=new String(3);
D. int[][] a4=new int[3][3];
应该为String a3[]= new String[3];
运算符、表达式和语句
单选题
- 设有变量定义: short a = 300; 则以下哪一条语句会导致编译错误?
(2分)
A. a += 3;
B. a = (short)a + 3;
C. a = (byte)(a + 3);
D. a = (short)(a * 100);
3是int型,赋值时要进行转换,应为 a=(short)(a+3);
精度从低到高为byte short char int long float double
- 下列程序段的输出是
class Test {
public static void main(String[] args) {
System.out.println(new Integer(2) == new Integer(2));
System.out.println(new Integer(5) == new Integer(5).intValue());
}
}
A. true true
B.true false
C.false true
D.false false
解析:Integer、new Integer() 和 int 比较
- 分析下面这段Java代码,它的运行结果是
Import java.io.*;
Public class B{
Public static void main(string [] args){
int i=12;
System.out.println(i+=i-=i*=i);
}
}
(2分)
A.100
B.0
C.-120
D.程序无法编译
运算从左到右,从内到外,为i=(i+(i-(i*i)));
表头 |
---|
类与对象
填空题
- 请写出以下程序运行结果:
class Window {
Window(int marker) { System.out.println("Window(" + marker + ")"); }
}
class House {
Window w1 = new Window(1);
House() {
System.out.println("House()");
w3 = new Window(33);
}
Window w2 = new Window(2);
void f() {
System.out.println("f()");
}
static Window w3 = new Window(3);
}
public class Est {
public static void main(String[] args) {
House h = new House();
h.f();
}
}
答案 |
---|
Window(3) |
Window(1) |
Window(2) |
House() |
Window(33) |
f() |
- 请写出以下程序运行结果:
public class Test {
private int i = 0;
Test increment() {
i++;
return this.clone();
}
public Test clone() {
Test t = new Test();
t.i = i;
return t;
}
public Test() { System.out.print(i); }
void print() {
System.out.printf("i = %d", i);
}
public static void main(String[] args) {
Test x = new Test();
for ( int i=0; i<10; i++ )
x = x.increment();
x.print();
}
}
答案 |
---|
00000000000i = 10 |
组件及事件处理
判断题
JPanel的缺省布局管理器是FlowLayout。 T
单选题
- 下列属于容器的组件有:( )
(2分)
A.JButton
B.JPanel
C.Canvas
D.JTextArea
- JFrame的缺省布局管理器是( )。
(2分)
A.FlowLayout
B.CardLayout
C.BorderLayout
D.GridLayout
- 在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?()
(2分)
A.ActionListener
B.MouseListener
C.MouseMotionListern
D.ItemListener