java新手抖机灵(java新手技巧)

1.交换两个整数的值

好处是不用定义临时变量,显得代码简洁,提高运行效率

其实也可以用+-*/进行这种运算

比如可以这样:

a = a + b;

b = a - b;

a = a - b;

int a = 1, b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println(a);
System.out.println(b);

2.快速查找整形数组中的偶数

其实这个和第四项有些重复部分,但是总觉得合在一起不合适,所以好吧,还是单独写了出来,

第二种方法请参照第四条,更易于理解

int[] a     = {-1, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int count = 0;
for (int i : a) {
count += i&1;
}
System.out.println(count);

3.java自动关闭流

这个可以说是我学python回来之后遇到的最好的语法糖了,对于习惯性忘记关闭流的我来说,真的是很舒服

try (PrintWriter pw = new PrintWriter("d:/temp.txt");
FileReader fr = new FileReader("d:temp.txt");
BufferedReader br = new BufferedReader(fr)) {
pw.write("你好我是小言");
pw.flush();
System.out.println(br.readLine());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

4.快速判断一个数是否为偶数

前面说过了,其实这个按位符号用途还蛮多的,新手了解的话很费劲,在学校老师也不会怎么教实际应用,直到我看到了这个,才对按位运算起了兴趣

//方法1,速度较快
for (int i = -10; i < 10; i++) {
System.out.println((i&1)==0);
}
//方法2,便于理解
for (int i = -10; i < 10; i++) {
System.out.println(i*i%2==0);
}

最新文章

  1. 【Android】[转] Android Codec默认profile使用的是Baseline
  2. javascript移动设备Web开发中对touch事件的封装实例
  3. How to use wget ?
  4. oracle_空值判断
  5. Cobbler学习之一--Fedora17下配置Cobbler安装环境
  6. sql中in和exists效率问题 转自百度知道
  7. 思科简单教程CCNA
  8. cuffdiff 和 edgeR 对差异表达基因的描述
  9. POJ 1466
  10. Android开发之assets文件夹中资源的获取
  11. 图论(网络流):[CTSC2001]终极情报网
  12. Dx 1 error; aborting Conversion to Dalvik format failed with error 1
  13. 超大批量删除redis中无用key+配置
  14. Linq 入门 顺带 Func与Action
  15. Apache2 httpd.conf 配置详解(一)
  16. 谈谈我对php通信的理解及人生小感
  17. [javascript]一段焦点图的js代码
  18. 了解一下RabbitMQ
  19. (C++)关于i++和i++的左值、右值问题
  20. 搭建最新版本的Android开发环境

热门文章

  1. ganglia监控架构
  2. HDU5616 天平能否称出物体重量问题 01背包变形或者折半搜索
  3. nginx传世经典
  4. 基于scrapy-redis分布式爬虫(简易)
  5. JAVA高级篇(三、JVM编译机制、类加载机制)
  6. (28)django的中间件(自定义中间件和防范跨站请求伪造攻击)-重要的概念
  7. python中str函数isdigit、isdecimal、isnumeric的区别
  8. centos7.1安装tomcat8
  9. Java线程及线程池状态
  10. java实验四《Android程序设计》实验报告