목록languages (29)
Written by coh at home
java로 코테를 준비하게 되었다.1. 입출력Scanner sc = new Scanner(System.in);가장 기본적인 입력받는 객체.버퍼에 개행이 남아있는 것을 주의 해야한다.112345sc.nextInt(); // 1sc.nextLine(); // \nsc.nextLine(); // 12345BufferedReader br = new BufferedReader(new InputStreamReader(System.in));입력이 빠르다.이 경우 throws IOException을 붙여줘야 한다.StringBuilder sb = new StringBuilder();sb.append();출력에서 빠른 성능을 보장해준다. 음.. 문자열 객체인 String을 이어 붙일 때 새로운 객체를 만들지만 Strin..
string을 잘 쓰기 위해서는 구현된 API를 잘 활용해야 한다. 대부분 자바의 메서드와 비슷하다. 그 종류들과 split에 대한 이야기를 하면 좋을 것 같다.탐색IndexOf 문자 또는 문자열의 위치를 찾음LastIndexOf 문자 또는 문자열의 위치를 뒤에서 찾음StartsWith 문자열로 시작하는가EndsWith 문자열로 끝나는가Contains 포함하는가Replace 해당 문자열을 다른 문자열로 변경한 문자열 반환변형ToLowerToUpperInsert 지정된 위치에 문자열 삽입된 새 문자열 반환Remove 지정된 인덱스 범위만큼 삭제된 새 문자열 반환Trim 앞뒤 공백 제거한 문자열 반환TrimStartTrimEnd분할Split 지정된 문자 기준으로 분할한 문자열 배열을 반환SubString 지..
primitive type, constant, enumerator, complex data type(Array, Class, Structure) 와 같이 4가지 타입이 있다고 볼 수 있다.사실 오늘 하고 싶은 것은 int, float 등등에 타입에 대해 씨샵을 배울 때 헷갈렸던 이야기에 대해 해보려고 한다.using System;namespace StringConversion{ class MainApp{ psvm(string[] args){ int a = 123; string b = a.ToString(); Console.WriteLine(b); float c = 3.14f; string ..
현재 씨샵을 공부 중에 있습니다. 한번 보기는 했지만 익숙하게 하기 위해서 책으로 공부 중입니다. 해당 내용은 '이것이 C#이다'를 참고해서 공부한 내용입니다.C#은 특이하게 메서드 이름의 첫글자가 대문자라 자바와는 좀 헷갈리는 부분이 있습니다.클래스 내부에 클래스를 선언할 수 없는 걸까요? 이 경우 구분을 어떻게 하는 건지... 궁금하네요..using System;using static System.Console;namespcae Hello{ class MainApp { public static void Main(string[] args){ // 앞으로 해당 이름은 psvM으로 대체하겠다. if (args.Length == 0;){ ..
Stream은 수도꼭지다. 물을 똑똑 흘러내듯이 원소들을 똑똑 흘러낼 수 있는 API이다.스트림을 사용하다가 문득 mapToInt와 map의 차이점이 뭔지 궁금해졌다.결론부터 말하면 mapToInt와 map의 차이점은 스트림 처리에서 반환되는 타입이다.mapToInt:정수형 스트림(IntStream)반환. 즉, 원소들이 int로 변환된다.합계, 평균 연산을 스트림 중에 사용 가능함.List arr = List.of("1", "2", "3");// int[]로 반환int[] result = arr.stream() .mapToInt(Integer::parseInt) .toArray();map: 객체형 스트림(Stream) 반환. 즉, 원소들이 어떤 객체로 변환된다. 기본형(int) 대신 객체형(예를들어..
둘 다 자바에서 제공하는 클래스지만 서로 다른 목적을 갖고 있다.1.Collections 클래스정적 유틸리티 클래스로 List, Set, Map 등의 컬렉션을 조작하는 다양한 메서드 제공.정렬, 검색, 동기화 등의 기능이 포함되어 있다.주요메서드Collections.sort(List); 정렬Collections. reverse(List); 순서 뒤집기List arr = Arrays.asList(3,2,1);Collections.sort(arr); // [1,2,3]Collections.sort() 에서 정렬기준을 주기 위해서 두 가지 인터페이스를 사용할 수 있다.Comparable : 자신과 다른 원소를 비교Comparator : 서로 다른 두 원소를 비교정렬기준은 외우고 있진 않고 그때그때 사용해보고 ..
코테 준비를 하면서 문제를 푸는데 계속 에러가 나고 있었다. 나는 로직 분명 개잘짰는데 왜 에러가 날까..?문제가 된 부분ArrayList v = new ArrayList();for i = 0 ... i = n: v.add(1000);for i = 0... i = n: for j = i + 1 ... j = n: if (v.get(i) != v.get(j) continue;Integer를 비교하는 부분에서 자동으로 언박싱이 된다고 생각했는데 그게 아니었던 것이어따...객체끼리의 비교이므로 주소를 비교하는 로직이 된 것이었다... ㅜㅜ내 1시간 돌려내..언박싱이 되기 위해서는원시타입과 비교가 되어야 했던 것...!원시타입 그래서 저 문제를 해결하기 위해서는equ..
함수형 인터페이스 자바는 람다를 함수형 인터페이스를 통해 구현한다. 인터페이스의 추상메서드가 존재할 때 우리는 해당 메서드를 오버라이드해서 사용한다. 람다는 추상메서드가 단 하나인 인터페이스에 대하여 오버라이드를 편하게 하는 방법이다. 함수형 인터페이스를 매번 구현하는 것은 귀찮은 일이므로 자바에서는 이를 제공하고 있다. Runnable, Function, BiFunction, consumer 등등이 존재하며 Runnable에 대한 기본 코드를 한번 보자. public class Button { private Runnable runnable; private String name; public Button(String name, String sound) { this.name = name; runnable ..