牛客网50道选择题(4)

1
在这里插入图片描述

答案:C
解析:

  1. java.awt:提供了绘图和图像类,主要用于编写GUI程序,包括按钮、标签等常用组件以及相应的事件类
  2. java.lang:java的语言包,是核心包,默认导入到用户程序,包中有object类,数据类型包装类,数学类,字符串类,系统和运行时类,操作类,线程类,错误和异常处理类,过程类。
  3. java.io:包含提供多种输出输入功能的类。
  4. java.net: 包含执行与网络有关的类,如URL,SCOKET,SEVERSOCKET等。
  5. java.applet:包含java小应用程序的类。
  6. java.util:包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。
  7. java.sql:提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。

2
在这里插入图片描述

答案:A
解析:
A是静态方法,可以通过【类名.方法名】的形式调用,而不必去实例化一个对象进行方法的调用;
B是普通的public方法,必须先new一个对象出来,即实例化类,通过对象来调用方法;
C是protected方法,则只能在子类以及基类中调用该方法,其他的非继承基类的类,是不能有访问权限的;
D是抽象方法,抽象方法必须被抽象类的实现类来实现,这样通过实现类实例化来调用该方法才可以。

3
在这里插入图片描述

答案:C
解析:JAVA中,标识符, 指用于给变量.类.方法名 等命名的名称.

  1. 标识以数字,字符,下划线,以及美元$符组成.(不能包括@、%、空格等),不能以数字开头
  2. 不能与JAVA关键字重复:abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while 等
  3. 严格区分的大小写,(Flag和flag是两个变量)

4
在这里插入图片描述

答案:D
解析:编译时异常必须显示处理,运行时异常交给虚拟机。
运行时异常可以不处理。当出现这样的异常时,总是由虚拟机接管。比如我们从来没有人去处理过Null Pointer Exception异常,它就是运行时异常,并且这种异常还是最常见的异常之一。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往不对它处理罢了。也就是说,如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。

5
在这里插入图片描述

答案:B
解析:public>protected>默认(包访问权限)>private,因为protected除了可以被同一包访问,还可以被包外的子类所访问

6
在这里插入图片描述

答案:A
解析:for语句:
1.各部分执行的顺序
2.各部分执行的次数
3.循环的终止条件
分号之前第一部分是初始化语句也就是foo(‘a’)所以只会执行一次,第二部分是循环终止控制,也就是循环条件当foo(‘b’) && (i<2)为false时条件就会终止,所以循环会执行两次,第三部分在每次循环完毕时执行
所以执行顺序是先foo(‘a’)所以先打印a,再次执行foo(‘b’)并且判断条件i<2 条件是否满足,满足的话进入循环体,然后i++ i等于1,然后执行foo(‘d’)。再打印d ,执行完毕再执行foo(‘c’)打印c,这是循环一次的结果 abdc,第二遍循环,因为a是初始化变量所以只执行一次,直接执行循环条件,先执行foo(‘b’)并且判断i<2条件是否满足,现在i是1所以条件满足进入循环体,执行i++,再次执行foo(‘d’),循环完毕执行(‘c’)然后打印c,循环第二遍的结果是bdc,这时循环还会继续执行,因为它还不知道i是否小于2,初始化变量不执行,执行循环条件,先执行foo(‘b’)打印b然后判断循环条件,现在i等于2所以i<2的条件不满足,所以循环结束

7
在这里插入图片描述

答案:C
解析:方法区:主要存储结构信息的地方,比如方法体,同时也是存储静态变量,以及静态代码块的区域,构造函数,常量池,接口初始化等等
方法区物理上还是在堆中,是在堆的持久代里面。堆有年轻代 (由一个Eden区和俩个survivor区组成),老年代,持久代。新创建的对象都在年轻代的Eden区,经过一次JC收集后,存活下来的会被复制到survivor区(一个满了,就全部移动到另外一个大的中,但要保证其中一个survivor为空),经过多次JC后,还存活的对象就被移到老年代了。
持久代就是经常说的方法区里面存放类信息,常量池,方法等
static String str0=“0123456789”;
static String str1=“0123456789”;是放在方法区里,也就是持久代,题目中已经说了,不包含持久代,所以剩余空间为5+5+5=15.

