day_11 变量、逻辑运算、数组

1.运算符优先级

2.变量
    1.是什么:可以更改的量,方便操作,可以重复使用
            有名字的内存空间
    
    2.能干什么:
        保存数据,操作数据  

    3.声明:
        数据类型 变量名 = 值;
        基本类型
            数值型
                整数:byte、short、int、long
                浮点:float、double
            字符型 char
            布尔型 boolean
        引用类型: 类、数组、接口

        long和float需要在值后面加首字母(大小写随意),其他不用
        long l = 123L;
        float f = 2.5f;

    4.分类
        静态变量:
            类体中使用static修饰
            属于类级别变量,该类所有对象值共享
        成员变量:
            类体中没有static修饰
            属于对象级别,对象之间变量值不共享
        局部变量:方法中声明的变量
            由于方法不调用不执行,调用才执行,并且执行完栈帧摧毁,所以方法在栈内存
        是临时性的,所以局部变量也是具有临时性的,不适合长期存储。
            另外,局部变量的作用域只能在该方法中
            局部变量没有默认值,而静态变量和成员变量有默认值
    
    5.调用
        静态变量:类名.静态变量名,当前类中可以直接写变量名调用
        成员变量:对昂引用.成员变量名,在成员方法中,调用当前对象中的成员变量可以直接写变量名调用
        局部变量:只能在当前方法中,直接写局部变量名进行调用

        如果局部变量和静态变量/成员变量同名,则布局变量优先级大于静态和成员
        在方法中,可以使用类名区分同名的静态变量和局部变量
        在成员方法中,可以使用this区分同名的局部变量和成员变量

3.逻辑运算
    && 和 & :两边都是true结果才是true
    &&:短路与,假如第一个条件为false,则第二个条件不执行
    &:不管第一个条件是否为false,第二个条件依然会执行

    || 和| :两边一个为真,结果就为真
    || :短路或,如果第一个条件为true,则第二个条件不再执行
    | : 不管第一个条件为false还是true,第二个条件都执行

4.数组
    1.是什么:
        数组是引用数据类型,并且数组是源自底层的数据结构,用来保存和处理多个数据值
        
        用来保存多个相同类型的数据的集合成为数组
        
        并且数组存储方式是连续存储,并且每个元素都有独一无二的下标来标识,且数组长度一旦确认不能更改
        
        所以数组在查询和更改的情况,效率极高,但是添加和删除效率较低,因为长度不能更改,
        想要添加或者删除数组,必须先创建一个新数组,然后把原数组中数据复制进去,在复制过程中进行添加和删除操作

        另外,数组还有一个length属性,保存数组的长度
    
    2.应用场景:
        用来保存多个数据,并且查询和更改操作较多的情况下,推荐使用数组
    
    3.声明:
        静态声明:已知数组中每一个元素内容的情况下使用静态声明
            数据类型[] 变量名 = {类型值1,类型值2……};
            数据类型[] 变量名 = new 数据类型[]{类型值1,类型值2……};

        动态声明:在不知道数组中每一个元素内容的情况下,使用动态声明:
            数据类型[] 变量名 = new 数据类型[长度];

    4.操作:
        查询: 数组[下标]
        更改: 数组[下标] = 值;
        遍历: for(int i=0;i<数组.length;i++){
            数组[i];
        }

    5.插入复制
        新数组长度 = target长度 + 插入个数
        把目标数组中,起始位置以及起始位置之前的全部数据复制到新数组中
        把原数组起始位置开始,取n个插入到新数组中
        把目标数组起始位置之后的元素插入到新数组中
    6.冒泡排序
        相邻的元素进行比较,如果前面大于后面,就交换位置,
        比较完一轮,最后一个肯定是最大的,
        重复以上步骤,直到全比较完
    7.选择排序
        假设当前这个是最小,用该数据依次和后面的所有数据进行比较,如果发现比当前元素小的,交换下标
        比较一轮后,当前保存的一定是最小元素的下标
    8.二分法查找
        目标 = 中间,返回中间
        目标 > 中间,结束不变,起始 = 中间+1,重新生成中间值
        目标 < 中间,起始不变,结束 = 中间-1,重新生成中间值
        终止 = 起始 > 结束 
    
5.面向对象
    1.类和对象的关系
        类定义属性,描述物体的特征
        对象封装属性值,表示具体的个体

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值