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 红黑树
  • 相关阅读:
    django学习----http协议
    线程进程和协程
    内置函数
    我所了解的递归
    函数的闭包和装饰器
    字符串的内置方法
    格式化输入输出
    逻辑运算符和操作运算符
    python流程控制
    计算机网络原理
  • 原文地址:https://www.cnblogs.com/qiangang/p/13657997.html
Copyright © 2011-2022 走看看