WHCSRL 技术网

Java评论

 回顾

2. java
   2.1 java基础.
    [1].变量--- 数据类型 变量名=值;
      数据类型:
         1.基本数据类型. byte[1字节] short[2字节] int[4字节] long[8字节]  float[4字节] double[8字节] boolean[1字节] char[2个字节]
            
         2.引用数据类型. 类 接口 枚举  数组 
      
      变量名:----命名规则
        1. 由字母 数字 下划线_  美元符 $ 组成
        2. 不能以数字开头
        3. 不能使用java的关键字。
        4. 习惯: 见名知意  类名接口名每个单词首字母大写。
                         方法 变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]
                         常量所有字母全大写。 
     
    [2] 运算符: 
         1. 算术运算符。+,-,*,/, %%%%, ++[前(先+1在运算) 后[先运算再+1]],--.
             例子: int i=2; int c=++i*2+1; sout(c==) sout(i==)
             例子: int i=2; sout(i++); 
         3. 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。    
         2. 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] ! 
         4. 赋值运算符。=,+=,-=,*=,/=,%%%%=  
            例子: int a=2; int b=2; b*=a+1; b=b*(a+1)  sout(b)
         5. 位运算符【二进制】。   &,|,^,>>,<<.
            int a=1; int b=2; int c=a&b; 001 &010  sout(c); c=a|b; sout(c)
         6. 三目运算符。
             条件语句?表达式1:表达式2
     
     [3]控制语句
         if(条件){}
         
         if(条件){}else{}
         if(条件){}else if(条件){} ...else{}
         
       switch(表达式){ //switch表达式的值得类型byte short char int String
          case 值1:  break;
          case 值2:  break;
          case 值3:  break;
          default:  break;
       }  
       // 每一个case得值不能重复。
       // default 找到不匹配的case时执行default的语句。
       // break执行完对应的case后 跳出switch语句。 如果没有使用break则找到匹配的case后 会把后面所有的语句都执行。
           
        while(条件){//条件是boolean值。
             
        }  
        
        do{}while(条件);
        
        
        for(初始值;条件;变化){ //初始值只会被执行一次. 
        
        }
       
      [4]数组: 
        数据类型[]  变量名=new 数据类型[长度];
        数据类型[]  变量名={值,值,值,值};
        
        排序: 冒泡排序  快速排序  选择排序【擂台排序】。
              
   2.2 java面向对象.
     1. 类和对象!
         类:具有相同属性和行为的一组对象的集合。 抽象的概念。
         对象: 万事万物皆为对象。 具体存在的实物。
     
     2. 如何定义类: 
        public class 类名{
             //成员变量。
             //成员方法。
        }
         
        //如何根据类创建对象
        类名 对象名=new 类名();
        //对象如何调用类中的成员.
        对象名.成员变量;
        对象名.成员方法(实参)
        
     3.三大特性: 
       封装: 把类中成员使用private进行封装,使外界无法之间调用。---安全。 
           一般: 封装属性。并且生成getter和setter方法。
             
       继承: 一个子类继承父类中的成员 extends ------ 
            public class 子类名 extends 父类名{
            
            
            }
            
       overload重载 和 override重写?
       overload:在同一个类中,出现方法名相同,参数列表不同的方法。不考虑返回类型。这些方法就是就是反复重载。
       override:在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法得访问修饰符。
       抛出得异常不能大于父类中。 子类中出现的这种方法就是就是重写。
       
       访问修饰符: 
       public: 同一个工程下都可以访问。
       protected: 同包或者不同包下的子类访问。
       默认:  同包访问
       private: 同类访问。
       
       多态 : 一个对象具有多种形态。
         父类声明 对象名=new 子类对象();//向上转型: 对象名.方法(); 调用的是子类重写的方法
         子类声明 对象名=(子类)父类对象; //向下转型。
          
    抽象类和接口:
       抽象类:只能被继承,因为他不能实例化对象。 抽象类中有构造方法。抽象类中可以有非抽象方法。 抽象类中的属性可以是普通属性也可以是静态属性。
       接口: 可以被多实现。 没有构造方法。 全是抽象方法【jdk8后出现了默认方法 和静态方法】。都是静态常亮。
       
    
    异常处理:
       try{}catch(异常类型 对象){}
       throws 抛出异常。---->throws加在方法参数的后面 谁调用该方法谁处理这个异常。
    
    集合:
        Collection: 
           List: 有序 可重复
              ArrayList: 底层数组:查询快,缺点:前提不是尾部元素,插入和删除慢。
              LinkedList: 底层链表.有点: 插入和删除快
              Vector:
           Set: 无序 不可重复。
              HashSet: 底层是按照hash表执行。 先按照hashcode表比对如果hash相同【hash冲突】,则按照equals方法比对。如果equals也相同则视为同一个元素。
              TreeSet: 底层树形结构 元素拍好序的。
              LinkedHashSet: 排序好序得  按照添加的顺序
              
        
        Map: 
           HashMap:原理: map.put(key,value); map.get(key);  数组+链表【超过8】+红黑树。 
           TreeMap:
    
        

推荐阅读