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.1 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:

还差个IO流没有总结。。。

最新文章

  1. In-Memory:内存数据库
  2. LCS修改版(Longest Common Subsequence 最长公共子序列)
  3. python中的类型转换
  4. yii2 i18n学习
  5. DBA - 我的学习
  6. 当chm文档点击左侧,右侧无内容时的解决方案
  7. redo、undo、binlog的区别
  8. jQuery相关知识
  9. POJ 1201 &amp;amp;&amp;amp; HDU 1384 Intervals(差动制动系统)
  10. Android自动测试之monkeyrunner工具
  11. 第二天0605下午——超链接&lt;a&gt;与图片&lt;img&gt;
  12. Python Trick
  13. Unity Shader入门精要读书笔记(一)序章
  14. 深度解剖sesssion运行原理
  15. shell脚本实例-while实现批量创建用户
  16. 【转】AD常用端口
  17. NO.6: 若不想编译器提供自动生成的函数,就应该明确拒绝
  18. CentOS6.5安装配置PPTP
  19. Linux下web服务的搭建
  20. 使用wifi网卡笔记4---工具dhcp及全自动使用wifi

热门文章

  1. Jenkins拉取Git远程仓库中指定目录至本地指定目录
  2. .Net Core 中的选项Options
  3. 手动编译部署LNMP环境(CentOS7.5+Nginx-1.18.0+MySQL-5.7.30+PHP-7.4.14)
  4. [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎
  5. Apache Hudi内核之文件标记机制深入解析
  6. Vue Abp vNext获取当前登录用户
  7. 判断IE浏览器版本
  8. 在windows中给git修改默认的编辑器为sublime
  9. C++病毒
  10. 【C++基础教程】第三课