当前位置: 代码迷 >> 综合 >> 面试题+Java基础+Java对象+逻辑思维(方法,对象)
  详细解决方案

面试题+Java基础+Java对象+逻辑思维(方法,对象)

热度:73   发布时间:2023-12-02 17:01:51.0

一、五道面试题
    1、什么是JDBC,在什么时候会用到它?、
        JDBC的全称是:Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同数据库变得更加简单。
    2、JDBC访问数据库的基本步骤是什么?
        (1)加载数据库驱动(到JVM)。
        (2)建立数据库连接。
        (3)创建数据库操作对象。
        (4)定义操作的SQL语句。
        (5)执行数据库操作。
        (6)获取并操作结果集。
        (7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接)
    3、execute,executeQuery,executeUpdate的区别是什么?
        (1)Statement的execute(String query)方法用来执行任意的SQL查询,如果查询结果是一个Resultset,这个方法返回true。如果结果不是Resultset,比如insert或update查询,就会返回false。
        (2)Statement的executeQuery(Strign query)接口用来执行select查询语句,并且返回ResultSet。即使查询不到记录返回的ResultSet,比如insert或update查询,就返回false。、
        (3)Statement的executeUpdate(Strign query)方法用来执行insert或update/delete(DML)语句。
        只有当你不确定是什么语句的时候,才应该使用execute()方法,否则应该使用executeQuery或者executeUpdate方法。
    4、JDBC的PreparedStatement是什么?
        PreparedStatement对象代表的是一个预编译的SQL语句。用它提供的setter方法可以传入查询的变量。由于PreparedStatement是预编译的,通过它可以将对应的SQL语句高效的执行多次。由于PreparedStatement自动对特殊字符转       义,避免了SQL注入攻击,因此应当尽量的使用它。
    5、.相对于Statement,PreparedStatement的优点是什么?
        1、PreparedStatement有助于防止SQL注入,因为它会自动对特殊字符转义。     
        2、PreparedStatement可以用来进行动态查询。
        3、PreparedStatement执行更快。尤其当你重用它或者使用它的拼量查询接口执行多条语句时。
        4、使用PreparedStatement的setter方法更容易写出面向对象的代码,而Statement的话,我们得拼接字符串来生成查询语句。如果参数太多了,字符串拼接看起来会非常丑陋并且容易出错。
二、Java方法
    1、什么是方法:
        方法相当于行为。
    2、如果方法具有返回值,方法必须使用关键字return返回该值,如果方法没有返回值,返回类型void。
    3、方法的调用:对象名.方法名()。如果是静态:类名.方法名()。
    4、方法的重载:方法名相同,方法的参数类型和个数不同的叫方法的重载。
    5、静态方法不能访问非静态方法(static)。
    6、返回值只能返回一个值。
    7、方法里不能定义方法,方法里可以调用方法。
    8、局部变量和成员变量:
        (1)变量声明的位置决定变量作用域。
        (2)变量作用域确定可在程序中按变量名访问该变量的区域。
        局部变量和成员变量的区别:
            作用域不同:(1)局部变量的作用域仅限于定义它的方法。(2)成员变量的作用域在整个类内部都是可见的。
            初始值不同:(1)Java会给成员变量一个初始值。(2)Java不会给聚币变量赋予初始值。
        注:在同一个方法中国,不允许有同名局部变量;在不同的方法中,可以有同名局部变量。两类变量同名时,局部变量具有更高的优先级。
三、类、对象
    1、什么是类什么是对象:
        类是对象的抽象,对象是类的具体。
    2、对象的创建:使用关键字new来创建;(Person p = new Person())。
    3、static:如果一个成员声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。static成员最常见的例子是main(),因为任何程序开始执行时必须调用main(),所以它被声明为static。声明为static的方法有一下几条限制:(1)它们仅能调用其他的static方法。(2)它们只能访问static方法。(3)它们不能以任何方式引用this或super。
    4、什么是构造方法:
        方法名与类名相同,没有返回值的方法。
    5、当类中有有参的构造方法Java的虚拟机就不会再造一个无参的构造方法。
四、逻辑思维:
    1、有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐 分成50、90克各一份? 
    2、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以外30公里每小时的速度和 两辆火车现时启动,从洛杉矶出发,碰到另辆车后返回,依次在两辆火车来回的飞行,直道两面辆火车相遇,请问,这只小鸟飞行了多长距离? 
    3、对一批编号为1~100 全部开关朝上开的灯进行以下操作凡是1 的倍数反方向拨一次开关2 的倍数反方向又拨一次开关3 的倍数反方向 又拨一次开关。 问最后为关熄状态的灯的编号。
    

  相关解决方案