8
在这里插入图片描述

答案:B
解析:
(1)从速度上看:System.arraycopy > clone > Arrays.copyOf > for
(2)for的速度之所以最慢是因为下标表示法每次都从起点开始寻位到指定下标处(现代编译器应该对其有进行优化,改为指针),另外就是它每一次循环都要判断一次是否达到数组最大长度和进行一次额外的记录下标值的加法运算。
(3)查看Arrays.copyOf的源码可以发现,它本质上是调用System.arraycopy。之所以时间差距比较大,是因为很大一部分开销全花在了Math.min函数上了。
(4)查看System.arraycopy的源码,可以发现它实质上是通过Jni调用本地方法,及c/c++已经编译成机器码的方法,所以快。
(5)clone():native方法,但并未手写,需要JNI转换,速度其次

9
在这里插入图片描述

答案:D
解析:题目的意思是开发者在开发servlet继承HttpServlet时如何处理父类的service方法,一般我们都是不对service方法进行重写(没有特殊需求的话),而只是重写doGet()之类的doXxx()方法,减少了开发工作量。但如果重写了service方法,doXXX()方法也是要重写的。即不论是否重写service方法,doXXX()方法都是需要重写的。D说至少需要重写doXXX()方法是对的。

10
在这里插入图片描述

答案:C
解析:java.util.*,只能读取其目录下的类,不能读取其子目录下的类。
因为其根目录和子目录下可能有同名类,若都能读取,则会混淆。

11
在这里插入图片描述

答案:A
解析:redirect:请求重定向:客户端行为,本质上为2次请求,地址栏改变,前一次请求对象消失。举例:你去银行办事(forward.jsp),结果告诉你少带了东西,你得先去公安局办(index.html)临时身份证,这时你就会走出银行,自己前往***局,地址栏变为index.html.
forward:请求转发:服务器行为,地址栏不变。举例:你把钱包落在出租车上,你去警察局(forward.jsp)报案,警察局说钱包落在某某公司的出租车上(index.html),这时你不用亲自去找某某公司的出租车,警察局让出租车自己给你送来,你只要在警察局等就行。所以地址栏不变,依然为forward.jsp

12
在这里插入图片描述

答案:B
解析:操作步骤就是先解码再编码:用new String(src,“GBK”)解码得到字符串;用getBytes(“UTF-8”)得到UTF8编码字节数组

13
在这里插入图片描述

答案:B
解析:Statement 每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement.
PreparedStatement是预编译的,使用PreparedStatement有几个好处
a. 在执行可变参数的一条SQL时,PreparedStatement比Statement的效率高,因为DBMS预编译一条SQL当然会比多次编译一条SQL的效率要高。
b. 安全性好,有效防止Sql注入等问题。
c. 对于多次重复执行的语句,使用PreparedStament效率会更高一点,并且在这种情况下也比较适合使用batch;
d. 代码的可读性和可维护性。
CallableStatement接口扩展 PreparedStatement,用来调用存储过程,它提供了对输出和输入/输出参数的支持。CallableStatement 接口还具有对 PreparedStatement 接口提供的输入参数的支持。

14
在这里插入图片描述

答案:D
解析:

  1. 原子性:事务是一组不可分割的操作单元,这组单元要么同时成功要么同时失败(由DBMS的事务管理子系统来实现);
  2. 一致性:事务前后的数据完整性要保持一致(由DBMS的完整性子系统执行测试任务);
  3. 隔离性:多个用户的事务之间不要相互影响,要相互隔离(由DBMS的并发控制子系统实现);
  4. 持久性:一个事务一旦提交,那么它对数据库产生的影响就是永久的不可逆的,如果后面再回滚或者出异常,都不会影响已提交的事务(由DBMS的恢复管理子系统实现的)

15
在这里插入图片描述

