概念:
1)8种基本数据类型:byte,short,int,long,double,float,boolean,char。
2) ASCLL码表:A:65 a:97 。
3)类型转换:自动类型转换 & 强制类型转换。
数组:
特征:1)存放多个数据类型一致的数据
2)元素下标从0开始
3)数组长度固定,一旦定义后,不可改变 。
运算符:
1)算数运算符 : + - * / % 加减乘除,取余。
2)赋值运算符 : = 赋值 ,+= 加后赋值,-= 减后赋值 , *= 乘后赋值,/= 除后赋值 , %= 取余后赋值。
3)比较运算符 : == ,!= ,>,>=,<= 。
4)逻辑运算符 : && , || ,! 。
for循环:
1)初始变量,2)终止循环的条件,3)自变量。
2)i++: 先参与表达式,再执行自增。
3)++i :先自加,再参与表达式。
String 字符串操作:
1)spilt() 操作,分割字符串:传进去一个字符串(分隔符),将字符串分割返回数组。
2)subString() ,截取字符串 :subString(0,1) 包头不包尾
3)startWith() ,判断以....开始。
4)toCharArray : 将字符串转成字符数组,例如
Scanner(system.in) :键盘录入
while 循环 ,doWhile循环:与while循环不同的是,do while 循环把循环判断条件放到了下面,那也就也意味着循环至少会执行一次。
增强for循环:如果只是从一个数组中遍历数据的操作,普通的for循环中初始化i的变量没有实际意义,那么我们就可把for循环改为增强for循环更优雅的解决。
switch case :
二进制 :
1)二进制共有0,1两个数字,基数是2,逢二进一,数据在计算机底层就变为了二进制来执行。
2)原码,反码,补码。
3)位移运算符。
三元表达式:
引用数据类型:String不是这8种基本数据类型中的,String , 数组,Arrays...叫做引用数据类型。
内存图:
值传递和引用传递:
1)值传递和引用传递的区别,基本数据类型作为参数传递时,属于值传递,它传递的数据不会因为别的方法的改变而发生改变。
2)引用传递传递的是引用的地址,指向的空间并没有发生改变,也就是说是共享同一块空间,如果别的方法改变了,那么它会跟着改变。
面向对象:
1)面向对象三大特征:封装,继承,多态 。
this关键字:
1)set 方法中我们会用this关键字来点出自己的成员,将形参的值设置给相应的成员。
2)this关键字就相当于java给我们的类中设置的一个默认自己的对象,在自己类中可以点出自己的成员属性和方法。
3)因为set方法形参名一般我们都会写的跟成员名一样,所以在赋值时,用于区分this.name 是成员,= name 就是形参!
static 关键字 静态:一般用于工具类。
继承 extends :子类继承父类非私有的方法,子类可以有自己的方法。
抽象 abstract : 1)抽象可以修饰类和方法前,称为抽象类和抽象方法
2)有抽象方法的类肯定是抽象类,抽象类中不一定只有抽象方法。
3)抽象方法只有定义,没有实现{},子类如果不是抽象类,必须重写父类中的抽象方法。
4)抽象类是不能实例化(new)。
多态:父类引用指向子类对象。
包装类:每个基本数据类型背后都有一个类,而这个类就是包装类。
1)当我们遇到例如:String str = “123”; 需要转换为数字类型,我们就需要包装类才能帮助我们进行类型转换。
2)Integer.parseInt(str)
日期格式化类SimpleDateFormat:
List集合Set集合 :
集合:
集合分为单列和双列:
list :单列,可重复,有序集合, 索引从0开始,元素存取有序(有序指的是存入的顺序与输出的顺序一致)。
set : 1)单列,元素存储可以有序,可以无序(要看选择的具体子类 HashSet 无序 LinkedHashSet(有序),TreeSet(排序))
2)没有索引,不能通过索引获取元素(即也不能使用普通for循环遍历)。
3)不可以存储重复的元素。
map :双列,key ------value 。
ArrayList :ArrayList是List的实现类,底层使用的是数组结构来存储数据(数组的初始长度为10),所以,又称ArrayList为动态数组。
迭代器循环:
线程安全的集合:Vector, Hashtable 。
自然排序comparable ,比较器(comparator) 链接:Java 集合遍历&迭代器&比较_魂殿的博客-CSDN博客
hashMap 数据结构:key部分使用的数据结构为:数组+双向链表+红黑树 。HashSet使用的就是key部分进行存储的。
hashMap存储的特点:键值对映射关系,一个键对应一个值,键不能重复,值可以重复,键允许为空值,元素存取无序。
Collections :
Collections.sort(list);// 默认按照升序进行排列。
Collections.reverse(list); 倒叙排序。
传统写法:
测试类中创建方法methon,传入接口NewPrinter对象,并在测试类中调用methon方法,并给接口NewPrinter创建对象,自动实现重写接口Pint方法。
Lambda改写:
测试类中创建方法methon,传入接口NewPrinter对象,并在测试类中调用methon方法,使用Lambda表达式指向执行的代码。
Stream流:变量names为list集合