音乐节及一些基本面试题

音乐节初步 完成数据库链接及封装 代码会有所改动

public class Music {
    int id;
    String name;
    String author;

    @Override
    public String toString() {
        return "Music{" +
                "序号:" + id +
                ", 音乐名:'" + name + '\'' +
                ", 作者:'" + author + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static List<Music> musics(List<Music> musics)
    {
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        try {
            connection=Test1.connection();
            String sql="select * from music";
            statement = connection.prepareStatement(sql);
            resultSet = statement.executeQuery();
            while(resultSet.next()){
                Music music=new Music();
                music.setId(resultSet.getInt(1));
                music.setName(resultSet.getString(2));
                music.setAuthor(resultSet.getString(3));
                musics.add(music);

            }
        }  catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            Test1.cLose(resultSet,connection,statement);
        }
        return musics;
    }

    public static void main(String[] args) {
        List<Music> music=new ArrayList<>();

        System.out.println(musics(music));
    }
}
public static List<Music> iNSERT(String name,String author){
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        List<Music> musics=new ArrayList<>();
        try {
            connection= Dbutill.connection();
            String sql="insert into music(name,author) value(?,?)";
            statement = connection.prepareStatement(sql);
            statement.setString(1,name);
            statement.setString(2,author);
            statement.executeUpdate();
        }  catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            Dbutill.cLose(resultSet,connection,statement);
        }
        return musics;
    }
     public static List<Music> dELECT(int i){
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        List<Music> musics=new ArrayList<>();
        try {
            connection= Dbutill.connection();
            String sql="delete from music where id=?";
            statement = connection.prepareStatement(sql);
            statement.setInt(1,i);
            statement.executeUpdate();
        }  catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            Dbutill.cLose(resultSet,connection,statement);
        }
        return musics;
    }
    public static List<Music> uPDATA(int id,String name,String author){
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        List<Music> musics=new ArrayList<>();
        try {
            connection= Dbutill.connection();
            String sql="update music set name=?,author=? where id=?";
            statement = connection.prepareStatement(sql);
            statement.setString(1,name);
            statement.setString(2,author);
            statement.setInt(3,id);
            statement.executeUpdate();
        }  catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            Dbutill.cLose(resultSet,connection,statement);
        }
        return musics;
    }
    }
import java.sql.*;

public class Test1 {
    public static Connection connection() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zjgm?user=root&password=123456");
        return connection;
    }
    public static void cLose(ResultSet resultSet, Connection connection, Statement statement){
        if (resultSet!=null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

主函数

Musicdao musicdao=new Musicdao();
        musicdao.iNSERT("w","a");
        musicdao.dELECT(10);
        uPDATA(1,"s","s");
        System.out.println(musicdao.sElect());

基本面试题
1.在JAVA中如何跳出当前的多重嵌套循环?
方法一:可以在需要的循环语句前定义一个标号,
然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环

方法二:可以在需要的循环条件内加入一个boolean类型的判断,需要的时候将此变量值反转,再break当前循环即可跳出。

2.java的8大基本数据类型
byte(位) 8
short(短整数)
int(整数) 32
long(长整数)
float(单精度)
double(双精度)
char(字符)
boolean(布尔值)

3.switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
能 不能 能

4.用最有效率的方法算出2乘以8等於几?
2 << 3

5.静态变量和实例变量的区别?
首先在语法定义上区别:静态变量前面要加static,实例变量不用
实例变量输入对象的属性,必须创建了实例对象(如 new)才会被分配空间,才可以使用实例变量,静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用

6.Integer与int的区别
1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 。
4、Integer的默认值是null,int的默认值是0

7.GC是什么?为什么要有GC?
垃圾收集 垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存

8.JDBC编程有哪些不足之处?
1、JDBC:数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
MyBatis:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。
2、JDBC:Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大。
3、JDBC:向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
4,JDBC:对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。

9.Java中的泛型是什么 ? 使用泛型的好处是什么?
泛型其实就是在定义类、接口、方法的时候不局限地指定某一种特定类型,而让类、接口、方法的调用者来决定具体使用哪一种类型的参数。
1、类型安全,提供编译期间的类型检测
2、前后兼容
3、泛化代码,代码可以更多的重复利用
4、性能较高,用GJ(泛型JAVA)编写的代码可以为java编译器和虚拟机带来更多的类型信息,这些信息对java程序做进一步优化提供条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值