-
2021-03-11 16:34:59
[分享]几段有趣的JAVA代码
下面是一些有趣的JAVA代码,大家可以尝试下不要编译运行代码先猜一下代码的运行结果,然后再动手验证.
主要考察JAVA的基本功,各位可以把自己作对的题号跟贴贴出来.
建议第一页不要有讨论为什么的帖子,方便大家测试
代码一public class LongDivision {
public static void main(String[] args) {
final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;
System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);
}
}
代码二
public class Multicast {
public static void main(String[] args) {
System.out.println((byte) -1);
System.out.println((char) (byte) -1);
System.out.println((int) (char) (byte) -1);
}
}
代码三
public class DosEquis{
public static void main(String[] args) {
char x = 'X';
int i = 0;
System.out.println(true ? x : 0 );
System.out.println(true ? x :65536);
System.out.println(false ? i : x );
}
}
代码四
public class FinallyT{
public static void main(String[] args){
System.out.println(test());
}
public static boolean test(){
try{
return false;
}finally{
return true;
}
}
}
代码五
public class ExceptionT{
public static void main(String[] args){
ExceptionT pointer =null;
try{
pointer.print();
}catch(NullPointerException e){
System.out.println(\"Hello,Exception!\");
}
}
public static void print(){
System.out.println(\"Hello,World!\");
}
}
更多相关内容 -
/* _.---..._ ./^ ^-._ ./^C===. ^\. /\ .|' \\ _ ^|.^.| ___.--'_ ( ) . ./ /|| /.---^T\ , | / /||| C' ._`... i....._ // |.... | ^-.__./X/ .... #####b ^^^^^^^^--.... */
-
Java游戏代码-好玩的游戏
2009-04-05 19:43:23Java游戏代码,包括:汉诺塔,魔板,挖雷,象棋打谱等比较好玩的游戏! -
Java源码中有意思的代码片段
2021-03-05 16:03:24无聊时,看了一下java.util.Collections源码,发现一个有趣的代码片段。下面这段代码是从java.util.Collections中Copy出来的,大看一下有趣在哪里??public static int indexOfSubList(List> source, List> ...无聊时,看了一下java.util.Collections源码,发现一个有趣的代码片段。下面这段代码是从java.util.Collections中Copy出来的,大看一下有趣在哪里??
public static int indexOfSubList(List> source, List> target) {
int sourceSize = source.size();
int targetSize = target.size();
int maxCandidate = sourceSize - targetSize;
if (sourceSize < INDEXOFSUBLIST_THRESHOLD ||
(source instanceof RandomAccess&&target instanceof RandomAccess)) {
nextCand:
for (int candidate = 0; candidate <= maxCandidate; candidate++) {
for (int i=0, j=candidate; i
if (!eq(target.get(i), source.get(j)))
continue nextCand; // Element mismatch, try next cand
return candidate; // All elements of candidate matched target
}
} else { // Iterator version of above algorithm
ListIterator> si = source.listIterator();
nextCand:
for (int candidate = 0; candidate <= maxCandidate; candidate++) {
ListIterator> ti = target.listIterator();
for (int i=0; i
if (!eq(ti.next(), si.next())) {
// Back up source iterator to next candidate
for (int j=0; j
si.previous();
continue nextCand;
}
}
return candidate;
}
}
return -1; // No candidate matched the target
}
上面有个语法这样的:
nextCand:
for (int candidate = 0; candidate <= maxCandidate; candidate++) {
ListIterator> ti = target.listIterator();
for (int i=0; i
if (!eq(ti.next(), si.next())) {
// Back up source iterator to next candidate
for (int j=0; j
si.previous();
continue nextCand;
}
}
return candidate;
}
这样的语法很少见,可以说几乎在Java根本没有,一开始我还以是反编译时编译出错了,出现了语法错误,但是我好奇的试了一下这个语法,真是奇了,竟然可以通过编译,程序也能正常运行。
下面是我的代码:
public class Test {
public static void main(String[] args) {
isNext : for (int i = 0; i < 5; i++) {
if ((i % 2) != 0) {
continue isNext;
}
System.out.println("i ==> " + i);
}
}
}
运行结果:
程序不没有报错,可以正常运行,运行的结果和我们使用标准的 for 循环一样。从上面的运行结果可以看出 continue isNext 的作用和 continue 一样,都是跳出当前循环。
说道这里,我们分析一样一下这个语言的使用场景,先看一下语法。
identifies :
code segment {
break/continue identifies;
}
identifies 是自定义的,定义的规则个Java的参数定义一样,如果冒号后面跟的的循环,可以使用 break identifies 跳出整个循环,或 continue identifies 退出当前循环。其实最上面的源码中,就有注解: // Element mismatch, try next cand(元素不匹配,尝试下一个元素),当然,我还发现另一种用法,那就是,冒号后面跟着方法,也可以执行方法。
eg: for(;;;) {continue identifies}
public static void isNext1() {
// for(;;;) {continue identifies}
isNext1 : for (int i = 0; i < 5; i++) {
if ((i % 2) != 0) {
continue isNext1;
}
System.out.println("i ==> " + i);
}
}
eg: do...while() {break identifies}
public static void isNext2() {
// do...while() {break identifies}
isNext2 : do {
System.err.println("while() {break identifies}");
if (true) {
break isNext2;
}
} while (true);
}
eg: do...while() {break identifies}
public static void isNext3() {
// while() {break identifies}
isNext3 : while (true) {
System.err.println("do...while() {break identifies}");
if (true) {
break isNext3;
}
}
}
eg: switch() {break identifies}
public static void isNext4() {
// switch() {break identifies}
isNext4 : switch (1) {
case 1:
System.err.println("switch() {break identifies}");
break isNext4;
default:
break isNext4;
}
}
eg: method()
public static void isNext5() {
isNext : test(11);
}
public static void test(int arg) {
System.err.println("method() ==> " + arg);
}
总结
这种语法就是用来装逼的,没有什么软用。O(∩_∩)O哈哈哈~
-
【程序员的浪漫】一些有趣的JAVA代码
2021-12-19 22:58:32 -
Java8 中有趣酷炫的小技巧
2021-03-09 21:45:51执行注释大多数开发人员认为注释永远不会在程序中执行,并用于帮助代码理解。但是,它们却可以被执行:程序输出:wmyskxz is awesome!Java 允许使用 Unicode 字符而不进行编码。这里的 Unicode 字符 被 Java 编译器...执行注释
大多数开发人员认为 注释 永远不会在程序中执行,并用于帮助代码理解。但是,它们却 可以被执行:
程序输出:
wmyskxz is awesome!
Java 允许使用 Unicode 字符而不进行编码。这里的 Unicode 字符 被 Java 编译器解析为新行,因此可以理解为该 Unicode 字符后面出现的语句会在下一行被执行。
双括号初始化集合
在 Java 中,Set/ List/ Map 等集合对象没有在生命期间初始化值的简单方法 。开发人员要么将值显式地传送到集合内,要么为常量集合创建一个静态块。
使用双括号初始化,可以在声明过程中以更少的精力和时间初始化集合。例如:
程序输出:
[awesome, !, wmyskxz, is]
“ 在 Java 11 中,你可以使用 Set.of("wmyskxz", "is", "awesome", "!") 代替,这里仅仅讨论 Java 8
另外对于 ArrayList 集合类型还是有简单初始化方法的:Arrays.asList()
获取数组插入数字元素的下标
有一个很酷的技巧,可以找到可以在数组中插入所请求元素的位置:
程序输出:
Element has to be inserted at: 1
Arrays.binarySearch() 是 JDK 自己实现的二分查找方法,局限就是目标数组必须是排序好的 。
判断数字是偶数还是奇数
通常我们会使用 num % 2 == 0 来判断数字是奇数还是偶数。下面的技巧尽管并不比上述方法好多少,但在考虑大数时,效率会高很多:
System.out.println((num & 1) == 0 ? "EVEN" : "ODD" );
示例:
快速乘或除 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..
欢迎补充
-
9个有趣的java代码
2019-06-18 21:33:15import java.util.Scanner; /* 请根据控制台输入的特定日期格式拆分日期 如:请输入一个日期(格式如:月日****年) 经过处理得到:****年月日 提示:使用String的方法indexOf、lastIndexOf、substring / public ... -
分享一段Java搞笑的代码注释
2020-06-19 13:55:13分享一段Java搞笑的代码注释 今天在群里看到有人分享了一段搞笑的注释代码,觉得挺好玩的,在这里收藏一下 // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // -
java小代码(一)捉弄人小代码
2019-09-09 20:41:20java小代码(一)捉弄人小代码 捉弄人小代码说明:此为本人自创的一个小代码,由于本人算是一个java学习的初学者,该小代码难免有些缺陷,请各位阅读者见谅。小代码主要使用了java SE中的swing编程,用到的知识不多... -
有趣的JAVA代码!
2008-05-08 17:40:10\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020 \u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0067\u006c\u0079 \...Ugly.java 文件中,编译后再运行……… <br>呵呵,怎么样有趣吧~~ -
一段有趣的Java代码
2019-05-04 20:52:59运行完之前先解析了new Test(),输出了“I”,然后解析完了返回了一个“java”,所以最后输出了“I love java” 如果还不是太确信的话可以将重写的toString()方法中的System.out.print改成System.out.println,... -
java学习_有趣代码片段(一)
2016-07-22 13:55:23记一个有趣的代码片段 ...主要还是自己对基础知识理解的不扎实,以后还会遇到许许多多的问题,就干脆起了个java学习有趣代码片段(一)。 第一个问题 代码如下 package com.zhb; public class Test { ... -
Java有趣代码
2015-02-02 21:02:48这个代码是用来实现五颜六色的星星,有兴趣的读者可以下载,希望多多给于支持 -
笑哭丨谁的代码注释我都不服,就服你的!
2021-03-22 13:29:03什么是代码注释,如何在代码中添加注释,相信每一位了解编程的人并不陌生。注释里往往有很多有趣的脑洞和「真心话」。今天我们一起去看看那些6到飞起,被玩坏了的幽默注释吧。信息量太大的注释系列——01 你造么?我... -
初学JAVA 好玩的打架小游戏代码 -
2021-02-12 19:28:48初学JAVA 好玩的打架小游戏代码 -温柔似野鬼°911次浏览2020年08月01日 15:39最佳经验本文由作者推荐mit是什么意思-拥挤的反义词import nPane;public class GameWithNumbers_GroupProject{public static void main... -
有趣的代码注释!
2021-03-18 00:38:15// sometimes I believe compiler ignores all mycommentsException up = new Exception(“Something is really wrong.”);throwup; //ha ha//When I wrote this, only God and I understood what I wasdoing//Now, ... -
python好玩的代码-python菜鸟教程,python好玩又简单的代码
2020-10-29 22:03:12如果是零基础的话推荐你看以下几本书,入门来说...很简单的,比c++,java之类的简单多了,刚开始学的时候可以看下,当然你要是有其他编程语言基础的化可以直接看有哪些好的python3的入门教程推荐目前教程大部分是基于Pyt... -
【有趣】这段java代码太古怪
2021-03-05 16:03:00首先呢,来一段java代码来开点胃。等等等等,耍我呢,这是java代码?\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0058\u004a\u004a\u0020\u007b\u0020\u0020\u0020\u0020\u... -
绝对最简单(Java代码)
2021-03-16 19:10:34解题思路:注意事项:参考代码:import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);String str=input.next();int leng=str.length(),k=1,... -
国际象棋源代码-JAVA
2019-06-01 17:42:48国际象棋源代码-JAVA,JAVA做的国际象棋,挺好玩的。 国际象棋 -
GitHub 上有些什么好玩的项目?
2021-03-03 11:32:17这个GitHub项目里,所有代码都是用HTML 5写的。神经网络的部分,用了突触神经网络(Synaptic Neural Network)库。首先,创建一个拥有10只小鸟的种群,它们要在游戏的过程中繁衍和进化。这10只小鸟,都是靠随机的神经... -
学习java的一个好玩的小程序
2017-06-28 10:49:01import java.util.Scanner; public class Date { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //创建扫描对象 for(int i=1;i>0;){ System.out.println("please ... -
用Java开发简单又好玩的——雷霆战机小游戏,几行代码就搞定
2020-07-16 15:33:38目录 资源加载 音乐播放 创建子弹类 创建爆炸和珍宝类 创建导弹和飞机类 鼠标键盘控制 资源加载 新建项目:Java Project ->...选择java build path,找到图示中jar的位置 ...然后我们开始编写代码: 我们... -
一个好玩的java测试题源代码
2014-04-24 10:29:09一款好玩的java测试代码,本人新手请高手不吝赐教。 -
java浪漫代码_30条代码,拿去“表白”
2020-10-22 00:06:14作者 | 程序员客栈来源 |...其实很多时候礼物不一定就需要花钱买,今天我们就用代码来一次表白吧,把你中意的代码发给她,看她能不能看懂,哈哈哈!而它们不是一般的代码,它们是文化... -
java简短表白代码是什么
2021-03-05 13:46:02java简短表白代码:实现一个文本告白按钮,代码为【x=msgbox("做我女朋友好不好",VbYesNo)if x=VbYes then msgbox("明天就去领证吧!")】。java简短表白代码:前一阵网上挺火的各种表白代码,自己学着也做了一个 ... -
呵呵:一个好玩的题目 Java的基础知识
2021-03-16 00:25:53代码查错:interfaceA{intx=0;}classB{intx=1;}classCextendsBimplementsA{publicvoidpX(){System.out.println(x);}publicstaticvoidmain(String[]args){newC().pX();}}答案:错误。在编译时会发生错误(错误描述不同... -
Java下载图片代码+教程
2018-07-02 10:08:57在DOS下,利用javac编译.Java成为.class文件,然后运行.class文件,实现下载图片。