Java填空题

  1. 已知代码,最后输出结果a的值为__21____, b的值为______39____
    Int a = 10;
    int b = 20;
    If(a++ >10 || --b<20){
    a += 10;
    b += 20;
    }
  2. 已知代码,最后输出结果a的值为__11____, b的值为______20____

int a = 10;
int b = 20;
if(a++ >10 && --b<20){
a += 10;
b += 20;
}
System.out.println(a);
System.out.println(b);
3. 已知代码,在空格处添加________代码块,实现打印5个KaTeX parse error: Expected '}', got 'EOF' at end of input: …m.out.println(“”);
count–;
if(count==5){ break; };
}
4.已知代码,在空格处添加___i+=2_____代码,输出1,3,5,7,9
for(int i=1;i<=10;i+=2____){
System.out.println(i);
}
5. 已知程序:输出num值为___200__输出num值为___300__
public class Test{
private static int num2 = 100;
public static void changeNum(int num){
num = 1000;
}
Public static void main(string[] args){
int num = 200;
int num2 = 300;
changeNum(num)
changeNum(num2)
System.out.println(num);
System.out.println(num2);
}
}
6. 已知程序:控制台输出的结果是____in finally 7___
public static int testTry(){
int a = 7;
try{
return a;
}catch(Exception e){
System.out.println(“in catch”);
}finally{
System.out.println(“in finally”);
a = 10;
}
return a;
}
public static void main(String[] args) {
System.out.println(testTry());
}

简答题

  1. 请写出input标签的10个type属性
    Text文本框 password 密码框 radio 单选按钮 checkbox 复选框
    Image图像域 file文件域 button 按钮 reset 重置
    Submit提交按钮 hidden隐藏

  2. 请写出String,StringBuffer和StringBuilder的区别
    String 字符串常量 长度不可变 使用字符串拼接时是不同的2个空间 连接效率低
    StringBuffer 字符串缓冲区 长度可变 线程安全 字符串拼接直接在字符串后追加
    StringBuilder 字符串缓冲区 长度可变 非线程安全 字符串拼接直接在字符串后追加

  3. 请写出ArrayList与LinkedList的区别
    ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦
    LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始

  4. 表单提交Get和Post方式的区别
    get是从服务器上获取数据, post是向服务器传送数据。
    get传参,在URL中可以看到, post是通过HTTP post机制传参,用户看不到这个过程。
    对于get方式,服务器端用Request.QueryString获取变量的值,
    对于post方式,服务器端用Request.Form获取提交的数据。
    get传送的数据量较小,不能大于2KB,post传送的数据量较大,一般被默认为不受限制
    get安全性非常低,post安全性较高. 但是get执行效率却比Post方法好.
    上传时必须用post

  5. 请写出finally,final,finalize() 的区别
    Final是一个修饰符:
    当final修饰一个变量的时候,变量变成一个常量,它不能被二次赋值
    当final修饰的变量为静态变量(即由static修饰)时,必须在声明这个变 量的时候给它赋值
    当final修饰方法时,该方法不能被重写
    当final修饰类时,该类不能被继承
    Final不能修饰抽象类,因为抽象类中会有需要子类实现的抽象方法,
    (抽象类中可以有抽象方法,也可以有普通方法,当一个抽象类中没有抽象方法时,
    这个抽象类也就没有了它存在的必要)
    Final不能修饰接口,因为接口中有需要其实现类来实现的方法
    Finally:
    Finally只能与try/catch语句结合使用,finally语句块中的语句一定会执行,
    并且会在return,continue,break关键字之前执行
    finalize:
    Finalize是一个方法,属于java.lang.Object类,finalize()方法是GC(garbage collector垃圾回收)运行机制的一部分,finalize()方法是在GC清理它所从属的对象时被调用的
    6.请写出list集合的实现类的区别
    ArrayList:查询数据比较快,添加和删除数据比较慢(基于可变数组)线程不安全的
    LinkedList:查询数据比较慢,添加和删除数据比较快(基于链表数据结构)线程不安全
    Vector:线程安全

访问权限修饰符以及它们修饰之后的访问范围?以及范围从小到大的排序
访问修饰符 同一个类 同包 不同包,子类 不同包,非子类
private √
default √ √
protected √ √ √
public √ √ √ √

