Scanner scanner = new Scanner(System.in);
导包:
util包:scanner,List,ArrayList
常用类中的方法:
基础数据
常见类:
数组长度为 array.length -> 是一个属性
字符串长度为 String.length() -> 是一个方法
数据转换成 二进制
常用方法一览:
String
- charcAt()
- length()
- concat(String str)
- indexOf()
StringBuilder - 对比 StringBuilder 和 String 之间的方法区别
Character
- isLetter()
Collections
- sort()
- reverse()
Character
- isLetter()
BigDecimal
BigInteger - HJ57 高精度整数加法
基础点:
- 数据类型
- char, byte, short, int, long, double, float, boolean
- 八种数据类型 + 取值范围 + 之间的转换关系 + 封装类 + 封装类的创建、构造器
- 基础数据与String之间的转换
- HashMap类
- contains()
- replace()
- put()
- StringBuilder 类
- append()
- insert()
- replace()
- reverser()
- substring(), toString()
- Character 类
- isLetter()
- isDigit
- isLetterOrDigit
- isUpper/LowerCase
- String类的常用api
- 直接定义一个String变量和new一个String变量的区别
- String str = “test”; 定义一个String变量JVM会首先字符串实例池中寻找有没有相同的实例,有的话就会直接将该实例的地址返回给赋值,没有的话就会在实例池中创建新对象
- String str = new String(“test”); 在堆中创建这个对象,并将堆中的地址返回赋值给引用;而引用是保存在栈中的
- String.valueOf(),String类的静态方法,将其他类型的数据转化为String字符串
- 接受8种基本数据类型 & char[] & Object
- charAt(int index);compareTo(String anotherString);concat(String str);endsWith(String suffix);indexOf(String str);isEmpty();lastIndexOf(String str);length();matches(String regex);split();startsWith(String prefix);toUpperCase();toLowerCase();
- String.indexOf(),其实也是接收单个字符的,不过只能用 ascii 值来表达该字符
- 直接定义一个String变量和new一个String变量的区别
- 封装类
- Boolean
- logicalAnd();logicalOr();toString(boolean b);valueOf(boolean b);valueOf(String s)
- Integer
- bitCount(),返回二进制中表示1的个数
- Constructor,可以使用 String 或者 int 类型数据来构造 Integer
- equals(),如果双方是两个 Integer,则比较的是它们的值
- max(int a, int b),min(int a, int b) -> 比较两个数的大小,静态方法
- 跟 Integer.max 和 Integer.min 底层其实也是调用了 Math.max 和 Math.min,所以两者本质上是一样的,唯一区别就是 Integer.max 和 Integer.min 只能接收 int 数据作为参数,而Math中的两个方法实现了重载,可以接收 int, long, double, float 类型的数据
- sum(int a, int b) -> 返回和
- parseInt(String s),String to int
- 可以加多一个 int radix 参数,表示使用的进制
- toBinaryString(int i)
- toString (int i)
- valueOf(),接受 String & int
- Boolean
- 类型转换
- 运算符
- 算数运算符 - 加减乘除,取余,自增自减
- 关系运算符 - 等于,不等于,大于小于(等于)
- 逻辑运算符 - 与 (&& &) 或 (|| |) 非 异或
- 异或:两者不相同时表达为 true,相同时表达为 false
- 位运算符 - 与 或 非 异或 右移 左移 不补零右移
- 赋值运算符
- 顺序结构
- switch () { case : break; }
- 栈、堆、对象的创建初始化
- 常见集合
- Collection 是一个集合类的顶级接口,而Collections是针对Collection对象的一个常用工具类
- Collections的常用api(工具),sort(List
list),swap(List<?> list, int i, int j),reverse(List<?> list),shuffle(List<?> list)
- Collections的常用api(工具),sort(List
- ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap
- Collection 是一个集合类的顶级接口,而Collections是针对Collection对象的一个常用工具类
- 常见类及其api
Note:
- 要考虑输入字符串中有空格的情况(如果题目中没有说明是否会有空格出现的话)
- String 之间的比较要用 equals()?不用 ==?
- 可以多复习复习 TreeSet / TreeMap
- HashSet的自动排序假象
- java的排序算法
- 正则表达式
- 线程:HJ49
- 16进制
- BigDecimal & BigInteger
正则表达式:
- ?:问号,表示前面的字符可以出现0次或者1次
- *:星号,表示其那面的字符可以没有,也可以出现多次,但不可以是1次
- +:加号,表示前面的字符要出现1次 以上(含?)
- {}:花括号,表示前面的字符 要出现花括号中的次数
- 字符类:
- 方括号:表示用方括号中元素组成的字符串
- a-z
- A-Z
- 0-9
question?
- 需要保证输入数据的正确性吗?
常用方法?
- isPrime() - HJ60
- 递归 - HJ61,放苹果