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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树