访问修饰符是控制类,属性,方法的访问范围。
Public 公共的 在整个项目中可以访问
Protected 受保护的 在同一个包中以及不同包的子类中访问
Default 默认的 在同一个包中 访问
Private 私有的 只能在当前类中访问

8.请写出运行时异常和非运行时异常的区别,并且每种至少写出3个常见的异常
运行时异常: 都是RuntimeException类及其子类异常:
IndexOutOfBoundsException 索引越界异常
ArithmeticException:数学计算异常
NullPointerException:空指针异常

非运行时异常:是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。
如:IOException、文件读写异常
FileNotFoundException:文件未找到异常
EOFException:读写文件尾异常
9. 请写出Hashtable与HashMap的区别
HashMap 线程不安全的,效率高,允许键对象和值对象为null
HashTable线程安全的,效率低,不允许键对象和值对象为空,否则会报异常
10. 简述重写和重载的区别
重载:重载发生在同一个类中,在该类中如果存在多个同名方法,
但是方法的参数类型和个数不一样,那么说明该方法被重载了。
重写:重写发生在子类继承父类的关系中,父类中的方法被子类继承,
方法名,返回值类型,参数完全一样,但是方法体不一样,那么说明父类中的该方法被子类重写了。
当父类无法满足子类的需求的时候需要重写父类中的方法。子类不能重写父类私有的和static修饰的方法
子类不能抛出比父类更大的异常,子类重写父类方法时访问权限不能小于父类
11. 请写出throw和throws的区别
Throw表示抛出一个异常对象,异常对象需要抛出才能使用。用在方法体内。
Throws 用来声明异常,用在方法的参数列表和方法体之间,表示声明异常类。
调用声明异常类的方法需要处理异常。
12.接口抽象类的区别
1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。
2、抽象类要被子类继承,接口要被类实现。
3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现
4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。
6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果
7、抽象类里可以没有抽象方法
8、如果一个类里有抽象方法,那么这个类只能是抽象类
9、抽象方法要被实现,所以不能是静态的,也不能是私有的。
10、接口可继承接口,并可多继承接口,但类只能单继承
13.表单提交Get和Post方式的区别

  1. get是从服务器上获取数据,post是向服务器传送数据。
  2. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。
    但理论上,IIS4中最大量为80KB,IIS5中为100KB。

    1. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

4.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
5. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

  1. 请写出List ,Set,Map的区别
    List接口和Set接口都是 Collection的子接口。所以都是单列集合,大部分操作相同,遍历都可以通过迭代器。
    不同在于 List中的元素 是 有下标 有序 可重复的,Set中的元素 没有下标无序不可重复
    Map 双列集合也叫映射,每个元素都有key(键)和value(值)两个对象组成组成
  2. switch语句后括号里的表达式是什么类型
    Byte short int char Enum枚举 Jdk1.7之后可以使用String
    16.分别描述一下java三大特性
    封装步骤
    1.属性私有化 为所有的成员变量添加private关键字
    2.公开属性的访问方法,get取值 set赋值
    3.添加 有参数和无参数的构造方法
    封装之后的对象使用.
    封装之后的对象使用属性时,不能使用 对象.属性 的方法,
    只能通过对象的 set方法赋值,get方法取值。

继承和生活中的继承一样,继承者拥被继承者的特性。
在java中的继承关系通过 extends关键字体现,格式
Class 子类 extends 父类{类体}
继承后子类拥有父类的特性,子类不能继承父类里 private 的特性和 构造方法,java中只能是单继承 一个类只可以有一个父类,一个父类可以有多个子类,实例化子类时默认先调用父类的构造方法。我们将类中相同的属性和方法向上提取封装成父类,可以增加代码的复用减少代码量。
多态的意思就是一种事物的多种状态,是面向对象的三大特征之一(封装,继承,多态)
1.方法的重载和重写
2.用子类给父类赋值 (用父类的引用指向子类)
3.用实现类给方法赋值 (用接口的引用指向实现类)

