有趣短小的java代码_Java8 中有趣酷炫的小技巧

执行注释

大多数开发人员认为 注释 永远不会在程序中执行,并用于帮助代码理解。但是,它们却 可以被执行:892cb31fa50de78c231d02979fc31b08.png

程序输出:

wmyskxz is awesome!

Java 允许使用 Unicode 字符而不进行编码。这里的 Unicode 字符 被 Java 编译器解析为新行,因此可以理解为该 Unicode 字符后面出现的语句会在下一行被执行。

双括号初始化集合

在 Java 中,Set/ List/ Map 等集合对象没有在生命期间初始化值的简单方法 。开发人员要么将值显式地传送到集合内,要么为常量集合创建一个静态块。

使用双括号初始化,可以在声明过程中以更少的精力和时间初始化集合。例如:be7218f8c892075b598b5d6161075fe2.png

程序输出:

[awesome, !, wmyskxz, is]

“ 在 Java 11 中,你可以使用 Set.of("wmyskxz", "is", "awesome", "!") 代替,这里仅仅讨论 Java 8

另外对于 ArrayList 集合类型还是有简单初始化方法的:Arrays.asList()

获取数组插入数字元素的下标

有一个很酷的技巧,可以找到可以在数组中插入所请求元素的位置:6a042095d2f94388eb5bfcc94ef58e96.png

程序输出:

Element has to be inserted at: 1

Arrays.binarySearch() 是 JDK 自己实现的二分查找方法,局限就是目标数组必须是排序好的 。

判断数字是偶数还是奇数

通常我们会使用 num % 2 == 0 来判断数字是奇数还是偶数。下面的技巧尽管并不比上述方法好多少,但在考虑大数时,效率会高很多:

System.out.println((num & 1) == 0 ? "EVEN" : "ODD" );

示例:5d204ed030546ce9c3609fabdf50d335.png

快速乘或除 2

二进制中,乘以 2 表示将所有位向左移动,除以 2 表示向右移动。

n = n << 1; // Multiply n with 2 n = n >> 1; // Divide n by 2

判断素数

Java 在 BigInteger 类中内置了 isProbablePrime() 方法。如果此 BigInteger 可能是质数(可以肯定),则返回 true,如果它肯定是复合的,则返回 false。

BigInteger.valueOf(1235).isProbablePrime(1)

More..

欢迎补充

相关资源:Java有趣代码
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页