java基础01

Java中的注释有三种:
  • 单行注释 : //注释内容
  • 多行注释 : /* 注释内容 */
  • 文档注释 : /** 注释内容 */
标识符
  • 只能以字符、美元符、下划线开头
  • 标识符大小写敏感
数据类型
   基本数据类型(primitive type):byte、short、int、long、float、double、char、boolean
   引用类型(reference type):类、接口、数组

银行业务怎么表示?
float :有限 离散 舍入误差 大约 接近但不等于
最好不要使用浮点数进行比较
我们使用BigDecimal 数学工具类

所有的字符本质上还是数字
如:a=97
中=20013
强制类型转换

数值类型之间的运算,如果有long类型,则运算结果为long类型,没有long类型,其余任意类型运算都为int类型。

变量

在这里插入图片描述
实例变量如果不初始化,它会带有默认值,布尔值默认值为false,除了基本类型,其余的默认值都是null.

变量的命名规范

在这里插入图片描述

左移和右移

“<<” 相当于乘2
“>>” 相当于除2

字符串连接符

在这里插入图片描述
当加号一段有字符串类型的时候,会自动转换为字符串类型
当 int a=10;
int b=20;
上述第一句结果为1020
但第二句结果为30
因为它先算a+b然后再与空运算符相加

包机制

一般利用公司域名倒置作为包名。

javaDoc

生成自己的Java API

Scanner

在这里插入图片描述
在这里插入图片描述

方法

在这里插入图片描述

return 除了返回值,还有终止方法的作用:return0;

方法的重载

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上述就定义了一个可变参数,输入参数的个数是可变的。

递归

在这里插入图片描述
主要学习递归思想,在实战中尽量不要使用递归,因为我们是用栈存储递归,会压积很多函数,直到递归头运行完才会释放其他的函数。会占用大量的内存空间,一般只使用递归次数非常少的程序。

分析Java中的内存

在这里插入图片描述
for each 能够很方便的遍历数组 ,但此方法没有下标,不能操作具体的元素。

冒泡排序
public static int[] sort(int[] array){
    int temp=0;
    for(int i=0;i<array.length-1;i++){
      for(int j=0;j<array.length-1-i;j++){
         if(array[j+1]<array[j]){
             temp=array[j];
             array[j]=array[j+1];
             array[j+1]=temp;    
         }
      }
  }
  return array;
}

时间复杂度为O(n的平方)

构造器
 也就是构造方法,一个类中即使什么都不也,也会存在一个构造函数。
 构造函数必须与类名相同,没有返回值。
    使用new关键字,本质就是在调用构造器
    构造器一般用在初始化值
super

可以通过super关键字来调用父类的方法和属性。

  1. super调用父类的构造方法,必须在写在构造方法的第一行

  2. super必须只能出现在子类的方法和构造方法中

  3. super和this不能同时调用构造方法

    this没有继承也可以使用
    super只能在继承条件才可以使用

方法重写

需要有继承关系才有重写,子类重写父类的方法。

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符范围可以扩大但不能缩小
  4. 抛出的异常可以缩小但不能扩大
多态
     父类的引用指向子类
      如Sudent继承Person,可以有Person  s=new Student();
      
      对象能执行哪些方法,主要看对象左边的类型。
  1. 多态是方法的多态
  2. 父类和子类,有联系 类型转换异常 ClassCastException
  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象
instanceof(类型转换)
      引用类型,判断一个对象是什么类型,可以判断两个类是否存在父子关系
static
  • 修饰变量时,为静态的变量,可以直接使用类名.变量来直接调用
  • 修饰方法时,为静态方法。静态方法可以直接调用静态方法,不能调用非静态方法。 非静态方法可以直接调用静态和非静态方法。
  • static{ }为静态代码块,静态代码块为最先执行且只执行一次

抽象类

       用关键字abstract修饰  
  • 抽象类中的抽象方法没有方法体
  • 抽象类的所有方法,继承于它的子类都必须实现它的方法
  • 不能new抽象类,只能靠子类去实现它。
  • 抽象方法必须写在抽象类中,但抽象中既可以有抽象方法又可以有普通方法

接口

只有规范

  1. 实现了接口的类就必须重写接口中的方法
  2. 接口中所定义的方法都是抽象的 public abstract
  3. 接口不能被实例化

异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值