面试常用的代码片段

package com.transaction.demo.jdbc;

import java.sql.*;
import java.util.ArrayList;

// JDBC
class JDBC {
    /*public static void main(String[] args) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.65.142:3306/test","root","root");

        Statement statement = connection.createStatement();

        String sql = "select * from user";
        ResultSet resultSet = statement.executeQuery(sql);

        while(resultSet.next()){
            System.out.println(resultSet.getObject("id")+" "+resultSet.getObject("name")+" "+resultSet.getObject("password"));
        }

        resultSet.close();
        statement.close();
        connection.close();
    }*/

    public static void main(String[] args) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.65.142:3306/test","root","root");
        connection.setAutoCommit(false);

        Statement statement =  connection.createStatement();
        int rows = statement.executeUpdate("insert into user(name,password) values(‘terry‘,‘terry‘)");

        connection.commit();

        System.out.println(rows);

    }
}
// 单例模式
class Singleton {
    private static Singleton instance = null;

    private Singleton() {}

    public static Singleton getInstance(){
        if(instance == null){
            instance = new Singleton();
        }
        return instance;
    }

    private void sayHello(){
        System.out.println("hello");
    }

    public static void main(String[] args) {
        //单例模式
        Singleton single = getInstance();
        single.sayHello();

        Singleton single1 = new Singleton();
        single1.sayHello();
    }
}
// 多线程 新建->就绪->运行->阻塞->死亡
class ThreadAndRunnable extends Thread implements Runnable{
    @Override
    public void run() {
        System.out.println("线程4");
    }

    public static void main(String[] args) {
        //lambda
        Thread t1 = new Thread(() -> System.out.println(Thread.currentThread().getName()+" 线程1"));
        t1.start();

        //非lambda 匿名内部类
        Thread t2 = new Thread(){
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+" 线程2");
            }
        };
        t2.start();

        Thread t3 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+" 线3");
            }
        });
        t3.start();
    }

    //常规
    /*public static void main(String[] args) {
        Thread t1 = new ThreadAndRunnable();
        t1.start();

        Runnable run = new ThreadAndRunnable();
        Thread t2 = new Thread(run);
        t2.start();
    }*/
}

//栈
class Stack{
    ArrayList<Object> list = new ArrayList<>();

    //入栈
    public void push(Object o){
        list.add(o);
    }
    //出栈
    public Object pop(){
        Object o = list.get(list.size() - 1);
        list.remove(o);
        return o;
    }
    //栈是否为空
    public boolean isEmpty(){
        return list.isEmpty();
    }
    //栈大小
    public int size(){
        return list.size();
    }
    //打印栈元素
    @Override
    public String toString(){
        return String.valueOf(list);
    }

    public static void main(String[] args) {
        //创建一个栈
        Stack stack = new Stack();
        //入栈
        for(int i=1;i<=10;i++){
            stack.push(i);
        }
        //出栈
        while(!stack.isEmpty()){
            System.out.println("栈:" + stack.toString() + "\t栈大小为:" + stack.size() + "\t出栈元素为:" + stack.pop());
        }
    }
}
//队列
class Queue{
    ArrayList<Object> list = new ArrayList<>();

    //入队
    public void in(Object o) {
        list.add(o);
    }

    //出队
    public Object out() {
        Object o = list.get(0);
        list.remove(o);
        return o;
    }

    //队是否为空
    public boolean isEmpty() {
        return list.isEmpty();
    }

    //队大小
    public int size() {
        return list.size();
    }

    //打印队元素
    @Override
    public String toString() {
        return String.valueOf(list);
    }

    public static void main(String[] args) {
        //创建一个队列
        Queue queue = new Queue();
        //入队列
        for(int i=1;i<=10;i++){
            queue.in(i);
        }
        //出队列
        while(!queue.isEmpty()){
            System.out.println("队:" + queue.toString() + "\t队大小为:" + queue.size() + "\t出队元素为:" + queue.out());
        }
    }
}
// B树
class BTree{
    public int data;
    public BTree left;
    public BTree rigth;

    public boolean hasLeft(){
        return left != null;
    }

    public boolean hasRigth(){
        return rigth != null;
    }

    public BTree(){}

