본문 바로가기

언어/Java5

대소문자를 서로 변환하는 방법 (Java) 위의 ascii 테이블을 보면, 알파벳 대소문자 간에는 32의 값 차이가 있는 것을 알 수 있다.이에 대소문자를 변환하는 원시적인 방법으로, char diff = 'a' - 'A'; //32if ('a'  값 차이를 이용한 연산이 있다.팁으로는 대소문자의 차를 사용하면 굳이 32라는 수치를 외울 필요가 없다는 점이겠다. 원시적인 방법 외에도 메서드를 활용하는 방법이 있다. System.out.println(Character.toUpperCase('c')); //CSystem.out.println(Character.toUpperCase('C')); //CSystem.out.println(Character.toUpperCase('!')); //!System.out.println(Character.toLowe.. 2024. 12. 19.
대소문자를 판별하는 방법 (Java) 기본적으로 문자는 char 자료형에 저장되고, 범위는 -127~127이다.그리고 ascii 코드는 0~127의 범위로 지정된 문자의 규약이다. 이 안에서 알파벳의 소문자는 97~122, 대문자는 65~90의 값을 가진다.이에 ascii 코드에 근거하여 알파벳의 대소문자를 판별하는 방법은 아래와 같다. boolean isUpperCase(char c) { return 'A'  문자 또한 정수로서 위와 같이 대소 비교가 가능하다.다만 별도의 수식을 작성할 필요가 없이, Java에는 이미 내장된 메서드가 있으니 System.out.println(Character.isUpperCase('A')); //trueSystem.out.println(Character.isLowerCase('b')); //true Cha.. 2024. 12. 19.
문자열을 순회하는 방법 (Java) Java에서 문자열을 순회하는 방법은 크게 3가지가 있다.Enhanced(향상된) for문인덱스를 활용한 for문Stream 변환 후 forEachEnhanced for문String str = "Hello World";for (char c : str.toCharArray()) { System.out.print(c);}//출력Hello WorldEnhanced for문은 for-each문이라고도 부른다.코드가 간결해지는 효과가 있지만 배열 혹은 Iterable 인터페이스를 구현한 객체여야 사용할 수 있다.문자열은 Iterator가 존재하지 않으므로 배열로 변환하여 사용한다.인덱스를 활용한 for문String str = "Hello World";for (int i = 0; i 익히 알고 있는 for문의.. 2024. 12. 16.
Spring 프레임워크의 의존성 주입(DI) 의존성 주입이란?객체가 의존하는 다른 객체를 외부에서 주입하는 디자인을 말한다. Spring 프레임워크에서의 의존성 주입은 IoC 컨테이너와 Bean을 통해 이루어진다. 컨테이너가 Bean 객체의 생명 주기와 의존성을 관리해주는 덕분에, 개발자는 객체의 로직 구현에 집중할 수 있고 변경에 유연하게 대응할 수 있다. 의존성 주입 방식의존성을 주입하는 방식은 크게 생성자 주입, Setter 주입, 필드 주입으로 나뉜다.@Controllerpublic class MyController { private final MyService myService; @Autowired public MyController(MyService myService) { this.myService =.. 2024. 12. 15.
Java Stream의 개념 Java Stream이란?데이터 처리 방식을 파이프라인으로 추상화하여 작업 효율성을 높여주는 API.스트림이라는 단어에서 알 수 있듯, 데이터가 파이프라인을 따라 흐르며 처리되는 모습을 떠올리면 쉽다.파이프라인 내에는 다수의 연산이 존재할 수 있다. 그리고 각 연산은 함수형으로써 기존의 반복문-조건문의 혼합 연산을 축약할 수 있다. 파이프라인의 구성파이프라인의 연산은 중단(Intermediate)과 종단(Terminal)의 두 단계로 나뉘어진다.중단과 종단은 연산의 반환값이 스트림인지 아닌지에 따라 구분할 수 있다.중단 연산은 스트림을 변환-반환하여 다음 연산의 메서드 체이닝이 가능토록 한다. 이에 연산의 연쇄가 파이프라인의 모습을 띠게 된다.반면에 종단 연산은 스트림을 소비하여 결과를 반환하므로 더 이.. 2024. 11. 29.