java复习笔记
一、语法
1.1 case
1.1.1 基本语法
1.1.2 case穿透
二、面向对象高级
2.1继承
2.2多态
2.2.1 多态调用成员的特点
2.2.2 多态的弊端及解决方案
多态,不能调用子类的方法,如何解决呢?强制类型转换,如下:
2.3 抽象类
2.4 接口
2.5 内部类
2.5.1 成员内部类
2.5.2 静态内部类
2.5.3 局部内部类
2.5.4 匿名内部类
三、常见API
3.1 String字符串
比较
敏感词过滤
StringBuilder
执行在分钟级别(3分钟)完成
执行在毫秒级别(30毫秒)完成
字符串转成数字,使用字符的ascii码-48
package com.doumi.basic.string; public class StringTest04 { public static void main(String[] args) { String a = "111"; String b = "111"; int len = a.length() >= b.length() ? a.length() : b.length();//求最大长度 int[] arr1 = copyStrToIntArray(a, len); printArray(arr1); int[] arr2 = copyStrToIntArray(b, len); printArray(arr2); //add int[] sum = new int[len+1]; int carry = 0;//进位 for (int i = len-1; i >= 0; i--) { int temp = arr1[i] + arr2[i] + carry; sum[i + 1] = temp % 10; carry = temp / 10; } sum[0] = carry; printArray(sum); //打印结果 for (int i = 0; i < sum.length; i++) { if(i != 0 || sum[i] != 0) { System.out.print(sum[i]); } } } /** * 将字符串转换成int数组 * @param str * @param length * @return */ public static int[] copyStrToIntArray(String str,int length){ int[] arr = new int[length]; int index = length - 1; for (int i = str.length()-1; i >= 0; i--) { arr[index] = str.charAt(i)-48;//将字符转换成数字 index--; } return arr; } public static void printString(String str) { System.out.print("["); for (int i = 0; i < str.length(); i++) { if(i != str.length()-1) { System.out.print(str.charAt(i) + ", "); }else { System.out.println(str.charAt(i) + "]"); } } } public static void printArray(int[] arr) { System.out.print("["); for (int i = 0; i < arr.length; i++) { if(i != arr.length-1) { System.out.print(arr[i] + ", "); }else { System.out.println(arr[i] + "]"); } } } }