抽象类不能被实例化,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;
}
}