【Java学习笔记】

来源:互联网 发布:linux rws是什么意思 编辑:程序博客网 时间:2024/06/06 00:54

最近翻到了以前写在笔记本上的Java笔记,觉得特别杂乱无章,最近正好在学习Android,正好复习一下以前的基础

基础部分:

1.基本类型的运算

//<1>Bytebyte b1 = 5;byte b2 = 6;byte i = 10 + 20;//直接量相加不会出错byte b3 = b1 + b2;//此时编译错误 byte、short、char类型参与运算时会先转型为intint b4 = b1 + b2;//正确byte b5 = (byte)(b1 + b2);//正确
//<1>byteint n =1;byte r= 1;r=(byte) (r+1);//此时必须手动强转,否则会报错r+=1;//自动强转
//<1>Bytebyte a = Byte.MAX_VALUE;//取Byte类型的最大值byte b = Byte.MIN_VALUE;//取Byte类型的最小值
//<2>intint a1 = Integer.MAX_VALUE;//取int类型最大值int a2 = a1+1;//发生溢出
//<3>Math方法double ceil = Math.ceil(3.1/2);double floor = Math.floor(3.1/2);//运算结果数据类型与运算项中范围最大的项目一致double x = Math.pow(10, 2);//10的平方
//<4>运算中产生的特殊值System.out.println(3.14/0);//Infinity无穷大System.out.println(Double.MAX_VALUE*2);//负数开平方得到NaN(not a number)long ly = 299792458*60*60*24*365;//结果错误,右边的前两项已经溢出,但编译器不会报错//解决:对299792458加L处理

2.排序与查找

<1>插入排序static int[] insert(int[] a) {        for (int i = 0; i < a.length - 1; i++) {            for (int j = i; j >= 0; j--) {                if (a[j + 1] < a[j]) {                //和之前的数进行比较                    int temp = a[j + 1];                    a[j + 1] = a[j];                    a[j] = temp;                } else {                    break;                }            }        }
//<2>二分法查找    static void BinaryFind(int[] a, int x) {    // 可用Arrays.binarysearch直接调用        int low = a[0];        int high = a[a.length - 1];        int mid = (low + high) / 2;        while (true) {            mid = (low + high) / 2;            if (x > mid) {                low = mid + 1;            } else if (x < mid) {                high = mid - 1;            } else {                System.out.println("找到元素!" + mid);                break;            }            if (low > high) {                System.out.println("找不到元素");                break;            }        }    }
0 0
原创粉丝点击