Java基础 最近刚刚考完研准备复习一下基础 提桶进场

Java复习

1数据类型

数值

·整型

1 byte 8位 1字节

2 short 16位 2字节

4 int 32位 4个字节 默认

3 long 64位 8字节

·浮点数

1 float 32 位 4字节

2 double 64 8字节 默认

字符

布尔类型

true/false

常量只能赋值一次 并且在前面要加 final 变量名全大写 在内存中保存的方式不一样

final double PI=3.14;
       类型转换
     长度短——> 长度长的  属于自然转化
        byte b3=1;
        int a=b3;
        精度短的——> 精度长的 属于自然
        float c=3.3f;
        double d=c;
       强制转换 高位丢失 保留地位 精度变化

左右位移

1 >> 右位移 ——》除以2 右移一位

2 << 左位移 ——》乘以2 左移一位

三目运算

语法 条件?: ture结果1:false结果2

循环

for ------continue 关键字 跳出循环

Arrays.fill(数组,值);给数值中所有的赋值

算法

1冒泡

思想:

//冒泡排序
int[] is ={12,341,21,4,21,4,1,4,2334,3};
for (int i=0;i<is.length;i++){
    for (int j=0;j< is.length-1;j++){
        if (is[j]>is[j+1]){
            int temp=is[j];
            is[j]=is[j+1];
            is[j+1]=temp;
        }
    }
​
}
​
System.out.println(Arrays.toString(is));

2选择

思想:

        //选者排序  把每轮最小最大
        int[] is ={12,341,21,4,21,4,1,4,2334,3};
        for (int i=0;i<is.length-1;i++) {
            int minIndex=i;
            for (int j=i+1;j<is.length;j++){
                if (is[j]<is[minIndex]){
                    minIndex=j;
                }
            }
//            当前最小值
            int temp=is[i];
            is[i]=is[minIndex];
            is[minIndex]=temp;
        }
        System.out.println(Arrays.toString(is));

3插入

思想:

int[] is ={12,341,21,6,21,9,1,4,2334,3};
for (int i=1;i< is.length;i++){
    for (int j=i; j>0 && is[j]<is[j-1];j--){
        int temp=is[j];
        is[j]=is[j-1];
        is[j-1]=temp;
    }
}
System.out.println(Arrays.toString(is));

4希尔

//希尔排序   划分若干个子序列  进行插入排序  最后进行一次完整排序   一有一个增量值  T
        int[] is ={12,341,21,6,21,9,1,4,2334,3,2,33,11};
​
        int gap=1;//跨度
        while (gap<is.length){
            gap=gap*3+1;
        }
        while (gap>0){
            for (int i=gap;i<is.length;i++){
                int temp=is[i] ;
                int j=i-gap;//找跨度元素
                while (j>=0&&is[j]>temp){
                    is[j+gap]=is[j];//插入排序
                    j-=gap;
                }
                is[j+gap]=temp;
            }
            gap=gap/3;
        }
​
        System.out.println(Arrays.toString(is));

Object

HashCode:获取当前类的hash值 用于加密关系

toString :默认情况下是 打印类全名+hash值 一般是重写tostring 需要什么返回什么

json 字符 用于对象表示

equals:用于判断二个实列是否相等

接口 多实现

接口有默认方法 default 和 static 静态方法

单继承

类图

  • public :+

  • private : -

  • 抽象方法:斜体

  • 普通方法:正体

字符串 拆包和装包

Integer i6 = Integer.parseInt 转化为基本类型

Integer i7 = Integer.valueof 转化为包装数据类型

自动拆箱 :包装类型与基本类型可以自动转换

自动装箱 :

integer :(面试可能会问)

byte范围之内的值,在放在常量池中

byte 范围之外是在 栈内存中

字符串

"dahdh" 以双引号的是在常量池中的 是相等的

但是 new 出来的是不同的地址

intern 方法 : 先在常量池中寻找 ,没有在去堆内存中在去寻找

StringBuffer: 字符串拼接 线程安全

StringBuilder:线程不安全

异常

checkedException : 必须处理的

RuntimeException :可以不用被处理的异常

集合

//         collection 集合接口 定义了集合的主体功能  无序 不唯一
        Collection c;
​
​
​
​
​
//        set  无序  唯一   不能放入重复的数据
        Set set= new HashSet();
//        通过迭代器
        Iterator inter = set.iterator();  //获取迭代器
        while (inter.hasNext()){ //判断是否有下一个
            Object obj = (Object) inter.next();//获取下一个元素并更新游标哦
            System.out.println(obj);
        }
        // 同通过for增强
​
​
​
//        list  有序 不唯一
        List  l  = new ArrayList();
        l.add("aa");
        l.add(1,"aaaaa");
        LinkedList l1=new LinkedList();
​
​
//        ArrayList  可变数组  每次扩容是除前三次的  原来基础的1/2倍  修改元素差  随机访问效率高
//        linkedlist:  链表结构
​
​
​
​
​
​
//        map-key 唯一且无序
​
            Map mao=new HashMap();
            mao.put("name","ybb");
            System.out.println(Arrays.toString(mao.keySet().toArray()));
            System.out.println(Arrays.toString(mao.values().toArray()));
​
             //泛型    :  支持对象数据 不支持 基本数据类型   要使用就要对应的包装类  列 Integer   。。。
    }
上一篇:年终总结(21-22)


下一篇:UI自动化测试-21--WebDriver--操作链接