Java日常刷题第一天

Java单选题十道:
1.关于AWT和Swing说法正确的是:Swing在不同的操作系统中显示相同的风格。
解析:AWT和Swing都是Java中的包。
AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。
Swing:为解决AWT存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。
AWT和Swing的实现原理不同:AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。就是在用AWT构件图形用户界面的时候,实际上是利用操作系统的图形库。不同的操作系统其图形库的功能可能不一样在一个平台是存在的功能在另一个平台上可能不存在。 为了实现Java语言所宣称的“一次编译,到处运行”的概念,AWT不得不通过牺牲功能来实现平台无关性。因此,AWT的图形功能是各类操作系统图形功能的“交集”。而Swing不仅提供了AWT的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。由于Swing是用纯粹的代码实现的,因此Swing控件在各个平台通用。
AWT和Swing都支持事件模型。
2.一个以“.java"为后缀的源文件,只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
解析:一个.java源文件中可以包含多个类(非内部类);但只能有一个public修饰的外部类,且此类名必须和文件名相同;每个外部类可以包含多个public修饰的内部类。
3.有这样一段程序:

public class Test{
public static void mian(String[] args){
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("a");
Set set=new HashSet();
set.add("a");
set.add("b");
set.add("a");
System.out.println(list.size()+","+set.size());}}

请问运行主要的程序会打印出的是什么 3,2
解析:HashSet不能添加重复的元素,当调用add(Object)方法时候,首先会调用Object的HashCode是否已经存在,如不存在则直接插入元素;如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元素。
ArrayList为动态数组add()方法会使size+1
HashSet有去重复操作hasCode
4.下列代码的输出结果 false

boolean b=true?false:true==true?false:true;
System.out.println(b);

解析:== 优先级高于三目运算符,三目运算符为a?b:c即有三个参与运算的量。
由条件运算符组成条件表达式的一般形式为:表达式1?表达式2:表达式3
其求值规则:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。
先判断 true==true,此时返回为 true,这时表达式为boolean b=true?false:true?false:true
此时三目运算符从右向左执行,true?false:true,返回false
这时表达式 boolean b=true?false:false
结果为: boolean b=false;

5.关于java语言的特点,描述错误的是:java是面向过程的编程语言
解析:Java是跨平台的编程语言
Java支持分布式计算
Java是面向对象的编程语言
Java支持多线程
6.类的声明正确的是:

public abstract class Car{}

解析:**abstract final class HI{}**
只能有final和abstract的一个,因为final是最终类,不能继承,必须可以创建实例,而abstract是抽象类,只能继承,不能有实例。冲突了。

**abstract private move(){}**

是抽象方法,不能有方法体,也就是说抽象方法只需要声明不需要实现,所以末尾应该是;而不是{}

protected private number;

访问修饰符只能有一个,而且对象没有类型。

public abstract class Car{} 是抽象类
注意:abstract是用来修饰类和方法的:
修饰方法,abstract不能和final、static、private共用。修饰外部类:abstract不能和final、static共用。(外部类的访问修饰符只能是默认和public)。修饰内部类:abstract不能和final共用。(内部类四种访问修饰符【private、protected、public、package/friendly/default 不写】都可以修饰)

7.关于Socket通信编程,描述正确的是:A.服务器端通过new ServerSoocket()创建TCP连接对象
B.服务器端通过TCP连接对象调用accept()方法创建通信的Socket对象
C.客户端通过new Socket()方法创建通信的Socket对象

8.URL u=new URL(“http://www.123.com”);.如果www.123.com不存在,则返回http://www.123.com
解析:new URL()时必须捕获检查异常,但这个异常是由字符串格式和URL不符导致的,与网址是否存在无关。URL的to String方法返回字符串,无论网址是否存在。
9.关于以下程序代码的说法正确的是:程序通过编译,输出结果为 x=102

class HashStatic{
private static int x=100;
public static void main(String args[]){
HasStatic hs1=new HasSatic();
hs1.x++;
HasStatic hs2=new HasStatic();
hs2.x++;
hs1=new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println("x="+x);}}

10.Java程序中的类名称必须与存放该类的文件名相同(×)
解析:声明为public类型的类名称必须与文件名相同,默认权限的可以不同,并且内部类的类名一般与文件名不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值