17.请写出String对象的5个常用方法
length() charAt() equals() indexOf() substring()
concat() toLowerCase() split() compareTo() replace()
18.简述int和Integer区别
Integer是int提供的封装类,而int是Java的基本数据类型;
Integer默认值是null,而int默认值是0;
声明为Integer的变量需要实例化,而声明为int的变量不需要实例化;
Integer类中常用的两个方法 parseInt(); 将String类型转换成int类型 返回值时int
valueOf(); 将String类型转换成int类型 返回值时integer
19.this关键字的作用
指代当前对象 一般用来区分成员变量和局部变量
调用当前类的属性 this.属性名
调用当前类的方法 this.方法名(); 可以省略this
调用当前类的构造方法 this () 当调用有参时需要在()里添加参数
20.static关键字作用
Static 静态,被静态修饰的 属性和方法 都在类加载的时候 创建
修饰属性 静态属性 可以不需要对象通过类名直接调用 类名.属性
修饰方法 静态方法 可以不需要对象通过类名直接调用 类名.方法名(参数)
Static 的属性可以认为是属于类的 并不是独立于对象中
21.Super关键字作用
一般用来调用父级的特性
调用父级属性 super.属性名
调用父类方法 super.方法名()

java基础笔试题一相关推荐

  1. Java进阶篇(六)——Swing程序设计(上),java面试题,java基础笔试题,BAT

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Sw ...

  2. Java序列化机制原理,java面试题,java基础笔试题,BAT

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Ja ...

  3. Java基础笔试题干货

    Java基础方面: 1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域           当前类       同一package  子孙类      ...

  4. 常见Java基础笔试题之二

    1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"?  Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字 ...

  5. Java基础笔试题(五)

    线程同步的方式 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成 ...

  6. java 基础 笔试题_非常全面的java基础笔试题

    1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...

  7. 冒死潜入某个外包公司获得的珍贵Java基础笔试题(附答案)

    前言 大家好,我是程序员manor,上次货拉拉面试太打击心情,于是我决定找些小boss打打让自己愉悦起来,于是就有了下面

  8. Android开发面试经——2.常见Android基础笔试题

     标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报  分类: Android开发(29)  版 ...

  9. 博学谷java题库判断_博学谷Java开发面试基础笔试题及答案分享

    博学谷Java开发面试基础笔试题分享:char 型变量中能不能存贮一个中文汉字?为什么?"=="和 equals 方法究竟有什么区别?静态变量和实例变量的区别?是否可以从一个 st ...

最新文章

  1. python中bind的用法_JS中的apply、call和bind的用法和区别
  2. one-hot与哑变量(dummy variable)的区别
  3. JavaScript正则替换去除字符串中特殊字符
  4. JVM 调优实战--使用jstack分析线程执行情况
  5. Python如何在循环语句中加入两个变量_python学习笔记(第一章)
  6. python vbs库_Python语言之requests库
  7. c语言中嵌套循环的作用,C语言中n层循环嵌套实现
  8. xmind 笔记
  9. Android彻底组件化方案实践
  10. development period
  11. 清理谷歌浏览器注册表_【从注册表解决谷歌浏览器主页被篡改】注册表被篡改_谷歌浏览器被360篡改...
  12. PcShare2005代码阅读(2)
  13. python画图的函数_Python绘图实用函数
  14. Azure与Aliyun服务对比
  15. UEFI.源码分析.DXE的异步事件服务.第一部分.事件驱动
  16. Java程序设计课程教学实践
  17. python输出成绩分析代码_Python根据成绩分析系统浅析
  18. 计算机图形输入的原理,【计算机图形学】零 · 计算机图形系统概述
  19. Python条码识别:使用Python进行条形码识别的详细教程
  20. php吓人,网友分享最细思极恐的真实经历,截图太可怕…

热门文章

  1. 杰理BLE AC631N/636N---功耗测试
  2. 盘点用jQuery框架实现“for循环”的四种方式!
  3. SAP ABAP 全角半角转换
  4. Python+Django+channels实现websocket
  5. Word文档内实现点击作者跳转到指定文献
  6. github下载项目下到一半出现需要登陆此站点objects.githubusercontent.com
  7. win11电脑亮度调节失效解决经验分享
  8. 小米5 流量显示无服务器,出乎意料!小米Play这配置,简直伤透米粉心!自带流量能否挽救?...
  9. 2019pro与air怎么选_新款MacBook Air和MacBook Pro该怎么选?看完你就知道了
  10. 贴图不说话:2500元的羊绒长丝巾