while和if的区别
来源:互联网 发布:米奥软件 编辑:程序博客网 时间:2024/06/10 06:32
刚在看多线程通信的时候用到了判断,发现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会多次执行,避免出现覆盖。
而且 当开启三个这样的线程打印不同的语句用if每个打印一遍也就全部wait了但是你用while会一直执行
private int flag=1;
public void print() throws InterruptedException{
synchronized (this) {
if (1!=flag){
this.wait();//当前线程dnengda
}
System.out.print("你");
System.out.print("黑");
System.out.print("\r\n");
flag=2;
this.notify();//
}
}
当然了你可以吧notify换成notifyall但是依然达不到三个线程一个接一个执行的效果,
- while和if的区别
- while和if的区别
- if 和 while 的区别
- while和if的区别
- if和while的微小区别
- java 中 if 和 while 的区别
- java学习--while和if的区别
- 以水仙花数论C++中while和if的区别
- while中的continue和if中的continue的区别
- if......if和if......else if......else if的区别
- java的if-else和while用法
- python 的if和while语句
- 关于Perl中while和if后面的语句段执行过程的区别
- if,while和do..while语句的汇编形式代码
- 关于while 和if
- 思考if和while
- if...if 和if...else if...的区别
- do while 和while之间的区别
- 2017年12月21日
- java线程安全和锁机制详解
- Navicat premium连接Oracle报ORA-12541错误
- Java虚拟机工作原理
- vue.js移动端配置flexible.js
- while和if的区别
- unity5.4以上www可以设置请求超时时间了
- MAC Docker删除containers/images
- Oracle 11g服务详细介绍及哪些服务是必须开启的?【转】
- android popuwindow点击外部窗口不消失的实例,popuwindow的用法 [复制链接]
- 使用系统的tabbar的字体颜色设置。badge的红色过大设置
- canvas系列教程03-柱状图项目1
- 如何获取手机性能测试数据FPS
- android屏幕亮度调节