2021年09月17日 java1

考点1:自增运算符 先加加 后加加

以下程序

1
2
3
4
5
6
main()
{
int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}

程序运行后的输出结果是()

  • A 12353514
  • B 12353513
  • C 12343514
  • D 12343513
显示答案/隐藏答案正确答案: A

考点2:io sql awt rmi包

进行Java基本的GUI设计需要用到的包是()

  • A java.io
  • B java.sql
  • C java.awt
  • D java.rmi
显示答案/隐藏答案正确答案: C

图形用户界面(Graphical User Interface)GUI 是指采用图形方式显示的计算机操作用户界面
1.java.io提供了全面的IO接口。包含:文件读写,标准设备输出等
2.java.sql提供了Java编程语言访问并且存储数据的API,API包含一个框架
3.java.awt是一个软件包,包含用于用户界面和绘制图像的所有分类;
4.java.rmi提供RMI包,远程调用包(Remote Method Invocation)

图形用户界面(Graphical User Interface,简称 GUI)是指采用图形方式显示的计算机操作用户界面。
java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。
java.sql提供使用 Java 编程语言访问并处理存储在数据源中的数据的 API。此 API包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。
java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。功能:包含用于创建用户界面和绘制图形图像的所有类。
java.rmi提供 RMI 包。RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。

考点3:String类方法

以下代码的输出的正确结果是

1
2
3
4
5
6
public class Test {
public static void main(String args[]) {
String s = "祝你考出好成绩!";
System.out.println(s.length());
}
}
  • A 24
  • B 16
  • C 15
  • D 8
显示答案/隐藏答案正确答案: D

这题就是问这个字符串的长度,没有问占多少个字节啊,不用想的太复杂,就是8.
length() 方法返回的就是字符串的长度,一个 char 可以存下汉字,剩下的数数就完事了。
如果想获得占用字节数的话,可以用 s.getBytes(“GBK”).length,结果就是16了。

考点4:String创建对象 常量池

String s = new String(“xyz”);创建了几个StringObject?

  • A 两个或一个都有可能
  • B 两个
  • C 一个
  • D 三个
显示答案/隐藏答案正确答案: A

如果在常量池中已经存在“xyz”,那么不会继续创建,只创建一个new String(“xyz”)的对象。如果常量池中没有,则会创建两个对象,一个是对象的值“xyz”,一个是new String(“xyz”)的对象。

考点5:lambda表达式

下面哪些写法能在 java8 中编译执行()

  • A dir.listFiles((File f)->f.getName().endsWith(“.Java”));
  • B dir.listFiles((File f)=>f.getName().endsWith(“.Java”));
  • C dir.listFiles((_.getName().endsWith(“.Java”)));
  • D dir.listFiles(f->f.getName().endsWith(“.Java”));
显示答案/隐藏答案正确答案: AD

Lambda表达式的主要作用就是代替匿名内部类的繁琐语法, 它由三部分组成:
(1) 形参列表。形参列表允许省略形参类型。如果形参列表中只有一个参数,甚至连形参列表的圆括号也可以省略。
(2) 箭头(→)。必须通过英文中画线和大于符号组成。
(3)代码块。如果代码块只包含一条语句,Lambda表达式允许省略代码块的花括号,那么那条语句就不要用花括号表示语句结束。Lambda代码块只有一条return语句,甚至可以省略return关键字。Lambda表达式需要返回值,而它的代码块中仅有一套省略了return的语句。Lambda表达式会自动返回这条语句的值。
由此可见,应该是A和D正确。

考点6:静态代码块

有关静态初始化块说法正确的是?

  • A 无法直接调用静态初始化块
  • B 在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化
  • C 静态初始化块既没有访问修饰符,也没有参数
  • D 在程序中,用户可以控制何时执行静态初始化块
显示答案/隐藏答案正确答案: ABC

考点7:io流

与InputStream流相对应的Java系统的“标准输入对象”是()

  • A System.in
  • B System.out
  • C System.err
  • D System.exit()
显示答案/隐藏答案正确答案: A

考点8:循环

以下代码的循环次数是

1
2
3
4
5
6
7
8
9
10
public class Test {
public static void main(String args[]) {
int i = 7;
do {
System.out.println(--i);
--i;
} while (i != 0);
System.out.println(i);
}
}
  • A 0
  • B 1
  • C 7
  • D 无限次
显示答案/隐藏答案正确答案: D

从7开始,每次 -2,i 永远不可能==0

