🌎 Web/Java

🌎 Web/Java

    [Java] 정수 나눗셈 연산, 증감 연산자, while문과 조건식

    정수 나눗셈 연산 (혼자 공부하는 자바 p.80) 다음 코드를 실행하면 출력 결과로 5를 기대했는데 4가 출력되었다. 어디에서 잘못 작성된 것일까? int var1 = 5; int var2 = 2; double var3 = var1 / var2; int var4 = (int)(var3 * var2); System.out.println(var4); // 4 3번 라인의 결과값부터 잘못 되었다고 할 수 있다. 이유는 자바에서 정수 연산의 결과는 정수이기 때문이다. 디버깅 모드로 라인 하나하나를 살펴보자. 7번 라인에서 var1 / var2의 연산 결과는 2.5가 아니라 2가 되고, 2를 double 타입으로 변수 var3에 저장하므로 2.0이 된다. 8번 라인에서 var3 * var2의 연산 결과는 4.0이..

    [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] == vs equals

    조건문 파트에서 잠시 다뤘던 ==(동등 비교 연산자)와 equals() 메소드의 차이를 자세히 알아보자. 먼저 데이터 타입과 메모리에 대한 이해가 필요하다. 원시 데이터 타입과 클래스 원시 데이터 타입(primitive) 자바에서 기본적으로 다루는 데이터 타입 boolean, byte, char, short, int, long, float, double 총 8개가 있다. 원시 데이터 타입의 변수는 선언되면 메모리(Stack)에 공간이 할당되고, 실제 값이 들어간다. 👉 원시 데이터의 경우, ==연산자는 변수가 가리키는 값을 토대로 비교한다. String같은 기본이 아닌 데이터 타입(non primitive) java.lang.Object 클래스를 비롯해 여기에서 파생된 다른 모든 클래스들을 포함한다. 클..

    [Java] 조건문(Conditional Statement)

    조건문 형식 if문 // if문의 기본 구조 if (조건식) { ; ; ... } else if(조건식) { ; ; ... } else { ; ; ... } 조건에 따라 참이면 if문을 수행하고, 거짓이면 else if문에 속한 조건을 판단해 참이면 else if문을 수행하고, 거짓이면 else문을 수행한다. if와 조건식은 필수 구성 요소이고, 나머지는 필수 요소가 아니다. 조건식에는 boolean 타입만 들어갈 수 있다. 조건문은 중첩할 수 있다. if와 else는 하나의 조건문에 딱 한 번만 가능, else if는 여러 개 가능 생각해보기 1) 조건문을 중첩해서 사용하는 것과 그렇지 않는 것은 어떤 장단점이 있을까요 조건문을 중첩하여 사용하면 코드의 연관성을 확인하기 힘들고, 중간에 다른 코드의 삽..

    [Java] Boolean 데이터 타입

    Boolean 데이터 타입이란? 참(true)과 거짓(false)을 표현하는 데이터 타입 true와 false 키워드를 직접 입력할 수도 있고, 메소드의 리턴값이나 비교 연산으로 도출할 수도 있다. public class BooleanApp { public static void main(String[] args) { // Data type 데이터 타입 System.out.println("One"); // String 문자열 System.out.println(1); // Integer 정수 // Boolean Data type System.out.println(true); System.out.println(false); } } Boolean 데이터 타입의 활용 contains() 메소드 String 객체의..

    [Java] 제어문(Java Flow Control)

    제어문(조건문, 반복문) 프로그램이란? 원하는 작업이 시간 순서대로 진행되도록 컴퓨터에게 명령하는 것 하지만 인간의 욕심은 끝이 없고, 그 이상의 작업을 기대하게 된다. 조건문 예) 사용자의 인증이 필요한 경우(로그인 기능) 👉 조건에 따라 실행되는 순서를 제어하는 조건문(Conditional Statement) 필요! 반복문 예) 1억건의 데이터에 대해 같은 작업을 처리하는 경우 👉 같은 작업을 반복적으로 처리하는 반복문(Looping Statement) 필요! 프로그램의 실행 = 물의 흐름 이라면? 코드가 시간 순서대로 실행되는 것 = 중력 제어문(조건문, 반복문) = 물의 흐름을 제어하는 댐, 보 Boolean 데이터 타입과 비교 연산 마음대로 로직의 흐름을 조작할 수 있는 제어문을 사용하기 위해서..