Day 1

在这里插入图片描述
stringBuffer必须new对象才可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
子类重写父类方法,访问修饰符一定要大于等于父类,父类都是public,子类复写方法也必须是public
在这里插入图片描述
因为默认小数是double,除非12.5后加上f才不会报错
在这里插入图片描述
在这里插入图片描述
1.方法区(Method Area)存储已被虚拟机加载的类信息、常量、静态变量、即编译器编译后的代码等数据

2.堆(Heap)存放对象实例,几乎所有对象实例都在这里分配内存
栈区(虚拟机栈):主要是存储局部变量表(当然也还有其他信息)。

3.其实栈区中的数据,也就是栈帧,他描述的是方法的一次执行瞬间。栈帧里面放的就是一些方法中的局部变量和方法的形参。并且这些局部变量/形参的生命周期是比较短暂的,在本方法调用的时候拥有生命,调用结束后生命结束。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实质上是常量;

当final修饰方法时,被修饰的方法无法被所在类的子类重写(覆写);

当final修饰类时,被修饰的类不能被继承,并且final类中的所有成员方法都会被隐式地指定为final方法,但成员变量则不会变

在这里插入图片描述
在这里插入图片描述
类只可以访问静态方法,不可以访问成员方法
在这里插入图片描述

编程题

在这里插入图片描述
核心思路:
1.保证每组的第二个值取到能选择的最大值就可以,我们每次尽量取最大,但是最大的
数不可能是中位数,所以退而求其次,取每组中第二大的。
2.通过排序可以确定每组数据的选择方式,要让水平值最大输出,就选择排序后数组的第一个数字和数组最后两个数字组成一组。这样的方式一定是输出最大,因为每次拿到一个最大值和一个仅此于最大值的数字进行组合。(可以画图看看)
在这里插入图片描述
在这里插入图片描述
3.确定完如何分组后,需要多次计算如何取到每组数组的中间值,推导公式arr.length-(i+1)。每组取的数值索引下标相当于数组长度每次减2,减6,减8,每次+2,朝这个方向思考怎么去推导公式。

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        //多次循环输入
        while(sc.hasNextInt()){
            int n=sc.nextInt();
            //一行输入多个数据
            int[] arr=new int[n*3];
            for(int i=0;i<3*n;i++){
                arr[i]=sc.nextInt();
            }
            long sum=0;
                Arrays.sort(arr);
                for(int j=0;j<n;j++){
                    sum+=arr[arr.length-2*(j+1)];
                }
            System.out.println(sum);
        }
    }
}

在这里插入图片描述

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
            String str1=sc.nextLine();
            String str2=sc.nextLine();
        Map<Character,Integer> map=new HashMap<>();
        //遍历需要过滤的字符str2
       for(int i=0;i<str2.length();i++){
            map.put(str2.charAt(i),map.getOrDefault(i,0)+1);
        }
        String ret="";
        //遍历str1
        for(int i=0;i<str1.length();i++){
            if(map.get(str1.charAt(i))==null){
                ret+=str1.charAt(i);
            }
        }
        System.out.println(ret);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值