JAVA 小抄

`1.
String str="asd";
StringBuilder stringbuilder = new StringBuilder(str);

将String对象转换为StringBuilder对象。

Stringbuilder.toString();

将StringBuilder对象转化为String对象。

2.

Object array;
Object [] newarray=Arrays.copyOfRange(array,start,end);

复制一个从start到end的任意类型的数组,但不包括end这个位置的元素

3.

Character.isLetterOrDigit(char)

判断char是不是字母或数字。

4.

public String reverse(String s){
            StringBuilder stringbuilder = new StringBuilder(s);
            stringbuilder.reverse();
            return stringbuilder.toString();
        }

实现字符串反转,String类型没有直接的reverse相关方法。

5.
Integer.parseInt(string, radix)用法
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

parseInt("10");         //返回 10
parseInt("19",10);      //返回 19 (10+9)
parseInt("11",2);       //返回 3 (2+1)
parseInt("17",8);       //返回 15 (8+7)
parseInt("1f",16);      //返回 31 (16+15)
parseInt("010");        //未定:返回 10 或 8

6.
char型数组转化为String的方法:

char [] ch={'a','s','d'};
String string=new String(ch);
String.valueOf(ch);

7.
判断int类型数值是否overflow

if((r*10)/10 != r) return 0; // check overflow without long

8.
int a = 2,b = 5;
a+=b+=a+=b;
问最后a,b分别是多少。
a=14,b=12

a+=b+=a+=b;
等价于
a=a+(b=b+(a=a+b));
1、运算过程中注意a是原子类型 值是拷贝的
2、a=a+(××××); //+结合率是从左到右。 即先将a压栈 然后计算括号内的,这样算就明白了,具体请看用javap -verbose 来观看字节码操作
0: iconst_2
1: istore_1 —>a
2: iconst_5
3: istore_2 —>b
4: iload_1 载入a(2)
5: iload_2 载入b(5)
6: iload_1 载入a(2)
7: iload_2 载入b(5)
8: iadd 7 (第6和7行累计 结果压栈)
9: dup 复制栈顶
10: istore_1 a(7) 把栈顶结果保存到a
11: iadd 12 (栈顶7+第5行)
12: dup 复制12
13: istore_2 b(12) 结果保存到b
14: iadd 12+2(栈顶+第4行)
15: istore_1 a(14)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值