您的位置:首页 > 编程语言 > Java开发

java基础学习(3)

2016-04-24 23:30 190 查看

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+/,即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java