Java工程师笔试题目:包括语法、异常处理、集合与数据库操作

版权申诉
0 下载量 87 浏览量 更新于2024-08-13 收藏 48KB DOCX 举报
"某国有企业工程师笔试.docx 是一份针对JAVA工程师的笔试资料,包含了JAVA基础知识、关键字识别、作用域理解、异常处理、集合框架对比、字符串处理、IO流分类及SQL查询等多个方面的内容。" 一、JAVA基础 题目一中给出了一个简单的JAVA程序,主要考察的是方法参数传递的理解。在JAVA中,基本类型和对象引用作为参数传递时有所不同。对于基本类型,传递的是值的副本,而对象引用则是传递引用的副本,但实际对象并未改变。因此,`changeStr`方法中对`str`的修改不会影响到`main`方法中的`str`。 二、JAVA关键字 题目二询问哪些不是JAVA的关键字。JAVA的关键字包括`true`、`false`、`void`等,但`sizeof`、`const`不是JAVA关键字,它们在其他编程语言中可能有特殊含义,但在JAVA中不是。 三、作用域 JAVA的作用域有四种:public、private、protected以及默认(包级私有)。public可以被任何类访问,private只能在定义类内部访问,protected可以被同一包内的类和子类访问,而默认作用域只允许在同一包内的类访问。 四、数组与字符串长度 数组的长度通过`.length`属性获取,而不是方法。例如,`int[] arr = new int[5];`中,`arr.length`为5。对于字符串,同样有`.length()`方法获取其长度,如`String str = "Hello";`中,`str.length()`为5。 五、错误与异常 在JAVA中,`Error`通常表示系统级别的问题,如虚拟机错误,开发者通常无法预防或恢复。而`Exception`是程序运行过程中遇到的可预见的问题,可以通过捕获并处理来恢复程序执行。 六、try-catch-finally 当try块中有return语句时,finally块的代码仍然会执行。finally块中的代码通常用于释放资源,它会在return之前执行。 七、ArrayList与Vector ArrayList和Vector都是JAVA集合框架中的动态数组实现。ArrayList线程不安全但效率较高,而Vector是线程安全的,但由于每次操作都进行同步,性能较低。 八、STRING与STRINGBUFFER String对象在创建后不可变,每次修改都会创建新的对象,消耗资源。而StringBuffer是可变的,允许在原有对象上进行修改,适合大量字符串拼接操作。 九、JAVA流 JAVA中有两种类型的流:字节流和字符流。字节流的抽象基类是InputStream和OutputStream,字符流是Reader和Writer。此外,还有专门处理文件的FileInputStream、FileOutputStream、FileReader和FileWriter,以及缓冲流BufferedInputStream、BufferedReader等。 十、SQL查询 根据提供的表结构,可以编写以下SQL语句: 1. 查询身份证号码为0103082的申请日期:`SELECT g_applydate FROM g_cardapply WHERE gjdcard = '0103082'` 2. 查询同一个身份证号码有两条以上记录的身份证号码及记录个数:`SELECT gjdcard, COUNT(*) FROM g_cardapply JOIN g_cardapplydetail ON g_cardapply.g_applyno = g_cardapplydetail.g_applyno GROUP BY gjdcard HAVING COUNT(*) > 1` 3. 将身份证号码为0103082的记录在两个表中的申请状态均改为07:`UPDATE g_cardapply SET g_state = '07' WHERE gjdcard = '0103082'; UPDATE g_cardapplydetail SET g_state = '07' WHERE gjdcard = '0103082'` 4. 删除g-cardapplydetail表中所有记录:`DELETE FROM g_cardapplydetail` 这份笔试涵盖了JAVA开发中的核心概念,对求职者的基本功有全面的考查。掌握这些知识点是成为一名合格JAVA工程师的基础。