zoukankan      html  css  js  c++  java
  • Java笔记

    1.Java如何定义变量:
    声明变量:
    数据类型 变量名;
    赋值
    变量名=值;

    [final] 数据类型 变量名=值;
    int[] arr=new int[长度];
    ArrayList<Student> list=new ArrayList<Student>();

    HashSet
    定义一个存储String类型的HashSet集合对象
    HashSet<String> set=new HashSet<String>();

    String str="hell";
    String str2=new String("hell");

    Student stu1=new Student();
    Student stu2=new Student(202001,"tom",23,"男");
    2.Java中数据类型:
    基本数据类型:
    4类8种 byte short int long float double boolean char
    ​引用数据类型:
    ​ Object的子类 数组 集合 String
    ​ 类类型:String HelloWorld
    数组类型:数据类型[]
    int[] Student[] String[]
    接口类型: Animal
    interface Animal{}
    例子:
    int a=10;
    ​ short b=19;
    ​ float f=1.0f;
    ​ char c=‘A’;
    ​ boolean b=true;
    ​ String str=“hello,word”; 字面量赋值
    ​ String str1=new String(“hello, word”);
    ​ class Student{
    ​ //属性 全局变量
    ​ private String name=null;
    ​ private int age=0;
    ​ private String stuId=null;
    ​ … setXXX getXXX
    ​}
    ​GC垃圾回收器
    3.标识符
    可以用来表示:变量名 方法名 类名 接口名 常量名….
    1.字母或_开头,允许出现数字
    2.不能java中的关键字或者保留字class interface final static void super this try for if while else switch case default extends implements …..
    String stuName=“tom”;
    final String TEXT=“内容”;
    4.代码定义在哪儿?
    代码只能出现在方法中;
    方法只允许定义在类中;
    类出现在包中。
    5.包:目录/文件夹
    com.briup.grms
    .bean Student Book Animal ….
    .utils 工具类 MD5.java ConnectionFactory.java
    .web 表现层 与页面进行交互的代码
    .service 业务逻辑层 核心
    .dao 数据库操作层 jdbc
    package com.base;
    6.类: 特征——》属性 行为——〉方法

    final
    Animal
    eat() 吃食物
    Cat
    eat() 吃鱼干
    Dog
    eat() 吃肉

    封装 继承
    多态:同一类域的不同对象,调用相同方法时有多种表现形态。

    Animal a=new Animal();
    a.eat();//吃食物

    编译时类型 运行时类型
    Animal c=new Cat();
    c.eat();//吃鱼干
    Animal d=new Dog();
    d.eat();//吃肉

    public void test(Animal a){
    a.eat();
    }

    test();

    Cat c=new Cat();
    c.eat();

    Cat e=new Animal();

    static
    [修饰符] class 类名{
    //类体
    //1.属性 全局变量 有默认值. null 0 0.0 false ‘’
    private String str;
    //2.方法 构造器
    [修饰符] 返回类型 方法名([参数列表]){
    //方法体 编写代码的地方
    return “返回类型”;
    }
    }
    7.编写HelloWorld程序运行
    编译
    javac -d bin src/HelloWorld.java
    运行
    java -cp bin com.test.HelloWorld
    类名.静态方法名([参数]);
    HelloWorld.show();
    main{
    HelloWorld.show();
    }
    对象.非静态方法名([参数]);
    HelloWorld hw=new HelloWorld();
    hw.show();
    8.set/get方法
    属性被私有化之后,为了对外提供赋值和取值方法,而产生的。
    setXXX方法的作用是给属性赋值。
    getXXX方法的作用是获取属性值。
    9.toString方法
    Object超类中提供的方法,每个引用类型都会继承下来,如果没有重写toString方法,默认使用Object中的方法,则会返回该对象的内存地址值。
    对于pojo类需要重写toString方法。
    10.构造器
    1.如果没有显示定义构造器,默认JVM会提供一个无参构造器。
    2.如果显示定义了构造器,就不会在提供无参构造器了。

    构造器的作用之一是给属性赋值,除此之外可以调用父类构造器以及返回对象的内存地址值。

    重载:方法名相同,参数列表(参数类型不同,参数个数不同)不同。
    重写:方法名相同,参数列表相同,异常不能被扩大,范围不能被缩小。

    11.练习:
    自定义Book
    bookId
    bookName
    price
    set/get
    构造器重载
    重写toString
    Book测试类
    构建三个书本对象
    存储到容器(数组,集合)中
    遍历容器输出到控制台
    12.集合
    集合的分类
    java.util
    接口:
    Collection
    List : 允许重复,记录元素进入集合的先后顺序
    Set:不允许重复,不记录元素进入集合的先后顺序
    SortedSet Set加排序
    Map : 键值对 (key,value) key不允许重复
    SortedMap Map+加对key排序

    数据类型 变量名=new 数据类型();

    ArrayList list1=new ArrayList();
    LinkedList list2=new LinkedList();

    Animal c=new Cat();

    List list3=new ArrayList();
    List list4=new LinkedList();

    实现类:
    List:
    ArrayList(Vector) 数组
    检索效率高
    插入删除效率低
    LinkedList 链表
    插入删除效率高
    检索效率低
    Set:单个元素 不重复
    Object
    toString()
    equals()
    hashcode()

    HashSet 16 0 15 hash散列表
    SortedSet --> TreeSet 红黑树

    Set<String> set1=new HashSet<>()
    Set<String> set2=new TreeSet<>()

    Map: key-value
    HashMap 只对keyHash散列表
    SortedMap ----> TreeMap 红黑树
  • 相关阅读:
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
  • 原文地址:https://www.cnblogs.com/qiangang/p/13657997.html
Copyright © 2011-2022 走看看