答案:Super:collection Super:collection Super:collection
解析:
考察点1:重载静态多分派——根据传入重载方法的参数类型,选择更加合适的一个重载方法
考察点2:static方法不能被子类覆写,在子类中定义了和父类完全相同的static方法,则父类的static方法被隐藏,Son.staticmethod()或new Son().staticmethod()都是调用的子类的static方法,如果是Father.staticmethod()或者Father f = new Son(); f.staticmethod()调用的都是父类的static方法。
考察点3:此题如果都不是static方法,则最终的结果是A. 调用子类的getType,输出collection

16
在这里插入图片描述

答案:BD
解析:共享的资源有:
a. 堆:由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的)
b. 全局变量:它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的
c. 静态变量:虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的
d. 文件等公用资源 :这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有:
a. 栈:栈是独享的
b. 寄存器 :这个可能会误解,因为电脑的寄存器是物理的,每个线程去取值难道不一样吗?其实线程里存放的是副本,包括程序计数器PC

17
在这里插入图片描述

答案:AB
解析:
A选项正确,Java中一般通过interrupt方法中断线程
B选项正确,线程使用了wait方法,会强行打断当前操作,进入阻塞(暂停)状态,然后需要notify方法或notifyAll方法才能进入就绪状态
C选项错误,新创建的线程不会抢占时间片,只有等当前线程把时间片用完,其他线程才有资格拿到时间片去执行。
D选项错误,调度算法未必是剥夺式的,而准备就绪但是还没有获得CPU,它的权限更高只能说明它获得CPU被执行的几率更大而已

18
在这里插入图片描述

答案:CD
解析:

  1. HashMap,TreeMap 未进行同步考虑,是线程不安全的。
  2. HashTable 和 ConcurrentHashMap 都是线程安全的。区别在于他们对加锁的范围不同,HashTable 对整张Hash表进行加锁,而ConcurrentHashMap将Hash表分为16桶(segment),每次只对需要的桶进行加锁。
  3. Collections 类提供了synchronizedXxx()方法,可以将指定的集合包装成线程同步的集合。比如,
    List list = Collections.synchronizedList(new ArrayList());
    Set set = Collections.synchronizedSet(new HashSet());

19
在这里插入图片描述

答案:ACF
解析:new int[100]

20
在这里插入图片描述

答案:func1 func4
解析:这道题考的是数据类型转换问题。由大到小需要强制转换,由小到大不需要。
A:return; 没有返回值,错误
B:short → float 无须强制转换,正确
C:long → float 无须强制转换(这个最选项容易出错),正确。
float占4个字节为什么比long占8个字节大呢,因为底层的实现方式不同。
浮点数的32位并不是简单直接表示大小,而是按照一定标准分配的。
第1位,符号位,即S
接下来8位,指数域,即E。
剩下23位,小数域,即M,取值范围为[1 ,2 ) 或[0 , 1)
然后按照公式: V=(-1)^s * M * 2^E
也就是说浮点数在内存中的32位不是简单地转换为十进制,而是通过公式来计算而来,通过这个公式虽然,只有4个字节,但浮点数最大值要比长整型的范围要大。
D:double → float 没有强制转换,错误。

21
在这里插入图片描述

答案:B
解析:String类不可变,指的是String对象内容不可变,因为’String对象存在常量池中,而String的引用是可以可变,可以为String引用赋予新的对象字符串。

22
在这里插入图片描述

答案:程序正常运行,输出值为15
解析:
情况1: try{} catch(){}finally{} return;
显然程序按顺序执行。
情况2: try{ return; }catch(){} finally{} return;
先执行try块中return 语句(包括return语句中的表达式运算),但不返回;
执行finally语句中全部代码
最后执行try中return 返回
finally块之后的语句return不执行,因为程序在try中已经return。
情况3: try{ } catch(){return;} finally{} return;
1、程序先执行try,如果遇到异常执行catch块,
有异常:
执行catch中return语句,但不返回
执行finally语句中全部代码,
最后执行catch块中return返回。 finally块后的return语句不再执行。
无异常:执行完try再finally再return…
情况4: try{ return; }catch(){} finally{return;}
执行try块return语句(包括return语句中的表达式运算),但不返回;
再执行finally块,
执行finally块,有return,从这里返回。
此时finally块的return值,就是代码执行完后的值
情况5: try{} catch(){return;}finally{return;}
程序执行catch块中return语句(包括return语句中的表达式运算),但不返回;
再执行finally块,
执行finally块,有return,从这里返回。
情况6: try{ return;}catch(){return;} finally{return;}
1、程序执行try块中return语句(包括return语句中的表达式运算),但不返回;
有异常:
执行catch块中return语句(包括return语句中的表达式运算),但不返回;
再执行finally块
执行finally块,有return,从这里返回。
无异常:
再执行finally块
执行finally块,有return,从这里返回。

