Language (107) 썸네일형 리스트형 [Kotlin] 조건문과 비교연산자 비교연산자 = != == is 연산자 (자료형이 맞는지 체크) ex. a is Int !is 연산자 (자료형이 틀린지를 체크) ex. a !is Int if문 var a = 11 if(a > 10) { println("a는 10보다 크다") } else { println("a는 10보다 작거나 같다") } // 출력: a는 10보다 크다 When문 (다중 조건문) 다른 언어에서 지원하는 switch문을 좀 더 편리하게 바꾼 기능 fun main(){ doWhen(1) // 정수 1입니다 doWhen("DiMo") // 디모의 코틀린 강좌입니다 doWhen(12L) // Long 타입입니다 doWhen(3.14159) // String 타입이 아닙니다 doWhen("Kotlin") // 어떤 조건도 .. [Kotlin] 타입추론과 함수 타입추론 자료형 없이 값을 할당하면? 일반 정수형 리터럴 → Int로 추론 L이 붙은 정수형 리터럴 → Long으로 추론 일반 실수형 리터럴 → Double로 추론 f가 붙은 실수형 리터럴 → Float로 추론 16진수와 2진수 → Int로 추론 var a = 1234 // Int var b = 1234L // Long var c = 12.45 // Double var d = 12.45f // Float var e = 0xABCD // Int var f = 0b0101010 // Int var g = true // Boolean var h = 'c' // Char 반드시 특정한 자료형으로 지정해야하는 상황이 아니라면 대부분은 코틀린의 타입추론 기능을 이용하여 코드량을 줄일 수 있다. 함수 fun 함수명(.. [Kotlin] 형변환과 배열 형변환 함수 코틀린은 형변환시 발생할 수 있는 오류를 막기 위해 다른 언어들이 지원하는 ‘암시적 형변환’은 지원하지 않고 ‘명시적 형변환’만 지원함 toByte() / toShort() / toInt() / toLong() / toFloat() / toDouble()/ toChar() var a: Int = 54321 var b: Long = a // Type mismatch var a: Int = 54321 var b: Long = a.toLong() 배열 배열 자료형은 Array 배열 초기화 var intArr = arrayOf(1, 2, 3, 4, 5) // 특정한 크기의 공간을 가지는 비어있는 배열 var nullArr = arrayOfNulls(5) 배열 할당, 사용 intArr[2] = 8 p.. [Kotlin] 변수와 자료형 명명 규칙 클래스 이름은 파스칼 표기법 (모든 단어를 대문자로 시작) ex. ClassName 함수나 변수 이름은 카멜 표기법 (첫 단어만 소문자로 시작) ex. functionName 변수의 선언 var : 일반적으로 통용되는 변수. 언제든지 읽기 쓰기가 가능함 val : 선언시에만 초기화 가능. 중간에 값을 변경할 수 없음 변수는 선언위치에 따라 Property(속성) : 클래스에 선언된 변수 Local Variable(로컬변수) : 이 외의 Scope 내에 선언된 변수 변수 초기화 고전적인 언어들은 변수가 선언된 후 초기화 되지 않으면 기본값으로 초기화되거나 값이 할당되지 않았다는 표시로 null 값을 가지게 된다. but 코틀린은 기본 변수에서 null을 허용하지 않으며 변수에 값을 할당하지 않은.. [C++] 문자열 split 함수 구현하기 C++에는 string을 나누는 split 함수가 존재하지 않기 때문에 직접 구현해서 사용해야 한다. split 함수를 구현하는 많은 방법이 있지만, 그 중 sstream을 사용하는 방법은 다음과 같다. #include #include #include using namespace std; vector split(string str, char delimiter); int main(){ string test = "min seon kim"; vector result = split(test, ' '); for (int i=0;i [Python] Idle에서 패키지 설치하기 cmd에서 설치한 패키지가 idle에서 import 되지 않은 경우 사용한 방법이다. (이건 결국 환경변수 문제였음...) idle에서 다음 코드를 실행하면 된다. import pip def install(package): pip.main(['install', package]) # Example if __name__ == '__main__': install('설치할 패키지') [Java] Optional<T> 클래스 Optional 개념 Java8부터 지원하는 Optional 클래스는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, NPE(Null Pointer Exception)이 발생하지 않도록 도와준다. * NPE(Null Pointer Exception)이란? 개발할 때 가장 많이 발생하는 예외 중 하나이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 null 대신 초기값을 사용하기를 권장하기도 한다. List names = getNames(); names.sort(); // names가 null이라면 NPE 발생 List names = getNames(); // NPE를 방지하기 위해 null 검사 해야함 i.. [Java] 메소드 레퍼런스(Method reference, ::의 의미) 메소드 레퍼런스란? lambda 표현식을 더 간단하게 표현하는 방법이다. 예를 들어, 다음은 람다식으로 Hello를 출력하는 코드이다. (Consumer는 어떤 객체를 입력받아 void를 출력시키는 함수형 인터페이스이다.) Consumer func = text -> System.out.println(text); func.accept("Hello"); 위의 람다식은 다음과 같이 System.out::println이라는 메소드 레퍼런스로 표현할 수 있다. Consumer func = System.out::println; func.accept("Hello"); 메소드 레퍼런스는 ClassName::MethodName 형식으로 입력한다. 메소드를 호출하는 것이지만 괄호는 생략한다. 위의 예제처럼, 메소드 레퍼런.. 이전 1 2 3 4 5 6 7 8 ··· 14 다음