java基础学习(3)

1.java中&&&的区别,&和&&都是逻辑运算符,都是判断两边为真,则语句成立. 但是&&当第一个条件不成之后,后面的条件都不执行而&则还是继续执行,直到整个条件语句执行完为止。同理 | 和||或运算一样。

2. 左移(<<)运算N位相当于完成2的N次幂运算,右移(>>)运算N位相当于除以2的N次幂运算,对于高位出现的空位,原来高位是什么就用什么补这个空位。无符号右移(>>>):右移时,无论高位的符号是什么,都用0来补。

3.两数互换,如何做最高效?

第一种

public class test {
    public static void main(String[] args){
        //两值互换
        int a=3,b=4;
        System.out.println("a="+a+",b="+b); 
        //type1:
        int c;
        c=a;
        a=b;
        b=c;
        System.out.println("a="+a+",b="+b); 
    }

第二种:

public class test {
    public static void main(String[] args){
        //两值互换
        int a=3,b=4;
        System.out.println("a="+a+",b="+b); 
        //type1:
//      int c;
//      c=a;
//      a=b;
//      b=c;
        //type2
        a = a^b;
        b = a^b;
        a = a^b;

        System.out.println("a="+a+",b="+b); 
    }

}

第三种:

public class test {
    public static void main(String[] args){
        //两值互换
        int a=3,b=4;
        System.out.println("a="+a+",b="+b); 
        //type1:
//      int c;
//      c=a;
//      a=b;
//      b=c;
        //type2
//      a = a^b;
//      b = a^b;
//      a = a^b;
        //type3
        a = a+b;
        b = a-b;
        a = a -b;

        System.out.println("a="+a+",b="+b); 
    }

}

针对上面三种方式分析,首先方式2和3不会开劈新的内存空间,比方式1高效,但方式3不适合两个比较大的数相加减,容易越界出现精度问题,方式2,是最高效的,但可读性差,用到了异或的概念。结论:一个数A异或同一个数B两次,得到的结果还是A这样你看方式2时就会很好理解了,实际使用中推荐方式1,因为可读性好,且内存开销很廉价,另两种方式供大家赏玩。

4.下面两条语句的区别

  • 1 . System.out.print()
  • 2 . System.out.println()

1. 输出的时不换行,2. 所示会换行,在eclipse中的快捷方式是 先输入sysout 然后 alt+/,即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值