【javaSE基础01】

1、下列关于FileWrite的关闭方法和刷新方法正确的是(ABC)
A、close()方法是关闭流,并释放资源
B、close(0方法的执行包含刷新方法的功能
C、flush()方法的功能是刷新流,即把缓冲区中的字符写到文件中

D、flush()方法执行刷新后,就不能继续向文件中写数据了

题解:本题考核的知识点是FileWriter中关闭和刷新方法的区别。close()方法,先刷新数组,再关闭流。一旦流已关闭,再使用wite方法或flush方法将导致抛出IOExceptionflush()方法,刷新流。把缓冲区的数据写入文件,在使用flush()方法后,仍可以对流进行操作,并不会关闭流,因此仍然可以向文件中写数据.

2、下来选项中,关于继承说法错误的是(D)
A、子类将继承父类的非私有属性和方法
B、子类无法继承父类的私有成员
C、子类无法继承父类的构造方法,但可以使用父类的构造方法
D、继承可以单继承,也可以多继承

题解:子类可以继承父类的非私有属性和方法,无法继承父类的私有成员以及私有方法,这是由于java的封装性所规定的,但通过反射可以破坏封装性,从而使子类可以获取父类的私有属性和方法,但注意,通过反射获取父类的私有属性和方法是破坏了封装性,并不是继承.子类无法继承父类的构造方法,但可以通过super()来调用父类的构造方法,当子类的无参构造器中无任何操作时,创建子类对象时,会通过子类无参构造器默认调用父类构造器.继承只能单继承,不可以多继承,但可以间接继承.

3、以下关于字节缓冲流的描述错误的是(C)
A、字节缓冲流内部使用字节数组作为缓冲区
B、字节缓冲流是BufferedInputStream和BufferedOutputStream

C、字节缓冲流可以直接关联文件,不需要通过基本流
D、字节缓冲流可以提高读写的效率

题解:字节缓冲流是BufferedInputStream和BufferedOutputStream,其内部通过使用字节数组作为缓冲区,可以这样理解,字节流好比一条细流,缓慢传输,而缓冲流先将文件中的字节数据填充到一个字节数组中,然后再将字节数组写入到其他文件中,增加了读写速度.缓冲流不能直接关联文件,需要通过基本流来关联文件,只是在字节流的基础上增加了一个缓冲区.

4、以下关于TCP传输协议描述正确的是(AD)
A、TCP是面向连接的协议
B、TCP传输协议,使用Socket创建服务端
C、TCP传输协议,先启动客服端,然后启动服务端

D、TCP协议是数据传输安全的协议,可以用来做图片下载或者上传。

题解:本题考核的知识点是:基于TCP协议传输数据TCP协议,是面向连接的协议。使用ServerSocket创建服务端对象,调用该对象中的accept()方法获取到客户端的Socket对象,然后实现和客户端的数据交互,所以服务端需要使用客户端Socket。在运行程序是,先启动服务端,再启动客报端。TCP协议是数据传输安全的协议可以用来做文件的上传和下载。

5、如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.",也就是当前目录.

6、请填写下列代码的运行结果:

class Student {
	private String name;
	private int age;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public class Demo{
	public static void main(String [] args){
        Student s = new Student();
        s.setName("小丽");
        s.setAge(16);
        System.out.println(s.getName() + "---" + s.getAge());
    }
}

控制台输出:null---16

题解:this所在的方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。在本案例中Student类中的setName方法,赋值没有写this,所以此时并没有将传入的小丽成功的赋值给调用者s这个对象。所以name再次获取的时候还是默认初始化值null。

7、有关下面数组的定义,格式正确的是(AC )

A:int[] arr = new int[3];
B:int[] arr = new int[3]{11,22,33};
C:int[] arr = {11,22,33};
D:long[] arr = new int[] {33,22,11};

题解:数组在定义的过程中,中括号可以放在数组名称的前面,也可以放在数组名称的后面,在初始化数组的过程中,不能既给出长度,又给出具有的值。
A选项:该选项正确,这是正确的数组动态初始化,中括号可以写在数组名称的前面或者后面

B选项:该选项错误,数组初始化过程中,要么给出长度,要么给出具体数据值。
C选项:该选项正确,这是正确的数组静态初始化,中括号可以写在数组名称的前面或者后面
D选项:该选项错误,这是错误的数组静态初始化,等号前面的数据类型,必须和等号后面的数据类型一致

8、下列描述正确的是(ABCD)
A、成员变量定义在类中,方法外;局部变量定义在方法内。
B、成员变量在整个类中都可以使用;局部变量只能在声明它的方法内部使用。
C、成员变量有默认值;局部变量没有默认值,必须先赋值,后使用.
D、成员变量随对象一起在堆内存中存储,局部变量随方法的调用而存在于栈内存。

题解:A选项:该选项正确,定义在方法内部的变量叫局部变量,定义在类中方法外的变量叫成员变量。B选项:该选项正确,成员变量的作用域是整个类,局部变量的作用域是方法中离它最近的那对大括号。C选项:该选项正确,成员变量有默认值,整数默认值为0,浮点数默认值为0.0,字符型默认值为空字符,布尔型默认值为false,引用类型默认值为null;局部变量没有默认值,在使用前必须先赋值。D选项:该选项正确,成员变量存储在堆内存中,随着对象的创建而存在,局部变量存储在栈内存中,随着方法被加载进栈内存运行而存在。

9、关于下列代码,说法正确的是(ABD)

Integer i1 = 123; 2 int i2 = i1; 3 Integer i3 = 123; 4 Integer i4 = i1 + i3;

A、第1行代码将1个int类型的整数赋值给对应的包装类类型,是自动装箱。
B、第2行代码将1个Integer类型赋值给对应的基本数据类型,是自动拆箱。

C、第4行代码两个Integer计算之后又赋值给Integer,没有触发自动装箱或者自动拆箱。
D、第4行代码先触发了自动拆箱,后触发了自动装箱。
题解:本题考核的知识点是自动装箱、自动拆箱的概念。
自动装箱是把基本数据类型自动转换成对应的包装类类型.自动拆箱是把包装类类型自动转换成对应的基本数据类型.因为对象是不能进行四则运算的,所以第4行代码是将两个Integer对象先自动拆箱变成int类型,相加之后,再自动装箱赋值给一个Integer类型。

10、下面代码是强制类型转换的有()
A:byte b = (byte)128;
B:int i = 128;
C:int d = (int)3.14;

D:double d = 3.14F;

题解:128默认为int类型,将int类型强转为byte类型,但会发生数据溢出,B为正常赋值,C,3.14为double类型,强转为int类型会发生精度丢失,D,float类型转为double类型不算强转.
11、void方法中不能嵌套方法:

12、下列关于使用实现接口的方式创建多线程描述错误的是(C)
A、实现的接口名为Runnable
B、实现类中无法直接使用Thread类中的方法
C、启动线程时,使用实现类对象调用start()方法
D、这种方式创建线程时应该在Thread的构造方法中传递Runnable实现类的对象
题解:启动线程时,不能直接使用实现类对象调用start方法,必须创建Thread类的对象,并将实现类对象当做Thread类构造方法的参数进行传递

13、使用FileWriter对象操作本地文件,下列描述正确的是(BCD)
A、write(int c)是将一个数字原样写到本地文件中,即:小括号传入97,在本地文件中也是97。
B、 write(char[] cbuf, int off, int len)是将一个字符数组的一部分写到本地文件中。
C.write(String str)是将一个字符串写到本地文件中。
D、write(String str, int off, int len)是将一个字符串的一部分内容写到本地文件中。

题解:

write(int c):将参数数字对应的字符写到本地文件中。

write(char[] cbuf):将一个字符数组写到本地文件中。

write(char[] cbuf, int off, int len):将一个字符数组的一部分写到本地文件中。

write(String str):将一个字符串写到本地文件中。

write(String str, int off, int len):将一个字符串的一部分写到本地文件中。

14、 

File[] listFiles():返回文件夹下所有的文件,返回文件数组

String[] list():返回文件夹下所有文件的文件名,返回字符串数组

boolean isDirectory():判断File对象是否是文件夹






 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值