判断int类型计算后是否越界
- java中int类型占4个字节,32位
- 取值范围为-2^31~2^31-1 (-2147483648~2147483647)
1 | //判断int值计算前后是否相等,假设需要计算 result = x * 10 |
反转int
- 遍历int的每个数字
- 输入123456789,输入987654321
- 输入-123456789,输入-987654321
1 | #将输入的int反转输入 |
反转string
- 利用stack新进后出特性进行反转
1 | //java.util.Stack类:先进后出 |
char字符和int之间的转化
- 因为ascii中’0’并不对应0
1 | //char 转 int |
判断字符串中是否有某个字符
1 | private boolean hasChar(String s, char c){return s.indexOf(c) != -1;} |
Java中的length、length()、size()
- 数组长度属性,使用length
- String的长度,使用length()方法
- 泛型中元素个数,使用size()方法
1 | int[] x = {1,2,3,4,5}; |
二进制运算
- 取最高非0位(00001024的最高非0位是00001000):Integer.highestOneBit(num)
- 取掩码(00001024的掩码是00001111):(Integer.highestOneBit(num) << 1) - 1
- 负数用补码表示,整数用正码表示,补码+正码=0(-5+5=0);补码=(绝对值)二进制+1 再补正反位为1。
集合类转数组
- ArrayList.toArray();转化为