zoukankan      html  css  js  c++  java
  • java语言基础,学习笔记

    001
    源代码
    编辑器
    输出
    字节码文件
    jvm
    eclipse中新建class文件,以及遇到基本错误的修改


    public class A{
    public static void main(String[] args){
    System.out.printf("welcome to beijing lily")
    }
    }
    public ststic修饰符
    void返回类型为空
    main方法名
    ()参数
    String字符型
    []数组
    args参数值 //可修改

    002 用记事本编写了java源程序并运行
    jdk下载及环境变量配置
    java -version检查环境变量配置是否OK
    javac A.java编译源文件
    java A 输出字节码文件

    003 JAVA的程序结构
    编写源文件=编写类文件
    类必须用“关键字”class来定义,并指定类名
    main是固定写法
    类:老师是Cindy
    类是某一类型对象集合
    对象一定是一个类
    类可以实例化对象

    004 java的数据类型
    java基本数据类型
    共8种(2中(数字和字符))
    整数:byte-128---+127
    short -32768_+32767
    int -2147483648_2147483647
    long

    小数:float/double
    字符型:char:'a'
    boolean 值真和假

    扩展数据类型

    005 常量
    常量:计算机处理过程中,不变化的数据。
    float类型常量:1.5f
    double类型常量:1.5
    char:'1',不加单引号就是数字1
    boolean:true、false
    字符串常量:"helloworld"

    006 变量
    原则:
    1、变量必须有类型;
    2、变量必须有名字;

    001
    源代码
    编辑器
    输出
    字节码文件
    jvm
    eclipse中新建class文件,以及遇到基本错误的修改


    public class A{
    public static void main(String[] args){
    System.out.printf("welcome to beijing lily")
    }
    }
    public ststic修饰符
    void返回类型为空
    main方法名
    ()参数
    String字符型
    []数组
    args参数值 //可修改

    002 用记事本编写了java源程序并运行
    jdk下载及环境变量配置
    java -version检查环境变量配置是否OK
    javac A.java编译源文件
    java A 输出字节码文件

    003 JAVA的程序结构
    编写源文件=编写类文件
    类必须用“关键字”class来定义,并指定类名
    main是固定写法
    类:老师是Cindy
    类是某一类型对象集合
    对象一定是一个类
    类可以实例化对象

    004 java的数据类型
    java基本数据类型
    共8种(2中(数字和字符))
    整数:byte-128---+127
    short -32768_+32767
    int -2147483648_2147483647
    long

    小数:float/double
    字符型:char:'a'
    boolean 值真和假

    扩展数据类型

    005 常量
    常量:计算机处理过程中,不变化的数据。
    float类型常量:1.5f
    double类型常量:1.5
    char:'1',不加单引号就是数字1
    boolean:true、false
    字符串常量:"helloworld"

    006 变量
    原则:
    1、变量必须有类型;
    2、变量必须有名字;
    3、变量有大小;

    007 条件结构
    if、else if、else
    满足特定条件,执行相应的语句

    008运算符和表达式
    算术运算符:+-*/%(求模即取余数)、++、--
    y++//y=y+1;
    y--//y=y-1;
    赋值运算符:=、+=、-=、*=、/=、%=
    关系运算符:> < >= <=
    运算结果是:true、false
    逻辑运算符:& | ! ^&& ||
    &按位与:两边为真则真
    |按位或:一边为真则为真
    &&逻辑与:两边为真则为真
    &和&&区别???
    &左右两遍都会计算,无论真假
    &&左侧计算为假不会计算,直接短路
    !逻辑非:非真即假
    << >>位运算
    ?:三目运算符
    boolean z=y>3?true:false//
    int z=y>3?2:5
    赋值运算符优先级最低

    009 for循环
    循环语句:反复做一件事情
    表达式为真一直执行,为假退出for循环

    010 while循环语句
    死循环:
    while(x<=3){
    System.out.println(x);
    }
    正常如下
    while(x<=3){
    System.out.println(x);
    x++;
    }

    do{
    }while();//先执行循环体,在执行判定条件
    while语句与do while语句的区别?
    while语句条件不成立,不执行循环体,直接退出循环;
    do while语句,先执行循环体

    **break语句:终止循环
    **continue语句,遇到continue语句会直接跳转至条件判断

    011数值
    1.数组就是一组数据,类型相同的数据。存储一组数据的对象
    2.数组的声明
    3.数组的初始化
    声明:
    数组声明类似空书架,还未放书;
    int[] x;
    float[] x;
    char[] x;
    String[] x;//字符串类型
    *********

    初始化数组的方法:
    1、
    int[] x;
    x= new int[5];//长度为5的数组
    x[0]=1;
    ...
    x[4]=5;//把值放上去
    2、
    int[] x=new int[5]
    x[0]=1;
    ...
    x[4]=5;
    3、int[] x=new int[]{1,2,3,4,5};
    012 设计真正应用程序
    013对相应的行为状态
    对象是已知的事物
    对象会执行动作
    类是对象的蓝图
    现有类,再有对象
    014
    构造方法目的:用来初始化一些实例或属性值、成员变量,没有返回类型
    构造方法名要与类名一致
    015构造方法的重载
    构造方法:修饰符+方法名
    重载:
    一个类中有多个构造方法,
    构造方法名可同名,但不能一模一样
    构造参数类型可一样,顺序不可相同
    016 方法的重载
    普通方法:
    修饰符 类型 方法名{
    输出;
    返回;
    }
    **参数不能一样

    017 告诉对象中怎么做-方法中传参
    1、传参的数据类型必须一致;
    2、传参,传递的是参数的值;
    3、main方法传参解析;
    main(String[] args)
    对args数组传参
    for(int i=0;i<args.length;i++){
    System.out.println(args[i]);
    }
    运行注意:解释后,运行时传入参数。如
    java app2 "11" "33"

    018 方法的返回值
    方法的组成:
    修饰符public
    返回值void或其他
    方法名
    参数列表
    {}方法体
    有返回值的方法类型,一定要有return
    方法返回调用后,主程序可以捕捉到return值
    019 创建对象数组
    声明一个数组的长度;类[]
    给每一个元素赋值;
    020 对象与对象之间的关系
    例如:电脑、鼠标都是对象,
    关系:
    依赖

    关联
    聚合
    car类包括引擎类的对象(has a)
    包含中的类也可以独立存在
    组合
    不能独立存在;比如head类包含mouth类
    继承


    021 一个对象怎么调用另一个对象?
    **先有类,再有对象
    **调用一个对象,先实例化一个对象
    一个主程序,两个关联类文件
    打包一个运行:
    新建一个清单文件:manifest.mf(输入main-class:主程序类名)
    jar cvfn test1.jar manifest.mf Teacher.class Student.class test1.class
    java -jar test1.jar

    022 对象的继承
    继承:子类继承父类(基类)
    extends 继承父类成员变量、方法,私有不可继承
    子类从父类复制一个相同的方法

    023方法的覆盖
    1、覆盖必须发生在继承内
    2、子类重写父类的同名方法Override

    覆盖的原则:
    1、子类方法的参数必须跟父类保持一致;
    2、子类方法的修饰符的范围必须>=父类同名方法的修饰符

    024 到底调用哪个方法??多态
    父类 对象=new 子类();多态。。调用的是子类的方法
    子类对象绝不可以new父类
    父类声明的方法只能是子类覆盖的属性和方法;
    一个父类可以有多个子类

    025 关键字:this和super
    this.是指当前对象
    子类对象构想时会先调用父类构造方法
    super:调用父类的构造方法,要写函数最前面


    多态
    026 -不改初始化的class
    (抽象类)
    1、声明必须加Abstract关键字
    2、抽象方法:没有方法体的方法,
    public void eat(){}
    3、类中有一个抽象方法,这个类就是抽象类
    4、目的:被子类重写覆盖

    027 接口
    抽象类中继承是extends
    接口中继承是implements

    接口中的方法全部是抽象方法
    接口中成员变量:pulic static final
    必须是被初始化
    接口是抽象的最高定义
    当子类实现接口的时候,必须覆盖接口中所有的方法


    java函数库
    028 如何组织类---包
    package:java中叫打包
    位置:声明处
    javac A.java -d .//指定目录,点为当目录
    java com.lily.pkg1.A
    打包的目的:组织类文件
    ***关键字:package、import
    类文件中,使用其他目录下的方法,需要import相关路径(包的路径)

    029 如何使用java API
    API:application programming interface应用程序接口
    注意查看:JDK API文档(重要)

    030字符串函数
    字符串是基于char类型
    1、自定义类首字母要大写;
    2、java的每一个类都是抽象数据类型
    **substring(5)开始下标记,到第5个位置结束
    substring(5,8),开始位置,结束位置
    trim压缩左右两侧的空格
    3、String类是最终类,不能被继承
    **StringBuffer
    **StringBuilder

    031 日期函数
    日期类Date-》java.util包中
    Date类:
    1、Date()构造方法;
    2、Calendar
    032 Math函数
    数学函数
    封装了很多数学运算;
    E、PI(相当于常量,只能被赋一次值)
    abs绝对值
    ceil:Math.Ceil(3.5)
    floor:Math.Floor(3.5)
    random随机数
    round四舍五入

    集合函数
    033 list
    集合:集合起来的一种数据
    与数组不同之处:
    1、数据类型可不同
    2、长度可超过10个
    实现子类:
    ArrayList
    ArrayList()构造一个长度为10的数组
    LinkedList
    上述都为实现List接口;
    底层实现不一样:一个数组一个链接
    Vector向量
    034 集合函数 set
    Set接口:不包含重复函数的
    子类:TreeSet。底层通过二叉树实现
    HashSet。底层通过哈希表实现
    TreeSet
    没有Get方法,需要转换成迭代器Iterate迭代器;
    不同之处:TreeSet是有序的
    set集合自动排序

    035 集合函数Map
    key和value的映射集合
    API-java.util.Map
    将键映射到值的属性
    子类
    TreeMap
    有序的
    HashMap
    遍历用get方法:通过键输出对应值,通过键值对输出值
    Hashtab

    控制风险
    036 有风险的代码-异常
    **算术运算中,被除数不能为0;
    System。out.println(5/0);

    **数组下标越界
    int[] x=new int[]{1,2,3};
    for(int i=0;i<=3;i++){}
    **空指针异常
    int x;
    System.out,println(test1.x.length());
    **捕捉和处理异常
    try{ //监听可能发生异常code

    }catch(){

    }
    例如:
    try{}catch(NullPointerException e){
    catch 块

    }
    一个try可以跟多个catch块,try监听异常code,catch捕捉异常code
    Exception类-java.lang包中
    所有异常类的父类
    继承了Throwable
    **空指针:调用空对象
    子类:RunTimeException运行异常
    Exception
    RuntimeException
    NullPointerException
    IndexOutException

    **try块中代码不出现异常时,不会走catch块,直接结束

    037 finally块
    code位置:跟在catch块之后;
    原则:必须要执行的语句。无论try/catch是否异常
    **关闭一个连接对象


    问题:eclipse创建项目后,没有src文件?
    window-preferences-java-build path,里面选Folders就行了


  • 相关阅读:
    [剑指 Offer 11. 旋转数组的最小数字]
    进程描述符(PCB)
    [剑指 Offer 57. 和为s的两个数字]
    Linux netstat命令
    kafka2.3.X配置文件
    docker
    shell操作mysql数据库
    Linux文件查找之find命令
    sed 切割日志文件
    Linux文本处理之awk
  • 原文地址:https://www.cnblogs.com/lily-20141202/p/5222001.html
Copyright © 2011-2022 走看看