A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiangweibin2573 中级黑马   /  2014-8-9 21:57  /  2015 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在以前学习中,总有这么个概念。非0就是真,0就是假,那我的程序出错在那里?java不支持这种写法吗?

  1.         public static void main(String[] args) {
  2.                 int x = 1;
  3.                 while(1){
  4.                         System.out.println("hello world");
  5.                 }
  6.                 boolean y = true;
  7.                 while(y){
  8.                         System.out.println("hello java");
  9.                 }
  10.         }
复制代码

12 个回复

倒序浏览
java中boolean类型只有true和false,不能像C语言那样while(0)或while(1),这样编译通不过的。

评分

参与人数 1黑马币 +5 收起 理由
fantacyleo + 5 正解。学Java必须改掉C的一些习惯.

查看全部评分

回复 使用道具 举报 1 0
你这是C的风格,JAVA没有说是1就是true的规定。请使用true与false判断

评分

参与人数 1黑马币 +5 收起 理由
fantacyleo + 5 正解。学Java必须改掉C的一些习惯..

查看全部评分

回复 使用道具 举报
额,while语句里面的必须是条件表达式,条件表达式的结果只能是true或者false,不能写其他的
回复 使用道具 举报
while循环的条件必须是布尔类型的,而x是int类型,所以便于错误。将while(1)改为while(1 = 1)就可以了。1就是真,0就是假。这个概念是在数据库中用到的概念。
回复 使用道具 举报
JAVA没有说是1就是true的规定。请使用true与false判断
回复 使用道具 举报
while后面的括号里只能是boolean表达式,或Boolean变量,
回复 使用道具 举报
JAVA中  只有boolean类型是 true  or   false
回复 使用道具 举报
boolean类型只有true和false,这样编译通不过的,所以while里错误
回复 使用道具 举报
C中才能用吧
回复 使用道具 举报
试试把while(1)改成while(x==1),因为while(1)不能判断1是真还是假,而while(x==1)可以。另外这是个无限循环 会一直输出 hello world
回复 使用道具 举报
月夜小楠 发表于 2014-8-9 22:24
java中boolean类型只有true和false,不能像C语言那样while(0)或while(1),这样编译通不过的。 ...

正解{:2_40:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马