코딩 컨벤션 Coding Convention
다른 사람들도 이해하기 쉽게 코드를 작성하는 규칙. 프로그래밍 언어마다 다름.
카멜 케이스 (camelCase) : 앞은 소문자 뒤는 대문자. 주로 변수나 메소드의 이름을 지정할 때 사용.
스네이크 케이스 (snake_case) : 단어 사이에 _(언더바)로 연결해줌. 주로 상수의 이름을 지정할 때 사용.
파스칼 케이스 (Pascal Case) : 단어 첫글자가 전부 대문자. 주로 클래스의 이름을 지정할 때 사용
출력과 입력
출력이란? : 프로그램에서 다른 장치로 데이터를 전송하는 행위. Output 이라고도 함.
입력이란? : 다른 장치로부터 불러온 데이터를 프로그램에서 확인하는 행위. Input 이라고도 함.
코틀린의 입력과 출력
// 자동 줄바꿈 기능 없음. \+ n 으로 추가 가능.
print("안녕하세요")
// 자동 줄바꿈 기능 있음
println("안녕하세요")
입력한 텍스트를 출력
// 실행화면에 커서가 뜸. 입력시 아래 문장 ${} 안에 표시됨.
val dataString = readLine()
println("나는 ${dataString }를 입력했어요!")
입력한 숫자(정수)를 출력
val dataNumber = readLine()!!.toInt() // 뒤에 toInt가 붙어서 숫자로 변환
val sum = dataNumber + 3 // sum 안에 위에 입력한 숫자와 3을 더함
println("입력은 ${dataNumber}인데 3을 더해서 ${sum }이예요!") // 입력한 수와 답 출력
자료형
프로그램의 모든 정보를 데이터 또는 자료라고 한다. 자료를 저장할 수 있는 적절한 형태를 자료형이라고 부름.
자료형의 종류
비트는 컴퓨터 메모리를 구성하는 방 한칸의 개념. 8 비트 = 1바이트.
정수 : Long(64비트), Int(32비트), Short(16비트), Byte(8비트)
실수(소수) : Double(64비트), Float(32비트)
하나의 문자 : Char(16비트)
논리 ( True & False ) : Boolean(8비트)
문자열 : String( 비트값 x)
자료형이 중요한 이유?
컴퓨터의 하드웨어 사양은 제한적이니 효율적으로 사용하기 위해서.
단 소수점 표현을 위해 Int 대신 Double 을 사용하는 경우 등은 적절한 사용임.
변수와 상수
변수 : 들어간 값을 나중에 바꿀 수 있음. var 로 표현.
상수 : 들어간 값이 고정되어 나중에 바꿀 수 없음. val 로 표현.
변수 예시
// 숫자Int를 나타내는 변수
var num1 = 1
// 문자Char를 나타내는 변수
var one1 = '김'
// 문자열String을 나타내는 변수
var name = "참새"
상수 예시
val num1 = 1
// var 의 경우 아래에 새로 값을 지정하면 그 값으로 뜸
// val 이기 때문에 바꿀 수 없어 오류 발생
num1 = 5
println("변경한 변수 num1 변수에는 ${num1}이 들어있어")
연산자의 종류
산술 연산자: 덧셈 ( + ), 뺄셈 ( - ), 곱셈 ( * ), 나눗셈 ( / ), 나머지 ( % )
대입 연산자 : 변수에 값을 대입할때 씀 ( = )
복합 대입 연산자 : 산술연산자의 오른쪽에 = 가 붙는다. 왼쪽의 값에 오른쪽 값을 연산자에 따라 적용함.
증감연산자 : ++, 또는 -- 로 표시한다. 변수의 왼쪽은 전위연산자, 오른쪽은 후위연산자라고 한다.
단독으로 사용하면 결과값이 동일함. 다른 연산과 같이 사용해야 차이가 생김.
var num = 10
// 후위 연산자는 실행 후 증감
println(num++) // 10
println(num) // 11
// 전위 연산자는 실행 전 증감
println(++num) // 11
println(num) // 11
비교연산자 : 로직 연산자라고도 하며 결과는 True&False로 나온다. boolean 자료형과 함께 사용.
같음 ( == ), 다름 ( != ), 왼쪽이 더 작음 ( < ), 왼쪽이 더 큼 ( > )
왼쪽이 더 작거나 같음 ( <= ), 왼쪽이 더 크거나 같음 ( >= ), 객체가 같음 ( === ), 객체가 다름( !== )
논리연산자 :
And ( && ) 두 식이 모두 True 일때만 True 반환. 그 외는 False
Or ( || ) 두 개의 식 중 하나 이상이 True 일때 True 반환. 모두 False 일때만 False 반환함.
Not ( ! ) 식의 결과가 True 이면 False, False 이면 True 반환함. 식과 반대라고 생각하면 편함.
조건식의 사용
이름 그대로 조건을 관리하는 식. 앞서 배웠던 연산자들과 함께 사용함.
if - else : 조건식은 비교 연산자를 사용, 즉 () 안에는 True & False 의 결과가 들어감.
조건식이 True 일 때 중괄호 안의 코드를 실행함.
else 다음에 if 를 추가해서 조건을 추가하는것도 가능.
else if 가 많이 추가 될 것 같으면 when 을 쓰는게 가독성 면에서 좋음.
if는 모든 조건을 비교하기 때문에 비효율적일수 있음.
var num = 여기에 숫자를 입력하면
if ( num < 10 ) {
조건이 맞을때 나옴. num 이 10보다 작을 때 여기 실행.
} else if ( num < 20 ) {
else 로 쓴다면 위에 지정한 조건만 확인하고 나머지를 전부 여기로 실행함.
그러나 if 를 한번 더 붙여서 조건을 지정하면 위를 통과해 여기서 해당될 때 실행됨.
} else {
if 문만 쓸때는 else 가 필수가 아니나 else if 를 썼다면 마지막에 반드시 else 로 끝남.
}
when : 변수 또는 상수를 () 에 넣고 위쪽부터 조건식이 해당하는지를 판단하며 내려감. 마지막은 반드시 else 로 끝남.
var num = 숫자를 입력하면
when(num) {
1 -> {
1번을 누르면 여기가 나옴.
}
2 -> {
2번을 누르면 여기가 나옴.
}
else -> {
나머지는 여기로 옴.
}
}
반복문의 사용
반복적인 로직을 관리할 때 사용함. 앞서 배웠던 연산자와 함께 사용.
for : 다양한 형태가 존재함. for 안에 if 를 넣어서 만드는 것도 가능.
// 코틀린의 for 반복문은 다양한 형태가 존재합니다.
// 리스트(묶음)에서 하나의 요소들을 반복해서 가져오는 경우입니다
for(요소 in 리스트) {
소스코드 (로직)
}
while : 코틀린의 while 반복문은 조건식, 증감식을 이용함.
while(조건식) {
소스코드 (로직)
증감식
}
'Kotlin' 카테고리의 다른 글
Kotlin 4주차 (0) | 2024.02.02 |
---|---|
Kotlin 3주차 (0) | 2023.12.19 |
Kotlin 1주차 (0) | 2023.12.11 |