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();          }
}

最新文章

  1. Keras运行速度越来越慢的问题
  2. 百度大脑开放日:24 种新 AI 能力 20 个经典案例 助力 AI 落地
  3. Android性能优化之提高ListView性能的技巧
  4. linux文件I/O操作
  5. 手机上最小的Linux,Linux没有最小只有更小----361M以下的Linux名单
  6. Spark SQL 函数全集
  7. mysql sort aborted_mysql排序中断(Sort aborted)-mysql临时文件无法写入
  8. select2 change之前的改变
  9. ntp协议中 服务器失效怎么办,排除网络时间协议(NTP)故障
  10. 用python画糖葫芦_python学习记录六
  11. 从科大讯飞跳槽到腾讯被判赔 1200 万;华为多款机型将取消充电器;苹果春季发布会定档4月21日|极客头条...
  12. centos 6.0 rpm 包编译环境的搭建
  13. 【Web文件上传下载】各种类型文件对应的content-type
  14. 家装灯线走线图_二十年资深装修电工是如何布线的?家庭装修电工布线图详解...
  15. 多线程-线程让步(yield)
  16. android同时预览多个监控,基于VLC的Android多路视频监控系统.pdf
  17. bzoj1003 [ZJOI2006]物流运输(最短路+dp)
  18. 镜像拉取....网易云镜像中心
  19. 面向对象案例:学生管理系统
  20. java 验证码_java实现简单的验证码功能

热门文章

  1. 卡方检验计算公式-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析
  2. 云展网教程 | 什么是PDF文档
  3. 通俗理解“极大似然估计”
  4. oracle11g 启动crs,11GR2 CRS启动报错 。。。
  5. Python股票行情看板
  6. 专门为麻醉科和手术室开发的:手术麻醉系统源码,系统稳定,功能完整,支持二次开发
  7. 支付系统的核心,账务系统都需要有哪些功能
  8. 我的漫漫程序人生路(下)
  9. 20210407 lvm
  10. c++Vector插入操作