Java

    [TIL] Java 메서드, 오버로딩, 재귀호출, 클래스

    ✍ Today I Learned [계산기 만들기] switch문에서 string을 이퀄 연산하는 건 자바 1.7 버전부터 가능하다. 연산을 한 첫 번째 숫자와 두 번째 숫자를 사용자에게 입력받고 연산자를 switch문으로 돌려서 간단하게 구현하였다. 여기서 로직이 추가된다면? case 절의 연산이 다른 곳에서도 필요하다면? 답은 메서드! [메서드 Method] 메서드(method)란? 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다. 메서드를 사용하면 중복되는 코드를 줄일 수 있고, 모듈화로 인해 가독성도 좋아지고, 손쉽게 유지 보수할 수 있다. 메서드는 되도록 하나의 기능만 수행하는 것이 좋다. 메서드를 생성할 때는 항상 2가지를 생각한다. 1) 어떤 데이터를 파라미터로 전달할 건지 2) 어떤 데이..

    [TIL] Java 버블정렬, 선택정렬, 퀴즈파티

    ✍ Today I Learned [버블 정렬 Bubble Sort] 버블 정렬이란? 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘이다. 시간 복잡도는 O(n^2), 공간 복잡도는 O(n)이다. 교환 연산(swap)이 많이 일어나기 때문에 비효율적이지만 구현이 매우 간단하고 직관적이다. 안정 정렬(Stable Sort)이다. 버블 정렬 참고자료 // 버블 정렬 int temp = 0; for (int i = 0; i intArr[j]) { // 왼쪽이 더 크다면 자리를 바꿔줌(swap) temp = intA..

    [TIL] Java 타입 변환, 연산자, 조건문, 반복문, 배열

    ✍ Today I Learned [타입 변환 Type Conversion] Casting이란? 데이터 타입을 변환하는 것이다. 형식과 크기가 다르기 때문에 변환이 필요할 때가 있다. 자바에는 2가지 유형의 Casting이 있다. Widening Casting (automatically) - 더 작은 유형을 더 큰 유형 크기로 변환(묵시적 형 변환) byte -> short -> (char) -> int -> long -> float -> double Narrowing Casting (manually) - 큰 유형을 작은 크기 유형으로 변환(명시적 형 변환) double -> float -> long -> int -> char -> short -> byte int num1 = 1, num2 = 4; dou..

    [TIL] Java 개발 환경 설정, 데이터 타입, 입출력

    ✍ Today I Learned 자바로 개발하기 위해서는 통합개발환경이 필요하다. (이클립스, 안드로이드 스튜디오) 통합개발환경에는 자바 컴파일이 포함되어 있지 않으므로 JDK라는 별도의 개발 도구를 설치해야 한다. JDK란? Java SDK(Software Development Kit)의 줄임말로 자바 개발 도구 모음을 의미한다. (자바 라이브러리, 컴파일러, JRE(JVM, Java Plugin, 유틸리티) 등을 포함) JVM이란? Java Virtual Machine의 줄임말로 자바 바이트코드를 해석하고 실행한다. 자바는 WORA(Write Once Run Anywhere)를 구현하기 위해 물리적인 머신과 별개의 가상 머신을 기반으로 동작하도록 설계되었다. 따라서 자바 바이트코드를 실행하고자 하는 ..

    [Java/백준] 개 #10172

    문제 풀이 저번 고양이 문제처럼 이스케이프 문자(escape chracter)를 이용하여 출력하는 문제이다. class Main { public static void main(String[] args) { System.out.println("|\\_/|\n|q p| /}\n( 0 )\"\"\"\\\n|\"^\"` |\n||_/=\\\\__|"); } } 이렇게 제출했더니 컴파일 에러가 떴다. 엥? 나 제대로 적었는데? 아 C++로 제출했구나🤣 다시 JAVA11 로 제출해서 성공~

    [Java/백준] 고양이 #10171

    문제 풀이 이스케이프 문자(escape chracter)를 이용하여 화면에 원하는 그림을 출력하는 문제이다. class Main { public static void main(String[] args) { System.out.println("\\ /\\\n ) ( \')\n( / )\n \\(__)|"); } } 간단하게 성공! 하는 김에 이스케이프 문자를 정리해보았다! \\역슬래시 \'홑따옴표 출력 \"쌍따옴표 출력 \n줄바꿈 \t탭(일정한 간격) \b커서를 한 문자 앞으로(백스페이스) \r줄의 맨 처음으로(캐리지 리턴) \0빈 칸(null) 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net

    [Java] 논리 연산자

    조건문 파트에서 다뤘던 논리 연산자에 대해 자세히 알아보자. 논리 연산자 public class LogicalOperatorApp { public static void main(String[] args) { // 논리 연산자 // AND 연산자 System.out.println(true && true); // true System.out.println(true && false); // false System.out.println(false && true); // false System.out.println(false && false); // false // OR 연산자 System.out.println(true || true); // true System.out.println(true || false);..

    [Java/백준] We love kriii #10718

    문제 풀이 public class Main { public static void main(String[] args) { System.out.println("강한친구 대한육군"); System.out.println("강한친구 대한육군"); } } 이렇게 직관적으로(?) 제출했는데 다른 답변을 보면서 문자열을 반복하는 다양한 방법을 알게 되었다. 1) for문을 이용하는 방법 public class Main { public static void main(String[] args) { for (int i=0; i