黑马程序员技术交流社区

标题: 问下大家这个细节的问题? [打印本页]

作者: woaiheima    时间: 2013-8-11 20:20
标题: 问下大家这个细节的问题?
  1. class IfTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //需求1:根据用户定义的数值不同。打印对应的星期英文。
  6.                 /*
  7.                 int num = 1;

  8.                 if(num==1)
  9.                         System.out.println("Monday");
  10.                 else if(num==2)
  11.                         System.out.println("Tuesday");
  12.                 else if(num==3)
  13.                         System.out.println("Wednesday");
  14.                 else if(num==4)
  15.                         System.out.println("Thursday");
  16.                 else if(num==5)
  17.                         System.out.println("Friday");
  18.                 else if(num==6)
  19.                         System.out.println("Saturday");
  20.                 else if(num==7)
  21.                         System.out.println("Sunday");
  22.                 else
  23.                         System.out.println("nono");
  24.                 */
复制代码
/*
我就是想知道下num==1和num=1有什么区别呢?帮忙具体解释下。
*/
作者: 黄兴旺    时间: 2013-8-11 20:49
==用在判断时候,=用在变量赋值时候。
int num=1;  表示把1赋值给num.
if(num==1)  表示num等于1嘛?等于的话就执行下面的语句,不等于就执行else if。
作者: litaojisuanji    时间: 2013-8-11 21:04
num==1是判断num是否等于1,是一个表达式,如果等于1为true,否则就是false;
num=1是把1赋值把num,num原来不管是多少,经过这一步,num都为1。
作者: 杜光    时间: 2013-8-11 21:35
num==1,属于判断语句
num=1,属于复制语句
还有你这个程序最好用switch语句!!
作者: 曾文德    时间: 2013-8-11 22:34
杜光 发表于 2013-8-11 21:35
num==1,属于判断语句
num=1,属于复制语句
还有你这个程序最好用switch语句!! ...

可能他刚学到IF嵌套哪里吧~估计你说的switch还没接触呢,抽象得很
作者: yangxin540    时间: 2013-8-12 11:48
num==1是判断num是否等于1,是一个表达式,是有返回结果的,等于1为true,否则就是false;
num=1是把1赋值把num,经过这一步,num值为1。
作者: woaiheima    时间: 2013-8-12 18:24
谢谢大家,我知道了!
作者: 黑马王晓明    时间: 2013-8-12 19:20
num==1是判断语句 比较语句 会有返回值 结果是布尔类型(boolean) 由于你定义num=1 1==1 相等 所以返回true if(条件为true)就会执行{这里边的内容}
num=1是赋值语句 把等号右边的值赋给等号左边的变量
作者: 夜写意    时间: 2013-8-12 23:24
“=”是一个赋值动作。就是把后面的值赋给前面的变量、对象等。“=”后面部分先执行,执行完后再进行赋值动作。
比如:
  1. int a,b,c,d=1;
  2. a=(b=(c=d++)+1)-2;
  3. System.out.println(a+".."+b+".."+c+".."+d);
  4. //输出结果?
复制代码
“==”是一个判断动作。判断两边的值是否相等。如果相等返回true   如果不相等返回false。

作者: 以防万一    时间: 2013-8-13 22:27
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作
作者: woaiheima    时间: 2013-8-17 17:55
谢谢版主提醒!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2