java基础(一)

1.java特性:跨平台性

2.程序是如何运行的

        程序-->class文件(编译(javac.exe))-->java文件(运行(java.exe))

3.java的构成(8个)

        关键字,标识符,注释,变量和常量,运算符,语句,函数,数组

4.进制(3)

        1Byte=8bit

        八进制0(数字0)开头。十六进制0x开头。

        负数=正数的取反+1

5.数据类型(基本、引用)

        基本:bit,short,int,long,float,double,char,boolean

        引用:interface,class,数组

6.逻辑运算符(3)

        ^:异或。一正一负,结果为真。都正都负,结果为假。

        (A^B)^B=A(异或同一个数2次,结果是他本身)

        &和&&,|和||的区别:一个的符号两边不管什么情况都要运算。2个的如果有一边已经确定能得到结果了,另一边就不晕算了。

7.位运算符(2)

        <<:左移(乘以2的次幂)   >>:右移(除以2的次幂)

        >>>:无符号右移(最高位肯定是0)

8.while,do while

        while可能一次都不运行,do while至少运行一次

9.continue

        结束本次循环,开始下一次循环

10.\+字母(3)

        \r:换行(相当于回车)

        \n:新行(\r\n一般连用)

        \t:制表符(相当于tab)

11.函数:一段能实现特定功能的独立小程序

12.重载:一个类中可以有多个同名函数,但是只要参数类型不同,或者参数数量不同即可。

        注:重载与返回值无关,只与参数有关

    重写:在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写

13.数组格式

        int[] arr = new int[3];

        int[] arr = new int[]{1,2,3};

        int[] arr = {1,2,3};

14.内存:寄存器,本地方法区,方法区,栈,堆

        栈:存放临时对象,对象生命周期结束对象被释放(方法中的变量都是临时对象)。

        堆:存放实体对象。对象都有首地址。对象都有默认初始值,不同类型默认初始值不同。对象不用了被垃圾回收机制回收。

15.进制

        一个整数有32个二进制位,8个16进制位。

16.二维数组

        int[][] arr = new int[2][2];

        int[][] arr = new int[2][];

        int[][] arr = {{1,1},{2,2}};

        求和:

                for(int i = 0;i<arr.length;i++){

                   for(int j = 0;j<arr[j].length;j++){

                       sum+=a[i][j];

                   }

                }

17.面向对象三个特征:封装,继承,多态

18.构造函数(关键字):this

19.静态方法(关键字):static

        对象初始化流程:

            (1).加载字节码进内存

            (2).new开辟内存空间,分配首地址值

            (3).属性默认初始化

            (4).调用构造函数,压栈

            (5).super()调用父类构造函数

            (6).显性给属性初始化

            (7).构造代码块

            (8).构造函数的自定义初始化代码

            (9)初始化完成,将地址赋给指定引用

20.单例设计模式:多个程序同时操纵同一个配置

        饿汉式:(1).先创建对象  (2)构造函数私有化  (3)定义方法返回该对象

        懒汉式:(1).先不创建对象,置为null  (2)构造函数私有化  (3)定义方法返回,若为空,new一个对象

21.父类:当多个方法有共性时,抽取这些共性组成这些类的父类。(子类与父类的关系为extends)

        (1)父类的私有变量子类不可以直接访问

        (2)子类父类同名,子类:this,父类:super

        (3)子类父类的方法名,参数,返回值都一样时,用子类,这叫做继承

        (4)父类如果无空构造函数,子类必须显性的super()

        (5)子类调用自己的构造函数时,必定会运行父类的构造函数

        (6)this()和super()必定要有一个,但不可以同时都有,且必须放在第一行

        (7)final不存在继承的说法

22.抽象类:描述一类事物的类

        (1)抽象方法只能存在于抽象类中,用abstract表明

        (2)抽象类不可以实例化

        (3)必须要覆盖抽象类中的所有抽象方法才可以实例化

23.接口:用于拓展某个功能

        (1)接口中常见的成员

                全局常量:public static final AAA;

                抽象方法:public abstract void getAaa();

        (2).java不支持多继承,支持多实现。但是接口支持多继承。

重点:抽象类和接口的区别

        (1).抽象类要被子类继承,接口要被类实现

        (2).抽象类中可以作方法声明,也可以做方法实现。接口只能做方法声明

        (3).抽象类中的变量是普通变量,接口里定义的变量只能是公共的静态的常量

        (4).抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量

24.多态:用instanceof判断是否是某一类型

        (1)向上转型:隐藏子类型,可以用父类型。

            向下转型:可以用子类型,但是有风险。

        (2)调用多态时的口诀:调用成员变量和静态方法都看左边。调用普通方法,编译看左边,运行看右边。

25.内部类

        非静态方法非静态成员:Outer.Inner in = new Outer().Inner();

        静态方法非静态成员:Outer.Inner in = new Outer.inner();

        静态方法静态成员:Outer.Inner;

26,Object: equals,toString的重写

27.异常

        (1).错误:error。异常:Exception。

        (2).异常一般2种解决方案:try catch finally 和 throw

        (3).除了System.exit(0)(停止虚拟机)不执行finally,其他的都要执行finally

        (4).若有多个catch,子类的错误要放在最上面

        (5).若父类没有抛出错误,子类出现了错误只能try catch finally ,不能throw

        (6).throws用在方法上,throw用在方法内

28.包

        (1)import:导包。jar:Java的压缩包

        (2)开放程度:public>protected(不支持不同包)>default(不支持不同包、子类)>private(不支持不同包、子类、不同类)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏哥哥啊Aaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值