Java基础复习

  • java语言概述
  • 基本语法
  • 变量
  • 运算符
  • i++,++i,i--,--i;之间的区别
  • instanceof
  • & &&; | ||;之间的区别
  • 位运算
  • 循环
  • 数组
  • Arrays工具类:定义在java.util包
  • 数组常见异常
  • 面向对象
  • Object类
  • 包装类
  • 异常


java语言概述

java虽然去除了c语言里的指针,并且还有垃圾回收机制,但是仍然会出现内存溢出,内存泄露问题
   JDK=JRE+开发工具集  JRE=JVM+JavaSE标准类库

基本语法

goto,const是保留字,要避免使用

变量

基本数据类型:{btye,short,char<int,<long(后面加L),float,<double,(后面加F),}(自动类型转换)boolean 基本数据类型初始化不附值会有默认值
引用数据类型:类(class)String类型属于类,接口(interface),数组([]) 引用数据类型不附值默认为null

运算符

i++,++i,i–,--i;之间的区别

++i,是先自增,在运算
i++,先运算,在自增

int a1 = 10;
   int b1 = ++a1;
  System.out.println("a1 = " + a1 + ",b1 = " + b1);
  
  //a1 = 11,b1 = 11

    int a2 = 10;
    int b2 = a2++;
    System.out.println("a2 = " + a2 + ",b2 = " + b2);
    //a2 = 11,b2 = 10

–i,是先自减,在运算
i–,先运算,在自减

int a1 = 10;
    int b1 = --a1;
    System.out.println("a1 = " + a1 + ",b1 = " + b1);
    //a1 = 9,b1 = 9

    int a2 = 10;
    int b2 = a2--;
    System.out.println("a2 = " + a2 + ",b2 = " + b2);
    //a2 = 9,b2 = 10

instanceof

它的作用是判断其左边对象是否为其右边类的实例

String s ="aadad";
    boolean b = s instanceof Object;
    System.out.println(b);

& &&; | ||;之间的区别

他们之间的运算结果都相同
& &&;
相同点:当符号左边是true时,二者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
| ||;
相同点:当符号左边是false时,二者都会执行符号右边的运算
不同点:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算

位运算

<< >> >>> & | ^ ~

System.out.println(5>>2);1
    5 101>>001 向右移2位补0
    System.out.println(5<<2);20
    5 101<<10100 向左移2位补0
    System.out.println(7>>>3);0
    不带符号位
    //以下的位运算是相对于二进制进行运算
    System.out.println(7&8);0
    //0&0=0,0&1=0,1&0=0,1&1=1
    System.out.println(7|8);15
       //0|0=0,0|1=1,1|0=1,1|1=1
    System.out.println(3^5);6
 //0^0=0,0^1=1,1^0=1,1^1=0
    System.out.println(~7);-8
    //取反1变0,0变1

循环

break结束当前循环
 continue结束当次循环

数组

Arrays工具类:定义在java.util包

常用方法: 
    isEquals 判断数组是否相同                 
    int[] arr1 = new int[]{1,2,3,4};
    int[] arr2 = new int[]{1,3,2,4};
    boolean isEquals = Arrays.equals(arr1, arr2);
    System.out.println(isEquals);//false
    
    toString输出数组信息
    System.out.println(Arrays.toString(arr1));
    
    fill将指定值填充到数组之中
      int[] arr1 = new int[]{1,2,3,4};
      Arrays.fill(arr1,2);
    System.out.println(Arrays.toString(arr1));//[2, 2, 2, 2]
     
     sort对数组进行排序
      Arrays.sort(arr1);
      
      binarySearch在数组中找到指定数制的下标
       int[] arr1 = new int[]{1,25,4};
    int i = Arrays.binarySearch(arr1, 25);
    System.out.println(i); //1

数组常见异常

越界和空指针异常

面向对象

//可变个数的形参方法
public void show(String ...str){
    System.out.println(str.length);
}

//java值传递
基本数据类型是传递值
引用数据类型是传递地址

java修饰符

工作中javaSe基础常用不 javase基础知识点总结_java


java常用包

工作中javaSe基础常用不 javase基础知识点总结_System_02

Object类

常用方法:equals() / toString() / getClass() /hashCode() / clone() / finalize()、 wait() 、 notify()、notifyAll()
equals()判断对象值是否相同
toString()打印对象
getClass()获取对象是哪一个类

Integer i = new Integer(1);
 Class<? extends Integer> aClass = i.getClass();
    System.out.println(aClass);//class java.lang.Integer

hashCode()获取对象的哈希值

clone() 拷贝该对象的地址 //需要重写
finalize()该方法可以在对象被释放时执行 //需要重写

wait()的作用是让当前线程进入等待状态
notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程;notify()是唤醒单个线程,而notifyAll()是唤醒所有的线程。

包装类

工作中javaSe基础常用不 javase基础知识点总结_java_03

异常

throw 和 throws区别:
throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。
throws 属于异常处理的一种方式,声明在方法的声明处。