Kotlin

Kotlin 2주차

wlsds00_ 2023. 12. 12. 14:33

코딩 컨벤션 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