黑马程序员技术交流社区

标题: JavaSE入门学习笔记 [打印本页]

作者: 邸佩宁    时间: 2019-8-27 16:13
标题: JavaSE入门学习笔记
本帖最后由 邸佩宁 于 2019-8-27 16:25 编辑

    基础语法
    定义变量:数据类型 变量名 = 变量值
    if...else...语句if (关系表达式){
​                                         语句体;}​                                                                                        else{
                                语句体;}   
三种循环格式:for循环,while循环,do while循环
1.for循环:for(初始化语句;条件判断语句;条件控制语句){循环体;}  



2.while循环:初始化语句;while(条件判断语句){循环体;条件控制语句;}
    执行流程跟for循环执行流程类似
3.do while循环:初始化语句;do{循环体;条件控制语句}while(条件判断语句)

三种循环的永真循环格式和区别格式:⑴for(;;){  循环体  }
​                ⑵while(true){  循环体  }
​                ⑶do{  循环体  }while(true)区别:
switch语句格式
switch(表达式){case 值1:                          表达式类型:byte short char int jdk5.0以后支持枚举 jdk7.0以后支持String
​                                           语句体1;​                                                        
                                           break;​                  
                            case 值2:​                        
                                            语句体2;​                           
                                            break;​                     
                                             .....​            
                              default:​                  
                                          语句体n+1;}

逻辑运算符
& 【与】两个表达式的结果有false则falseb)
|【或】两个表达式的结果有true则truec)  
^【亦或】两个表达式的结果不同是为true否则为falsed)  
!【取反】
&&【短路与】当表达式左边的结果为false右边表达式就不执行了【有false则false】
||【短路或】当表达式左边的结果为true右边表达式就不执行了【有true则true】

数组定义格式分两种,动态初始化和静态初始化
动态初始化
        数据类型[] 变量名 = new 数据类型[数组长度];
​        int[] arr = new int[x];
​        左边:int  说明数组中的元素类型是int类型     右边: new  为数组申请内存空间
​                    []    说明这是一个数组                                          int   说明数组中的元素类型是int类型  
​                    arr  这是数字的名称                                                  [x]   数字长度,其实就是数组中的元素个数
​        数组在初始化时,会为存储空间添加默认值
​                        整数:默认值0
​                        浮点数:默认值0.0
​                        布尔:默认值false
​                        字符:默认值是空字符
​                        引用类型:默认值是null
静态初始化
数据类型[]  变量名称 = new 数据类型[]{数据1,数据2,…};
​简化格式                int[] arr =  {1,2,3,...};
数组的两种索引异常

Java中内存分配
​栈内存:存储局部变量(定义在方法中的变量,使用完毕,立即消失)
​堆内存:存储new出来的内容(实体,对象)【数组在初始化时,会为存储空间添加默认值,                                       
每一个new出来的东西都有一个地址值。使用完毕,会在垃圾回收器空闲时被回收】
方法
1.概述
是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
2.带参数方法定义和调用3.带返回值方法得定义和调用
        PS:方法定义时return后面的返回值必须与方法定义上的数据类型相匹配. 带返回值方法调用格式               
      PS:方法的返回值要用一个变量来接收
4.方法的注意事项5.方法重载6.方法的参数传递

1、对于基本类型数据的参数,形参的改变不影响实参的值

2、对于引用类型数据的参数,形参的改变影响实参的值


面向对象
1、概述2、成员变量和局部变量的区别面向对象的三大特征:封装,继承和多态
1、封装:
private关键字
2、继承
3、多态
1、多态的概念2、多态的前提3、多态中成员访问特点4、多态的优点和弊端5、多态中向上和向下转型异常
1、异常2、JVM默认处理异常的方式3、try-carch方式处理异常
public class ExceptionDemo01{
    public static void main(String[] args){
        System.out.println("开始");
        method();
        System.out.pringln("结束");
        
    }
    public static void method(){
        try{
            int[] arr = {1,2,3};
            System.out.println(arr[3]);
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("你访问的数组索引不存在,请重新输入正确的索引")
            e.printStackTrace();
        }
    }
}4、Throwable成员方法5、编译时异常和运行时异常的区别6、throws方式处理异常7、throws和throw的区别


集合


1、Collection的概述
  • 概述:是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素

    JDK不提供此接口的任何直接实现,它提供更多具体的子接口(Set和List)实现
2、创建Collection集合的对象和基本使用
  • 通过多态的方式创建对象;Collection<> c = new ArrayList<>();
  • 具体的实现类ArrayList  LinkedList  HashSet  TreeSet
  • 基本使用:添加数据方法:add();

  • Collection集合的常用方法

    • 从集合中移除指定的元素:remove(Object o)
    • 清除集合中的元素:clear()
    • 判断集合中是否存在指定元素:contains(Object o)
    • 判断集合是否为空:isEmpty()
    • 集合的长度,也就是集合中元素的个数:size()


3、Collection集合遍历
  • Collection集合遍历通过迭代器对象进行遍历
  • 步骤

    • 获取迭代器:集合.iterator()
    • 判断迭代器是否可以读取元素:hasNext()
    • 读取元素:迭代器.next()
      PS:迭代器是依赖于集合存在的

4、list集合的概述和特点
  • List集合概述

    • 有序集合(也成为序列),用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素

  • List集合特点

    • 有索引
    • 可存储重复元素
    • 元素存取有序

  • List集合的特有方法
    [td]
    方法名
    描述
    add(index,"")在此集合中的指定位置插入指定的元素
    set(index , "")替换集合中的指定位置的元素
    remove(index)删除集合中的指定索引位置的元素
    get(index)获取集合中指定索引位置的元素

5、集合并发问题及ListIterator用法
  • 异常:当通过迭代器对象迭代集合对象时,向集合对象添加数据
  • 如何解决

    • 用for循环取代迭代器
    • 通过ListIterator取代Iterator

      • ListIterator介绍:        

        • 用过List集合的listIterator()方法得到,特殊List集合特有的迭代器
        • 用于运行程序员沿任一方向遍历的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置

  • ListIterator的基本方法:
    [td]
    方法
    描述
    hasPrevions()判断是有有上一个元素
    previons()取出上一个元素
    add()想集合中添加元素
    remove()删除集合中的元素

6、增强for循环
格式:for(变量的类型  变量名 : 数字或集合){                        }







HashSet集合保证元素唯一性的图解.png (95.16 KB, 下载次数: 11)

HashSet集合保证元素唯一性的图解.png

this.JPG (18.23 KB, 下载次数: 13)

this.JPG

标准类的制作(1).JPG (16.63 KB, 下载次数: 6)

标准类的制作(1).JPG

标准类的制作(2).JPG (13.65 KB, 下载次数: 8)

标准类的制作(2).JPG

常见数据结构之哈希表.png (16.19 KB, 下载次数: 35)

常见数据结构之哈希表.png

成员变量用get和set方法的例子.JPG (17.2 KB, 下载次数: 15)

成员变量用get和set方法的例子.JPG

带包的java类编译和执行.JPG (31.05 KB, 下载次数: 16)

带包的java类编译和执行.JPG

方法重载例子.JPG (42.82 KB, 下载次数: 19)

方法重载例子.JPG

构造方法的格式.JPG (11.7 KB, 下载次数: 25)

构造方法的格式.JPG

权限修饰符.JPG (31.81 KB, 下载次数: 9)

权限修饰符.JPG

数组反转.JPG (45.48 KB, 下载次数: 13)

数组反转.JPG

无参构造方法的例子.JPG (23.52 KB, 下载次数: 7)

无参构造方法的例子.JPG





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2