23
在这里插入图片描述

答案:C
解析:

  1. 首先,类的修饰符,都应该在class关键字之前,AB错;
  2. 抽象方法不能有方法体,D错。

24
在这里插入图片描述

答案:s1 != s2 ; s1 equals s2
解析:
(1)“” 用于比较基本数据类型时比较的是值,用于比较引用类型时比较的是引用指向的地址。
(2)Object 中的equals() 与 “
” 的作用相同,但String类重写了equals()方法,比较的是对象中的内容。

25
在这里插入图片描述

答案:C
解析:
首先:创建并启动线程的过程为:定义线程—>实例化线程—>启动线程。
一 、定义线程: 1、扩展java.lang.Thread类。 2、实现java.lang.Runnable接口。
二、实例化线程: 1、如果是扩展java.lang.Thread类的线程,则直接new即可。
2、如果是实现了java.lang.Runnable接口的类,则用Thread的构造方法:
Thread(Runnable target)
Thread(Runnable target, String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, String name)
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
所以A、D的实例化线程错误。
三、启动线程: 在线程的Thread对象上调用start()方法,而不是run()或者别的方法。
所以B的启动线程方法错误。

26
在这里插入图片描述

答案:A
解析:
checked exception:指的是编译时异常,该类异常需要本函数必须处理的,用try和catch处理,或者用throws抛出异常,然后交给调用者去处理异常。
runtime exception:指的是运行时异常,该类异常不必须本函数必须处理,当然也可以处理。
Thread.sleep()抛出的InterruptException属于checked exception;IllegalArgumentException属于Runtime exception。

27
在这里插入图片描述

答案:B
解析:while()括号里参数必须是布尔类型,要么true要么false

28
在这里插入图片描述

答案:A
解析:java中都是按栈中的值传递,基本数据类型栈中的值就是实际存储的值,引用类型栈中的值就是指向堆中的地址
1)String和char[ ]都是引用类型,所以在方法中传递的都是指向真实数据的地址
2)假设String str指向的hello的地址为d1,str传递到fun函数中的也是地址d1,成员变量str和fun的形参str不是同一个变量,把fun型中的str赋值为world只是修改了该str指向的地址,该地址由d1更改成了world的地址,并没有改变成员变量str指向的地址及堆中的数据,所以str还是hello。
3)假设char[ ] ch指向的abc的地址是d2,传递到fun函数中的地址也是d2,同上成员变量ch和fun的形参ch不是同一个变量,①如果把fun中的ch[0]='d’更改为ch = new ch[3];ch[0]=‘d’,那么成员变量ch的值是没有变化的,还是abc,原理同上String,只是改变了引用ch指向的堆数据的地址,并没有改变成员变量ch指向的地址以及堆中的数据。②改变了堆中的数据,所以最终结果编程dbc,此ch只是形参而不是成成员变量ch,如果对ch变化对成员变量ch没有影响,但是ch[i]指向了堆数据的地址,直接修改堆数据,所以成员变量变了。

29
在这里插入图片描述

答案:A
解析:单例模式: 第一步,不让外部调用创建对象,所以把构造器私有化,用private修饰。 第二步,怎么让外部获取本类的实例对象?通过本类提供一个方法,供外部调用获取实例。由于没有对象调用,所以此方法为类方法,用static修饰。 第三步,通过方法返回实例对象,由于类方法(静态方法)只能调用静态方法,所以存放该实例的变量改为类变量,用static修饰。 最后,类变量,类方法是在类加载时初始化的,只加载一次。所以由于外部不能创建对象,而且本来实例只在类加载时创建一次

