力扣刷题:小知识点之通过位运算实现交换与部分常用的String方法


 

 

1、位运算

如果想交换两个变量的值,通常做法是设置 tmp,temp(temproray)作为中间变量 

然后进行交换 如交换 变量 a和 变量 b

int a=66;
int b=99;
int temp=0;

temp=a;
a=b;
b=temp;

第二种做法就是使用位运算

        int [] a = new int[] {66,99};
        a[0]^=a[1];
        a[1]^=a[0];
        a[0]^=a[1];
        System.out.println(a[0]+" "+a[1]);

 2、Java String类中的 toValue()方法和 toCharArray()

toValue() 方法在刷题,往方法内传的参数一般是字符串数组,也有传三个参数的,这时候三个参数,第一个是字符数组 的 数组名,第二个是 字符数组中下标的起始点,第三个是从起始点开始,共count个字符,选取出来,过长会发生数组下标越界的错误。返回值是一个长为count的字符串。

toCharArray()方法在刷题使用时,通常往里面传入一个字符串(直接传记得加双引号)

然后返回一个字符数组。

3、Java中的 substring()方法详谈与toValue()方法区别

java中的 substring方法是截取一定长度的字符串,常用的是穿两个参作为区间,左闭右开

,返回值是字符串类型的,但是返回之后,我们之前说过,对象有new才能在堆上开辟内存,然后有类型变量 引用 他的指向,所以在此处我们不仅学习这个方法,更要鞭辟入里

所以我给大家整了一手花活~

不妨看这个代码

这里再给调用substring方法生成的字符串一个字符串类型变量指向他的引用~~

 

 对字符串s1调用了 上述的subtostring方法之后,他s1并没有改变,这里涉及到的,就是在Java里面的字符串的内容,是存在字符常量池里的,每一个字符串内容都生成常量独一无二的,想改变字符串,只能通过修改他的指向来进行修改!

这些关于字符串的知识内容以及Java中的Jvm的堆内存和栈内存的相关知识后续会进行更加深入和详尽的更新,以便于和大家深入讨论,在此限于篇幅,囿于时间,本文难免有考虑不周尚需修改之处,还请诸位读者斧正!

如有问题,敬请指出,留言或私信均可,我们一起学习,相互讨论,从而共同进步!望广大读者不吝赐教!~~

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻根根呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值