일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 반복문
- button
- 두 수의 나눗셈
- 리스트뷰
- 추상메소드
- appbar
- 안드로이드 스튜디오
- 프로그래머스
- 액티비티 생명주기
- StatelessWidget
- padding
- 지연초기화
- spacer
- If
- 빌드 프로세스
- 람다식
- 프래그먼트
- 패스트캠퍼스
- setState
- Widget
- Kotlin
- StatefulWidget
- expanded
- 변수
- Flutter
- margin
- SizedBox
- 인스턴스
- 상속
- 뷰바인딩
- Today
- Total
Y_Ding
2023.07.17 TIL (내배캠 kotlin강의 2주차) 본문
Kotlin
구글에서 안드로이드 앱 개발할 때 권장하는 언어
Java의 단점을 개선
- 자료형을 명시하지 않아도 추론할 수 있는 기능 제공
- 간결한 코드 작성 가능
- Null예외를 컴파일 시점에 미리 방지 가능, 안정적인 프로그램 만들 수 있음
특징
- JVM 언어와 100% 호환 가능한 프로그래밍 언어
- 직관적이고 간결한 문법
- Null 처리에 높은 안정성
- 간결하고 안전하게 비동기 처리 수행 가능
유용한 단축키
- Ctrl + Y : 한줄 삭제
- Ctrl + / : 주석
- Ctrl + Shift + F : 전체 찾기
- Ctrl + A : 코드블록 전체
코딩 컨벤션
- 다른 사람들도 이해하기 쉽게 코드를 작성하는 규칙
코딩 컨벤션의 필요성
- 코드의 가독성이 증가해서 나중에 봐도 쉽게 이해 가능
- 유지보수가 용이
- 효율적인 협업 가능
표기법
- camelCase 표기법 : 주로 변수, 메소드 이름을 지정할 때 (ex. seoulFood)
- snake_case 표기법 : 주로 상수 이름 지정할 때 (ex. seoul_food)
- PascalCase 표기법 : 주로 클래스 이름을 지정할 때 (ex. SeoulFood)
자료형
- 프로그램의 모든 정보
- 자료를 저장할 수 있는 적절한 형태
- 정수 : Long, Int, Short, Byte,
- 실수(소수) : Double, Float,
- 하나의 문자 : Char
- 논리(참 또는 거짓) : Boolean
- 문자열 : String
- 8비트 당 1바이트
- 컴퓨터의 하드웨어 사양은 한정적이기 때문에 자료형이 중요!
변수
- ex) 식당 예약 프로그램을 만들 때에는 매일 예약인원을 변수로 둬야겠다
- 키워드 var 사용
- 변하는 것
상수
- ex) 우리 회사 이름을 넣어서 프로그램을 만들어야하는데 회사 이름은 상수로 해야지
- 바뀌지 않는 것
- 키워드 val 사용
연산자
산술 연산자
- 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)
대입 연산자(=)
- =을 기준으로 오른쪽에 있는 값을 왼쪽의 변수나 상수에 대입
복합대입 연산자
- 산술연산자와 대입연산자를 한번에 사용할 수 있는 연산자
ex) num1 += 10 // num1 = num1 + 10 과 같은 뜻
=의 왼쪽에 써주어야 함
증감 연산자
- 1을 더하거나 빼는 특수한 경우에 사용할 수 있는 연산자
ex) var num 1 = 30 / num1++ 는 30에 1을 더한다는 뜻
변수의 왼쪽에 위치하면 전위 연산자(++num1), 오른쪽에 위치하면 후위 연산자(num2++)
단독적으로 사용하면 결과값이 동일하지만, 다른 연산과 같이 사용했을 때 차이 발생
var num1 = 10
var num2 = 20
var num3 = 30
// 후위연산자는 println연산을 실행후에 증감해요
println(num1++)
println(num1)
10 , 11 => print 후에 1을 증가하기 때문에
// 전위연산자는 println연산 실행전에 증감해요
println(++num2)
println(num2)
21, 21 => print 전에 이미 1을 증가하기 때문에
num3++
println(num3)
++num3
println(num3)
31, 32 => 단독으로 사용했기 때문에
비교 연산자(=로직 연산자)
- 두개의 변수 또는 상수의 관계나 값을 비교할 때 사용
- 참 또는 거짓이기 때문에 boolean 자료형과 함께 사용
- >, >=, <, <=, ==, !=
조건식(if, else, when)
활용 예시
특정 이름을 가진 사람일 때 축하메세지 띄우기
일반게임과 랭크게임을 선택해서 게임방 만들기
티켓 100개가 매진되면 더 이상 구매 불가 알림창 띄우기
비가오면 잔잔한 음악이 재생되도록 하기
기말고사 평균점수를 구간별로 나눠서 A,B,C,D 등급 매기기
*Tip! else if가 많아질 땐 when을 사용하는 것이 가독성이 더 좋음
if는 최악의 경우에 모든 조건을 비교한다는 단점이 있음
// 조건식이 true일때 중괄호 안의 코드를 실행
if(조건식) {
// 실행할 코드
}
// 둘 중 한개의 코드만 실행
if(조건식) {
// 조건식이 true일때 실행할 코드
} else {
// 조건식이 false일때 실행할 코드
}
when(변수 또는 상수){
값1 -> {
// 변수 또는 상수가 값1일 때 실행할 코드
}
값2 -> {
// 변수 또는 상수가 값2일 때 실행할 코드
}
in 값3..값9 {
// 변수 또는 상수가 값3~값9 사이일 때 실행할 코드
}
else {
// 변수 또는 상수가 위 조건에 해당되지 않을 때 실행할 코드
}
}
반복문(for, while)
논리에 맞는 코드를 반복해서 실행
활용 예시
매일 10시에 a,b,c의 주식가격 출력
매일 퇴근전에 검색 -> 엑셀에 저장 -> 메일전송하는 것을 코드로 반복
전화번호부에서 이름이 "참새"인 사람을 찾을때까지 한명씩 조회,비교
상자에서 사료를 꺼내 고양이에게 10번 먹여주기
// 리스트(묶음)에서 하나의 요소들을 반복해서 가져오는 경우
for(요소 in 리스트) {
소스코드 (로직)
}
// 숫자의 범위를 기준으로 반복하는 경우
// 시작값이 0이고, 마지막값이 5라면 인덱스는 0,1,2,3,4이므로 총 5번 반복
// until을 생략해서 시작값..마지막값으로 사용할수도 있음
for(인덱스 in 시작값 until 마지막값) {
소스코드 (로직)
}
// 코틀린의 while 반복문은 조건식, 증감식을 이용
while(조건식) {
소스코드 (로직)
증감식
}
break는 가장 가까운 반복문에서 탈출하고 다음 블록으로 넘어감
continue는 이후의 코드를 실행하지 않음
0<= until < 9 : 0이상 9 미만
0<= .. <= 9 : 0이상 9 이하
'TodayILearned > Android&Kotlin' 카테고리의 다른 글
내배캠 Android 1~2주차 TIL (0) | 2023.08.01 |
---|---|
2023.07.24 TIL - (내배캠 Kotlin 4주차) (0) | 2023.07.24 |
2023.07.17 TIL (내배캠 Kotlin강의 3주차-2) (0) | 2023.07.17 |
2023.07.17 TIL (내배캠 Kotlin강의 3주차-1) (0) | 2023.07.17 |
2023.07.13 - TIL (0) | 2023.07.13 |