Java趣味问答题^_^
2024-03-21 16:02:01
Java趣味问答题^_^
1.计算下面代码的结果
public class smallT
{public static void main(String args[]){SmallT t = new SmallT();int b = t.get();System.out.println(b);}public int get(){try{return 1 ;}finally{return 2 ;}}
}
// 返回的结果是2。
2.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
public class ThreadTest1 {private int j;public static void main(String args[]){ThreadTest1 tt=new ThreadTest1();Inc inc=tt.new Inc();Dec dec=tt.new Dec();for(int i=0;i<2;i++){Thread t=new Thread(inc);t.start();t=new Thread(dec);t.start();}}private synchronized void inc(){j++;System.out.println(Thread.currentThread().getName()+"-inc:"+j);}private synchronized void dec(){j--;System.out.println(Thread.currentThread().getName()+"-dec:"+j);}class Inc implements Runnable{public void run(){for(int i=0;i<100;i++){inc();}}}class Dec implements Runnable{public void run(){for(int i=0;i<100;i++){dec();}}}
}
3.自动拆装箱的实验
public class Test { public static void main(String[] args) { test(); } public static void test() { int i = 40; int i0 = 40; Integer i1 = 40; Integer i2 = 40; Integer i3 = 0; Integer i4 = new Integer(40); Integer i5 = new Integer(40); Integer i6 = new Integer(0); Double d1=1.0; Double d2=1.0; //1、这个没解释的就是trueSystem.out.println("i=i0\t" + (i == i0)); //true//2、int值只要在-128和127之间的自动装箱对象都从缓存中获取的,所以为trueSystem.out.println("i1=i2\t" + (i1 == i2)); //true//3、涉及到数字的计算,就必须先拆箱成int再做加法运算,所以不管他们的值是否在-128和127之间,只要数字一样就为trueSystem.out.println("i1=i2+i3\t" + (i1 == i2 + i3));//true //比较的是对象内存地址,所以为falseSystem.out.println("i4=i5\t" + (i4 == i5)); //false//5、同第3条解释,拆箱做加法运算,对比的是数字,所以为trueSystem.out.println("i4=i5+i6\t" + (i4 == i5 + i6));//true //double的装箱操作没有使用缓存,每次都是new Double,所以falseSystem.out.println("d1=d2\t" + (d1==d2));//false System.out.println(); }
}
最新文章
- Keras运行速度越来越慢的问题
- 百度大脑开放日:24 种新 AI 能力 20 个经典案例 助力 AI 落地
- Android性能优化之提高ListView性能的技巧
- linux文件I/O操作
- 手机上最小的Linux,Linux没有最小只有更小----361M以下的Linux名单
- Spark SQL 函数全集
- mysql sort aborted_mysql排序中断(Sort aborted)-mysql临时文件无法写入
- select2 change之前的改变
- ntp协议中 服务器失效怎么办,排除网络时间协议(NTP)故障
- 用python画糖葫芦_python学习记录六
- 从科大讯飞跳槽到腾讯被判赔 1200 万;华为多款机型将取消充电器;苹果春季发布会定档4月21日|极客头条...
- centos 6.0 rpm 包编译环境的搭建
- 【Web文件上传下载】各种类型文件对应的content-type
- 家装灯线走线图_二十年资深装修电工是如何布线的?家庭装修电工布线图详解...
- 多线程-线程让步(yield)
- android同时预览多个监控,基于VLC的Android多路视频监控系统.pdf
- bzoj1003 [ZJOI2006]物流运输(最短路+dp)
- 镜像拉取....网易云镜像中心
- 面向对象案例:学生管理系统
- java 验证码_java实现简单的验证码功能