30
在这里插入图片描述

答案:B
解析:第22题解析

31
在这里插入图片描述

答案:D
解析:Java内存5大区域:在这里插入图片描述

32
在这里插入图片描述

答案:D
解析:在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long、float、double类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
注意:String类型是Java7开始支持的。

33
在这里插入图片描述

答案:eE
解析:由于arr[0] =0,所以在进入 test()方法里面会在第一个if 上抛出一个NullPointerException,接着会执行 finally 的语句, (finally语句先于 return 和 throw语句执行),输出一个’e,然后回到 main方法中,由于捕捉到异常,所以进入到catch语句中,然后打印一个’E’,所以最终结果为"eE"

34
在这里插入图片描述

答案:C
解析:要注意两个问题:
1,字符串在java中存储在字符串常量区中
2,判断的是对象引用是否是同一个引用,判断字符串相等要用equals方法
首先判断a
MESSAGE 同一份字符串常量在内存中只有一份,因此是同一地址,返回true
再次比较(b+c)==MESSAGE 这相当于 new String(b+c)==MESSAGE 这里new了一个String对象,所以返回false

35
在这里插入图片描述

答案:D
解析:

  1. JVM加载class文件时,就会执行静态代码块,静态代码块中初始化了一个变量x并初始化为5,由于该变量是个局部变量,静态代码快执行完后变被释放。
  2. 申明了两个静态成员变量x,y,并没有赋初值,会有默认出值,int类型为0,
  3. 执行x–操作,变量单独进行自增或自减操作x–和--x的效果一样,此时x变为了-1
  4. 调用MyMethod()方法,在该方法中对x和y进行计算,由于x和y都是静态成员变量,所以在整个类的生命周期内的x和y都是同一个
  5. y=x++ + ++x可以看成是y=(x++)+(++x),当++或者–和其它变量进行运算时,x++表示先运算,再自增,++x表示先自增再参与运算。所以就时x为-1参与运算,然后自增,x此时为0,++x后x为1,然后参与运算,那么y=-1+1就为0,此时x为1
  6. 执行并打印x+y + ++x运算方式和第5步相同,最后计算结果就为3.

36
在这里插入图片描述

答案:AD
解析:

  1. == 和 equals():
    (1)“” 用于比较基本数据类型时比较的是值,用于比较引用类型时比较的是引用指向的地址。
    (2)Object 中的equals() 与 “
    ” 的作用相同,但String类重写了equals()方法,比较的是对象中的内容。
  2. 2.String对象的两种创建方式:
    (1)第一种方式: String str1 = “aaa”; 是在常量池中获取对象(“aaa” 属于字符串字面量,因此编译时期会在常量池中创建一个字符串对象,如果常量池中已经存在该字符串对象则直接引用)
    (2)第二种方式: String str2 = new String(“aaa”) ; 一共会创建两个字符串对象一个在堆中,一个在常量池中(前提是常量池中还没有 “aaa” 象)。
    System.out.println(str1==str2);//false
  3. String类型的常量池比较特殊。它的主要使用方法有两种:
    (1)直接使用双引号声明出来的String对象会直接存储在常量池中。
    (2)如果不是用双引号声明的String对象,可以使用 String 提供的 intern 方法。 String.intern() 是一个 Native 方法,它的作用是: 如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用; 如果没有,则在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用。
    String s1 = new String(“AAA”);
    String s2 = s1.intern();
    String s3 = “AAA”;
    System.out.println(s2);//AAA
    System.out.println(s1 == s2);//false,因为一个是堆内存中的String对象一个是常量池中的String对象,
    System.out.println(s2 == s3);//true, s1,s2指向常量池中的”AAA“
  4. 字符串拼接:
    String a = “a”;
    String b = “b”;
    String str1 = “a” + “b”;//常量池中的对象
    String str2 = a + b; //在堆上创建的新的对象
    String str3 = “ab”;//常量池中的对象
    System.out.println(str1 == str2);//false
    System.out.println(str1 == str3);//true
    System.out.println(str2 == str3);//false

37
在这里插入图片描述

