안녕하세요. 궁금증연구소입니다.
오늘 포스팅 주제는 "Java에서 boolean과 int형 연산은 가능할까?"입니다.
#include <iostream>
using namespace std;
main()
{
bool a = true;
int b = 10;
cout << a+b;
}
우선 c++/c 언어에서는 위와 같이 bool 자료형의 true는 1, false는 0으로 인식됩니다.
당연히 int형 자료인 b와 연산이 가능하죠.
음 파이썬에서도 가능한 부분이죠
자바스크립트는 어떨까요?
const a = true;
let b = 10;
console.log(a+b);
가능하네요.
그렇지만, 자바스크립트에 타입을 붙여 개선한 타입 스크립트에서는 에러가 발생합니다.
let p: boolean = true;
let q: number = 10;
console.log(p+q);
마지막으로 오늘의 주제인, 자바를 살펴볼게요
public class p28{
public static void main(String[] args){
boolean a = true;
int b = 10;
System.out.println(a+b);
}
}
타입 스크립트와 마찬가지로 자바 또한 다른 boolean은 다른 기본형과의 연산이 불가능합니다.
즉 자바에서는 true와 1은 다른 값입니다.
따라서 c나 c++에서는 당연한 아래와 같이 무한히 hi를 출력하는 코드의 경우 보통은 while(1) 이런 식으로 true를 대신해 1을 적어 넣지만,
#include <iostream>
using namespace std;
main()
{
while(1){
cout << "hi";
}
}
자바에서 위 코드를 실행하면,
public class p28{
public static void main(String[] args){
while(1){
System.out.println("hi");
}
}
}
위와 같이 컴파일도 전에 편집기의 에러 메시지를 살펴볼 수 있습니다.
while(1){
console.log("hi");
}
웃긴 건 타입 스크립트는 또 위 코드가 되네요..
정리
[java] 람다식의 유효범위와 effective final (0) | 2023.04.10 |
---|---|
[코드업 Java100제] 1023 : [기초-입출력] (0) | 2023.04.05 |
[Java] 삼항연산자로 조건 3개인 경우 처리하는 방법은? (0) | 2023.03.06 |
java 문자형 숫자를 숫자형(int)로 바꾸는 방법 (0) | 2022.11.26 |
java 배열생성시 주의할점 (0) | 2022.11.22 |