전체 글98 대소문자를 서로 변환하는 방법 (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. Lv.0 Java) 대소문자 바꿔서 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/181949 이 문제를 풀기 위해서는 아래의 세 방법을 제시할 수 있어야 한다.1. 문자열을 순회하는 방법2. 대소문자를 판별하는 방법3. 대소문자를 서로 변환하는 방법 더보기import java.util.Scanner;public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); char diff = 'a' - 'A'; for (char c : a.toCharArray()) .. 2024. 12. 16. Lv.0 Java) 문자열 반복해서 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/181950 문자열 str을 n번 반복해서 출력하는 간단한 문제이다.반복문을 이용해서 풀 수도 있지만 api를 알고 있다면 코드를 간략하게 작성할 수 있다. 더보기import java.util.Scanner;public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int n = sc.nextInt(); System.out.println(str.repeat(n)); .. 2024. 12. 15. Spring 프레임워크의 의존성 주입(DI) 의존성 주입이란?객체가 의존하는 다른 객체를 외부에서 주입하는 디자인을 말한다. Spring 프레임워크에서의 의존성 주입은 IoC 컨테이너와 Bean을 통해 이루어진다. 컨테이너가 Bean 객체의 생명 주기와 의존성을 관리해주는 덕분에, 개발자는 객체의 로직 구현에 집중할 수 있고 변경에 유연하게 대응할 수 있다. 의존성 주입 방식의존성을 주입하는 방식은 크게 생성자 주입, Setter 주입, 필드 주입으로 나뉜다.@Controllerpublic class MyController { private final MyService myService; @Autowired public MyController(MyService myService) { this.myService =.. 2024. 12. 15. 데이터베이스 키 종류 (슈퍼키, 후보키, 기본키, 대체키) 슈퍼키 (Super Key)- 슈퍼키는 테이블 내의 행을 중복되지 않게 식별해주는 속성으로, 슈퍼키 열의 값으로써 단일 행을 특정할 수 있다.- 예를 들어, 주민등록번호는 사람마다 달라 한 사람을 특정할 수 있으니, 슈퍼키의 예시라 할 수 있다.- 또한 슈퍼키는 단일 속성일 필요가 없어, 주민등록번호 + 이름의 초과 조합으로도 사람을 식별할 수만 있다면 슈퍼키라 할 수 있다. 후보키 (Candidate Key)- 후보키는 슈퍼키 중 더 이상 줄일 수 없는 형태를 가진 키다. 이는 후보키를 구성하는 속성 중 어느 하나라도 제외될 경우 유일성을 만족할 수 없음을 의미한다.- 예를 들어, 상기한 주민등록번호 + 이름의 조합에서 이름을 제외하면 주민등록번호만 남게 되는데, 주민등록번호 만으로도 사람을 특정할 수.. 2024. 12. 6. 컴파일러와 인터프리터 (+ JIT 컴파일러) 컴파일러- 소스 코드를 기계어로 번역해주는 프로그램- 모든 소스 코드의 번역이 완료된 후 실행- 런타임 이전에 번역이 완료되므로 성능 최적화가 용이- C, C++ 등이 컴파일 언어에 속함인터프리터- 소스 코드를 미리 번역하지 않고, 런타임에 순차적으로 실행시키는 프로그램- 소스 코드를 직접 실행할 수도 있고, 중간 언어를 거칠 수도 있음- 컴파일러에 비해 성능이 불리하여, JIT 컴파일러와 혼용하는 경우가 있음- JS, Python이 인터프리터 언어에 속함 * JIT 컴파일러란?런타임에 컴파일을 진행하되, 번역된 기계어를 캐싱하여 재사용하는 디자인.JVM의 경우 인터프리터와 JIT 컴파일러를 동시에 사용한다. 호출 횟수가 임계치를 초과하는 메서드에 대해서만 컴파일을 진행하는 식이다. 모든 메서드에 대하여.. 2024. 12. 5. 이전 1 2 3 4 ··· 13 다음