    public static void main(String[] args) {
        BTree root = new BTree();
        root.data = 0;

        BTree node1 = new BTree();
        node1.data = 1;

        BTree node2 = new BTree();
        node2.data = 2;

        BTree node3 = new BTree();
        node3.data = 3;

        BTree node4 = new BTree();
        node4.data = 4;

        BTree node5 = new BTree();
        node5.data = 5;

        BTree node6 = new BTree();
        node6.data = 6;

        root.left = node1;
        root.rigth = node2;

        node1.left = node3;
        node1.rigth = node4;

        node2.left = node5;
        node2.rigth = node6;

        System.out.println("先序遍历二叉树:");
        queryFirst(root);
        System.out.println();

        System.out.println("中序遍历二叉树:");
        queryMiddle(root);
        System.out.println();

        System.out.println("后序遍历二叉树:");
        queryLast(root);
        System.out.println();
    }
    //先序遍历二叉树
    public static void queryFirst(BTree tree){
        if(tree == null){
            return;
        }
        System.out.print(tree.data+"\t");
        if(tree.hasLeft()){
            queryFirst(tree.left);
        }
        if(tree.hasRigth()){
            queryFirst(tree.rigth);
        }
    }
    //中序遍历二叉树
    public static void queryMiddle(BTree tree){
        if(tree == null){
            return;
        }
        if(tree.hasLeft()){
            queryMiddle(tree.left);
        }
        System.out.print(tree.data+"\t");
        if(tree.hasRigth()){
            queryMiddle(tree.rigth);
        }
    }
    //后序便利二叉树
    public static void queryLast(BTree tree){
        if(tree == null){
            return;
        }
        if(tree.hasLeft()){
            queryLast(tree.left);
        }
        if(tree.hasRigth()){
            queryLast(tree.rigth);
        }
        System.out.print(tree.data+"\t");
    }
}
// 冒泡
class BubbleSort{
    public static void sort(int a[]){
        int temp = 0;
        for(int i = 0;i < a.length;i++){
            for(int j = i;j < a.length;j++){
                if(a[i] > a[j]){
                    temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int[] a = {1,3,5,2,4,8,6,7,10,9};
        sort(a);

        for(int i = 0;i < a.length;i++){
            System.out.println(a[i]);
        }
    }
}

原文地址:https://www.cnblogs.com/i-tao/p/11770412.html

时间: 2024-10-16 23:55:08

面试常用的代码片段的相关文章

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,以及其他的一些功能. 在从一个新手到逐渐学会各种功能.代码.控件.方法如何使用的过程中,也在逐渐积累一些知识,但是一次总不会把这些东西都深刻记住并完全理解.所以在这儿记录下这些东西,用来

WebApp 开发中常用的代码片段

其实这里面的多数都是 iOS 上面的代码.其他平台的就没有去验证了. HTML, 从HTML文档的开始到结束排列: <meta name=”viewport” content=”width=device-width, initial-scale=1.0″/> 让内容的宽度自适应为设备的宽度, 在做Mobile Web时必须加的一条 <meta name=”format-detection” content=”telephone=no”]]> 禁用手机号码链接(for iPhone)

常用Javascript代码片段集锦

说集锦有点夸张了,因为只是收集了一部分. 这是我业余时间收集的一些常用的javascript代码片段. 不过代码的组织比较混乱,主要是通过全局函数和对象封装,后期会继续添加和完善. 如果有错误欢迎批评指正, 当然也欢迎PR或提issue. 希望大家一起完善! 如果项目依赖jQuery/Zepto等库或框架, 可能有些代码用不到,因为这些库或框架已经帮我们封装好了. 这主要是为了脱离jQUery/Zepto等库的情况下使用. Github: https://github.com/zffMaple/

记录C#常用的代码片段

时间一久,常用的代码会有点忘记,还是贴在这里方便查找! 1.将信息写入文件中 //将字符串写入到文本中 void writeToText(string msg) { try { msg = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " : " + msg; string fileUrl = HttpContext.Server.MapPath("~/unionpayLog.txt"); Syst

iOS开发效率之为Xcode添加常用的代码片段

tableview是我们经常使用的控件,而使用tableview控件需要自己去实现一些基本的tableview的代理.这些对于每个程序基本上都是大同小异.对于声明property来说也是我们经常需要做的工作.所以我们需要把这些公用的东西总结成代码块,供我们以后的快捷使用. 具体步骤如下: 1.将我们需要重复使用的代码块全部选中拖到下图右下角的libray里面去. 2.这时候会弹出一个对话框需要我们填入一些基本信息 从上到下依次是: Title 代码片段的标题 Summary 代码片段的描述文字

前端开发常用js代码片段

HTML5 DOM 选择器 // querySelector() 返回匹配到的第一个元素var item = document.querySelector('.item');console.log(item); // querySelectorAll() 返回匹配到的所有元素,是一个nodeList集合var items = document.querySelectorAll('.item');console.log(items[0]); 阻止默认行为 // 原生jsdocument.getEl

常用HTML5代码片段

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Untitled</title> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif

常用CSS代码片段

1.标准html页面模板 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wid

jsp 中常用的代码片段

引入jsp的头部的标签文件: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> <%@ taglib prefix="fmt" uri="