Day 6

本文探讨了Java编程中的抽象类和final关键字的使用。阐述了抽象类不能被实例化,final类可以被实例化的概念,并指出两者不能同时使用。详细解释了抽象方法的定义以及字符串和数组的length特性。此外,还介绍了构造方法的执行顺序以及变量提升的概念。文章还通过示例代码展示了如何计算可放置蛋糕的数量,以及如何将字符串转换为整数,涉及字符串处理和数字转换的技巧。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
抽象类不能被实例化,final类可以被实例化
在这里插入图片描述
abstract和final是不可以同时出现的
抽象方法不能有具体方法实现,不能有{}
在这里插入图片描述
java中数组是没有length()方法的,只有length属性,数组array.length返回的是该数组的长度。
字符串String是有length()方法的,str.length()返回的是该字符串的长度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先执行父类静态代码快,再执行子类静态代码快。再执行父类构造方法,在执行子类构造方法
在这里插入图片描述
在这里插入图片描述
答案:30
在这里插入图片描述
C:比如有参构造和无参构造
D:子类通过super关键字也可以调用
在这里插入图片描述
A:012自动向上转型int转换为long
B:double和float都可以直接赋整型int
byte范围是-128到127
在这里插入图片描述
在这里插入图片描述
如果表达式1为真,返回表达式2,否则返回表达式3。此时b=ture为真,直接返回false。

如果此时b=false,还是返回表达式3的结果,表达式3也是个三目运算符,ture==true为真,返回false。
在这里插入图片描述
难点:
1.欧几里得距离仔细分析后就是在网格中横纵坐标相差2的格子内不能放蛋糕

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int w=sc.nextInt();
        int h=sc.nextInt();
        //二维数组初始化后,数组里的数字都为0
        int[][] arr=new int[w][h];
        //蛋糕数量
        int count=0;
        for(int i=0;i<w;i++){
            for(int j=0;j<h;j++){
                //只要为数字0的都可以放蛋糕
                if(arr[i][j]==0){
                    count++;
                    //把欧几里得距离的网格数字置为1
                if(i+2<w){
                    arr[i+2][j]=1;
                }
                if(j+2<h){
                    arr[i][j+2]=1;
                 }
              }
           }
        }
        System.out.println(count);
    }
}

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

易错点:
1.字符串的内容是无法修改的,最好先将字符串转换成字符数组在做
2.最后char类型转换为int类型是一个难点:得出一个公式sum=sum*10+ 数字字符 -’ 0 ’
3.任意字符数字减去字符数字0就是十进制的减法

import java.util.*;
public class Solution {
    public int StrToInt(String str) {
        char[] nums=str.toCharArray();
        int sum=0;
        //判断正负数
        int flag=1;
        //1.判空
        if(nums.length==0){
            return 0;
        }
        //2.处理正负号
        if(nums[0]=='+'){
            //易错点:一定是字符'0'不是数字0
            nums[0]='0';
        }else if(nums[0]=='-'){
            nums[0]='0';
            flag=-1;
        }
        //3.判断数组中有无特殊符号
        for(int i=0;i<nums.length;i++){
            if(nums[i]<'0'||nums[i]>'9'){
                return 0;
            }
            sum=sum*10+nums[i]-'0';
        }
        return sum*flag;
    }
}
C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:437 throw err; // Rethrow non-MySQL errors ^ Error: secretOrPrivateKey must have a value at module.exports [as sign] (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\jsonwebtoken\sign.js:107:20) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\router_handler\2user.js:49:26) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:526:10) at Query._callback (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:488:16) at Sequence.end (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at Query._handleFinalResultPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:149:8) at Query.EofPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:133:8) at Protocol._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:43:10) Node.js v18.12.1
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值