答案:CD
解析:

  1. 使用ObjectOutputStream和ObjectInputStream可以将对象进行传输.
  2. 声明为static和transient类型的成员数据不能被串行化。因为static代表类的状态, transient代表对象的临时数据。

38
在这里插入图片描述

答案:ACD
解析:

  1. 抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。原因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽象方法用static修饰没有意义;使用synchronized关键字是为该方法加一个锁。。而如果该关键字修饰的方法是static方法。则使用的锁就是class变量的锁。如果是修饰类方法。则用this变量锁。但是抽象类不能实例化对象,因为该方法不是在该抽象类中实现的。是在其子类实现的。所以。锁应该归其子类所有。所以。抽象方法也就不能用synchronized关键字修饰了;native,这个东西本身就和abstract冲突,他们都是方法的声明,只是一个吧方法实现移交给子类,另一个是移交给本地操作系统。
  2. 接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的abstract可以省略),所以抽象类中的抽象方法不能用的访问修饰符这里也不能用。而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。接口可以去继承一个已有的接口。

39
在这里插入图片描述

答案:ABCD
解析:

  1. 强引用:一个对象赋给一个引用就是强引用,比如new一个对象,一个对象被赋值一个对象。
  2. 软引用:用SoftReference类实现,一般不会轻易回收,只有内存不够才会回收。
  3. 弱引用:用WeekReference类实现,一旦垃圾回收已启动,就会回收。
  4. 虚引用:不能单独存在,必须和引用队列联合使用。主要作用是跟踪对象被回收的状态。

40
在这里插入图片描述

答案:A
解析:不懂几何者禁入,不代表懂几何的人一定让进。

41
在这里插入图片描述

答案:D
解析:每个图内都包含一个图形,且包含的图形与其有接触。

42
在这里插入图片描述

答案:A

43
在这里插入图片描述

答案:C
解析:根据边长确定正方形,根据半径确定圆

44
在这里插入图片描述

答案:D
解析:朋友的朋友是朋友,敌人的敌人不一定是朋友

45
在这里插入图片描述

答案:B
解析:
只有A , 才B(B→A)
除非A,否则不B(B→A)
除非A,否则B(-B→A)
如果A,那么B(A→B)
只要A,就B(A→B)
A→B成立,可以推出 -B→ -A

46
在这里插入图片描述

答案:C
解析:行政复议第三人,是指与行政复议的具体行政行为有利害关系,为维护自己的合法权益,经复议机关同意参加复议的公民。 参与行政复议活动的还有证人,鉴定人,但他们参加行政复议只是协助行政复议机关查清事实,案件本身没有直接的利害关系,可以称之为其他行政复议参与人。

47
在这里插入图片描述

答案:B
解析:后一个数是前一个数的描述,把“个”字去掉组成新的数:

  • 1:1个1 ——11
  • 11:2个1——21
  • 21:1个2,1个1——1211
  • 1211:1个1,1个2,2个1——111221
  • 111221:3个1,2个2,1个1——312211

48
在这里插入图片描述

答案:A
解析:因为答案中没有两个连续相同的,所以第一天只可能是周日或周一
假设第一天的周日,则第七天周六回答应该是周日的阿里,与周四的天猫假话对应,所以这种可能正确;假设第一天是周一,则第七天周日回答应该是周六的淘宝,与周四的淘宝假话冲突,所以这种可能错误
故第七天回答应该是阿里

49
在这里插入图片描述

答案:D
解析:一共有以下四种情况:
1)第一个红色,第二个红色;此时,第三个人不用沉默,直接说,我是白色。
2)第一个红色,第二个白色;此时,沉默一会儿,第二个人想,如果我是红色,前面也是红色,第三个人早就说自己是白色了,他没有说,说明我是白色。(但题目没有此选项)
3)第一个白色,第二个红色;
4)第一个白色,第二个白色;
3和4情况下,会沉默两会儿(-比一会儿时间长些),第一个就想了,如果是前两种情况,等了这么就后面两个人该说话了,他们不说,说明不确定是哪种情况,但对自己而言3和4都是白色,所以说自己是白色的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值