문제
https://www.acmicpc.net/problem/1000
1000번: A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
풀이
Java
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A= sc.nextInt();
int B= sc.nextInt();
System.out.println(A+B);
}
}
Kotlin
import java.util.Scanner
fun main() {
val sc: Scanner = Scanner(System.`in`)
val a: Int = sc.nextInt()
val b = sc.nextInt()
println(a + b)
}
What's new ?
- package 와 import 자바와 동일하다.
- 변수를 선언할 때 val 또는 var 키워드로 선언한다.
- val <이름>: <클래스명> 의 형식으로 선언한다.
- 여기서 val는 불변 타입의 변수(Java의 final이라고 생각하자)를 나타내고 var는 가변 타입의 변수를 나타낸다.
- 자료형의 경우 자바는 int / Integer로 선언하는데 코틀린은 대문자 Int로 선언한다.
- 인스턴스 객체를 생성할 때 자바는 new 를 붙여야하지만 코틀린은 붙이지 않아도 된다.
- 자바와 달리 System.in에서 in이 코틀린 예약어이기 때문에 'in'이라고 작성해야한다고 한다.
- 위의 코드에서 a는 Int형식으로 선언해줬지만 b는 직접 선언해주지 않았다. 자동으로 형식을 추론하여 지정해준다고 한다.
- 함수 뒤에 < : 리턴 할 값 >을 붙여 리턴 타입을 지정한다
참고
- 자바는 변수에 값을 할당하지 않는 경우 null 을 할당하거나 기본값(0,false)를 할당하는데
코틀린은 기본 변수에서 null을 허용하지 않으며 변수에 값을 할당하지 않으면 에러가 발생하고 컴파일을 막는다.
'공부 일지 > 문제풀이' 카테고리의 다른 글
별찍기 (0) | 2023.03.23 |
---|---|
시험성적 (0) | 2023.03.23 |
Hello World (0) | 2023.03.22 |
[삼성 SW 역량 테스트] 예술성(JAVA) (0) | 2023.03.16 |
[프로그래머스] 수식 최대화(JAVA) (0) | 2023.03.11 |