这几天接触了多线程,发现while和if还是有区别的,以前想当然认为都是判断条件的,

while循环语句,可以执行多次,if是条件语句,只是单次执行。

while(表达式) 语句组; 计算表达式,若为真,执行语句,并重复该过程,直到为假时,执行下一条语句。

例如:while(k>0)i++;表示只要k>0,就执行i++;直到等到k<=0时,不执行i++;程序执行下面的语句。

比如多线程中的语句:

while(flag)
            try{this.wait();}catch(Exception e){}//t1(放弃资格)  t2(获取资格)
        this.name = name+"--"+count++;

如果这里的while换成if,将会出现错误,因为t2等待后被唤醒,如果是if,经过单次判断后不会再进行判断,这时t2有可能会覆盖掉t1的结果,而while会多次执行,避免出现覆盖。

java学习--while和if的区别相关推荐

  1. Java学习_int和Integer的区别+包装类

    1.Java 中的数据类型分为基本数据类型和引用数据类型 int是基本数据类型,Integer是引用数据类型: Ingeter是int的包装类,int的初值为0,Ingeter的初值为null. 2. ...

  2. Java学习之String StringBuffer StringBuilder区别

    1.String:对象长度是不可变的,是线程安全. 2.StringBuffer:对象长度是可变的,是线程安全. 3.StringBuilder:对象长度是可变,不是线程安全. 转载于:https:/ ...

  3. Java学习-Overload和Override的区别

    1.Overload是重载的意思,Override是覆盖的意思,也就是重写. 2.重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 3 ...

  4. Java学习笔记1:Java中有关print、println、printf的用法和区别

    Java学习笔记1:Java中有关print.println.printf的用法和区别 最近在学习java,写一些笔记记录下. 1.print()函数是一般的标准输出,但是不换行. 2.println ...

  5. 初学Java基础学习——抽象类和接口的区别

    初学Java基础学习--抽象类和接口的区别 一.关键字 1)抽象类的关键字 abstract class A{//定义一个抽象类: } class Test extends A{//子类使用exten ...

  6. JAVA和C语言有啥区别?是选择学习JAVA还是C?

    JAVA和C语言有啥区别 1.C语言是面向过程的语言,执行效率高:Java是面向对象的语言,执行效率比C语言低: 2.C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放 ...

  7. java char的包装对象,Java 从Character和char的区别来学习自动拆箱装箱

    本文结构 1.Character和char 的区别: 2.自动拆箱装箱java 1.Character和char 的区别: Character是类,char基本数据类型.数组 在java中有三个类负责 ...

  8. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  9. Java学习笔记--StringTokenizer的使用

    2019独角兽企业重金招聘Python工程师标准>>> Java Tips: 使用Pattern.split替代String.split String.split方法很常用,用于切割 ...

最新文章

  1. java 重载与覆盖_Java重载与覆盖
  2. 使用阿里云火车票查询接口案例——CSDN博客
  3. NXP UWB NCJ29D5开发(一)环境搭建
  4. python列表是顺序表还是链表_顺序表与链表
  5. wxPython 笔记(8)设定窗体的样式
  6. 年终庆典高端海报设计PSD分层模板
  7. java 简单的webshell_Java Web使用JSPX白名单绕过上传WebShell | kTWO-个人博客
  8. Apache服务器全局配置之服务器标识配置篇
  9. 【转】js获取浏览器信息和客户端硬件信息
  10. linux网络编程--服务器模型(epoll/select/poll)
  11. servlet中的字符编码过滤器的使用
  12. java多线程条件变量_30秒带你读懂Java并发包工具(JUC)之Condition(并发条件变量)...
  13. Class类文件结构之ConstantValue属性
  14. 沟通在日常管理工作中的重要性
  15. 【微信小程序】图库——(小程序篇)
  16. think in google--think in 互联网系列2
  17. 油价又双叒叕涨,司机教你如何开车更省油?
  18. U盘文件格式化后怎么快速恢复
  19. java毕业设计——基于java+Socket+sqlserver的网络通信系统设计与实现(毕业论文+程序源码)——网络通信系统
  20. codeforces contest 1166 E. The LCMs Must be Large---思维

热门文章

  1. cloneNode(true)和cloneNode()的区别?(克隆节点)
  2. Spring中的ApplicationListener的使用详解案例(观察者模式)
  3. 购物商城,规格选择,无货的规格置灰计算方法
  4. mysql读写分离(一)----------mysql安装
  5. 考研高数 专题4:微分中值定理及其应用(罗尔定理-拉格朗日中值定理-柯西中值定理)
  6. 钢铁电商行业方案:钢铁工业产品全生命周期管理解决方案
  7. 青蛙跳杯子(蓝桥杯)
  8. 从iphone3到iphone4的程序界面。
  9. Spring注入属性为null
  10. 自动化行业工控系统Demo