考点9:while语句 bealean表达式

关于下面程序,哪些描述是正确的: ( )

1
2
3
4
5
6
7
8
9
 public class While {
public void loop() {
int x= 10;
while ( x ) {
System.out.print("x minus one is " + (x - 1));
x -= 1;
}
}
}
  • A 行1有语法错误
  • B 行4有语法错误
  • C 行5有语法错误
  • D 行6有语法错误
  • E 行2有语法错误,loop是关键字
  • F 程序能够正常编译和运行
显示答案/隐藏答案正确答案: B

while()括号里参数必须是布尔类型,要么true要么false。
x是int类型,是int表达式,int表达式不能作为while的条件。

考点10:关系模型和对象模型的相互转换

一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系?

  • A 表对应类
  • B 记录对应对象
  • C 表的字段对应类的属性
  • D 表之间的参考关系对应类之间的依赖关系
显示答案/隐藏答案正确答案: D

目前ORMapping只是规定了数据结构和数据集的映射关系,还没到规定赖关系的阶段
一般关系数据模型和对象数据模型之间有以下对应关系:表对应类,记录对应对象,表的字段对应类的属性。

考点11:自增运算符

下面的程序将来打印什么?()

1
2
3
4
5
6
7
public class TestIncr {
public static void main(String args[]) {
int i = 0;
i = i++ + i;
System.out.println("I =" +i);
}
}
  • A I = 1
  • B I = 2
  • C I = 3
  • D 编译出错
显示答案/隐藏答案正确答案: A

考点12:super关键字

关键字super的作用是?

  • A 用来访问父类被隐藏的非私有成员变量
  • B 用来调用父类中被重写的方法
  • C 用来调用父类的构造函数
  • D 以上都是
显示答案/隐藏答案正确答案: D

考点13:线程输出

执行以下程序,最终输出可能是:
这里有一张图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Thread[] ths = new Thread[3];
for (int i = 0; i < 3; i++) {
ths[i] = new Thread(new Runnable() {
@Override
public void run() {
for (int j = 0; j <5; j++) {
System.out.println(j);
}
System.out.println(" ");
}
});
}
for (Thread th:ths){
th.start();
}

*代表空格

  • A 010 2123012 3434
  • B 01201 340124 2334
  • C 0012314 01223344**
  • D 12345 12345 12345
显示答案/隐藏答案正确答案: C

线程间是异步的,也就是随机调用的;而线程内部是同步的,也就是顺序执行的。
有4才会有空格 空格之前没4 的全错
三个线程,三个空格,只有C输出了三个空格,其他都是俩哈哈哈

考点14:Java体系结构

Java的体系结构包含( )。

  • A Java编程语言
  • B Java类文件格式
  • C Java API
  • D JVM
显示答案/隐藏答案正确答案: ABCD

Java体系结构包括四个独立但相关的技术:

  • Java程序设计语言
  • Java.class文件格式
  • Java应用编程接口(API)
  • Java虚拟机 我们再在看一下它们四者的关系:

当我们编写并运行一个Java程序时,就同时运用了这四种技术,用Java程序设计语言编写源代码,把它编译成Java.class文件格式,然后再在Java虚拟机中运行class文件。当程序运行的时候,它通过调用class文件实现了Java API的方法来满足程序的Java API调用

考点15:设计模式 管理模式两个基本要点

单例模式中,两个基本要点是

  • A 构造函数私有
  • B 静态工厂方法
  • C 以上都不对
  • D 唯一实例
显示答案/隐藏答案正确答案: AD

考点16:包装类 包装类默认缓存 包装类和基本类型可以比较值

以下语句返回值为 true 的是()

1
2
3
4
5
6
Integer a1=17,a2=17;
Integer b1=2017,b2=2017;
Integer c1=new Integer(2017);
Integer c2=new Integer(2017);
Integer d1=new Interger(2017);
int d2=2017;
  • A a1==a2
  • B d1==d2
  • C b1==b2
  • D c1==c2
显示答案/隐藏答案正确答案: AB
1
2
3
4
5
6
7
8
9
10
11
Integer a1=17,a2=17;
Integer b1=2017,b2=2017;
Integer c1=new Integer(2017);
Integer c2=new Integer(2017);
Integer d1=new Integer(2017);
int d2=2017;

System.out.println(a1 == a2);
System.out.println(d1 == d2);
System.out.println(b1 == b2);
System.out.println(c1 == c2);

运行结果:

1
2
3
4
true
true
false
false