您的位置:首页 > 编程语言 > Java开发

Java选择语句中赋值语句

2017-07-02 11:09 162 查看

前言

最近在找实习,所以一直在刷题,强化记忆。所以这段时间可能有些博客写的都是题解或者易错点什么的,目的仅仅做一些学习记录,方便自己同时警惕别人。

问题描述

C/C++

关于Java选择语句中的赋值语句问题,在C/C++语言中,选择语句中的赋值语句赋值后,就会与0比较,只要是非0,就返回true,否则就返回false。

C代码:

#include <iostream>
using namespace std;
int main() {
int x = 3;
int y = 4;
if (x = y)   //正数情况
cout << "天气不错!" << endl;
else
cout << "天气很热!" << endl;

x = -3;
y = -4;
if (x = y)  //负数情况
cout << "天气不错!" << endl;
else
cout << "天气很热!" << endl;
}


执行结果:



Java

Java跟C的区别,C中赋值后会与0进行比较,如果非0,就认为是true;而Java不会与0比较,而是直接把赋值后的结果放入括号。 我们知道if()括号中最终要返回的boolean类型,如果还是上例子中是int型,编译器就会报错!

package com.learn.pra06;

public class Demo01 {
public static void main(String[] args) {
int x=3;
int y=4;
if(x=y)
System.out.println("天气不错!");
else
System.out.println("天气真热!");
}
}


编译异常:



意思就是不能把整型数据 转换为 布尔类型!

上题若是这样则可以顺利执行:

package com.learn.pra06;

public class Demo01 {
public static void main(String[] args) {
boolean x=false;
boolean y=true;
if(x=y)
System.out.println("天气不错!");
else
System.out.println("天气真热!");
}
}


执行结果:

天气不错!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: