ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java回顾

2021-10-18 20:06:55  阅读:124  来源: 互联网

标签:Java 字节 回顾 int 数据类型 运算符 首字母 hash


 回顾

1. html+css+js[省略]---
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:
    
        

标签:Java,字节,回顾,int,数据类型,运算符,首字母,hash
来源: https://blog.csdn.net/qq_53725689/article/details/120833299

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有