본문 바로가기

JAVA/혼자공부하는자바

(28)
[JAVA기초] 연산자와 연산식 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라고 한다. 연산자 (opeartor) 연산에 사용되는 표시나 기호 피연산자 (operand) 연산자와 함께 연산되는 데이터 연산식 (expression) 연산자와 피연산자 사용하여 연산 과정 기술한 것 자바에서 제공하는 연산자 산출되는 값의 타입이 연산자 별로 다름 연산자 종류 연산자 피연산자 수 산출값 기능 산술 +, -, *, /, % 이항 숫자 사칙연산 및 나머지 계산 부호 +, - 단항 숫자 음수와 양수의 보호 문자열 + 이항 문자열 두 문자열을 연결 대입 =, +=, -=, *=, /=, %= 이항 다양 우변의 값을 좌변의 변수에 대입 비교 ==, !=, >, =, 이항 -> 삼항 :산술 -> 비교 -> 논리 -> 대..
[JAVA기초] 변수와 시스템 입출력(2) 키코드(KeyCode) 키보드에서 키를 입력할 때 프로그램에서 숫자로 된 키코드를 읽음 System.in의 read() 사용 얻은 키코드는 대입 연산자 사용하여 int 변수에 저장 A를 입력하여 65를 출력했다. 키코드를 입력할 때 A의 값인 65만 입력되는 것이 아니라 Enter의 값인 13과 10도 같이 입력이 된다. 그래서 같은 출력문을 반복하면 13과 10도 같이 출력이 된다. 위와 같이 while문을 이용하여 계속해서 입력을 받을 수 있다. if문과 break를 추가하여 종료 기능을 만들 수 있다. System.in.read()의 단점 2개 이상의 키가 조합된 한글을 한꺼번에 읽을 수 없다. 키보드로 입력된 내용을 통문자열로 읽을 수 없음 Scanner로 해결 자바가 제공하는 Scanner 클래..
[JAVA기초] 변수와 시스템 입출력 변수 값 출력하기 println() 메서드 괄호 안에 리터럴 넣으면 그대로 출력 / 변수 넣으면 저장된 값 출력 System. + out. + println(리터럴 또는 변수); (시스템이 가지고 있는 / 출력장치로 / 괄호 안의 내용을 출력하고 행을 바꿔라) 다양한 출력 메서드 메소드 의미 println(내용); 괄호 안의 내용 출력 후 개행 print(내용); 괄호 안의 내용 출력 printf("형식문자열", 값1, 값2, ....); 괄호 안의 첫번 째 문자열 형식대로 내용 출력 printf() 메서드 개발자가 원하는 형식의 문자열(formal string) 출력 (전체 출력 자릿수 및 소수 자릿수 제한) printf("형식 문자열", 변환 문자 / 형식화된 문자열에 제공될 내용 형식 문자열의 구조..
[JAVA기초] 변수 타입 변환 3 (문자열 타입 변환) + 연산에서의 문자열 자동 타입 변환 +연산 피연산자가 모두 숫자일 경우 덧셈 연산 피연산자 중 하나가 문자열일 경우 나머지 피연산자도 문자열로 자동 변환되고 문자열 결합 int value = 3 + 7; -> int value = 10; String str = "3" + 7 -> String str = "3" + "7"; -> String str = "37" String str = 3 + "7" -> String str = "3" + "7"; -> String str = "37" + 연산은 앞에서부터 순차적으로 수행 먼저 수행된 연산이 결합 연산인 경우 이후 모든 연산이 결합 연산이 됨 int value = 1 + 2+ 3; -> int value = 3 + 3; -> int value = 6; Str..
[JAVA기초] 정수의 타입 변환 2 (연산에서의 타입변환) ※정수 타입 변수가 산술 연산식에서 피연산자로 사용되는 경우 자바에서는 피연산자를 4byte 단위로 저장하기 때문에 그보다 작은 byte, char, short 타입 변수는 int 타입으로 자동 변환이 된다. ex) byte 타입 변수가 피연산자로 사용된 경우 byte x = 10; byte y = 20; //1,2번 줄 변수값 int로 형변환 byte result = x + y; //컴파일 에러 int result = x + y; x와 y변수가 연산식에 사용되어 자동으로 int형 변환이 되었기 때문에 byte형 변수 result의 허용범위가 넘어 컴파일 에러가 발생한다. 그렇기 때문에 result 타입을 int로 선언해주어야 한다. ex) int 타입 변수가 피연산자로 사용된 경우 int x = 10;..
[JAVA기초] 변수 타입 변환 (형변환, 자동타입변환&강제타입변환) 타입 변환이란 간단히 말해서 A타입에서 B타입으로 변환하는 것을 말한다. (ex. byte types -> int types / string -> int) 타입 변환은 자동 타입 변환과 강제 타입 변환으로 나뉜다. 변수 값을 다른 타입의 변수에 저장할 때 타입 변환이 발생할 수 있다. byte a = 10; //byte 타입 변수 a에 10을 저장 int b = a; //byte 타입 변수 a에 저장된 10을 int 타입 변수 b에 복사해서 저장 (byte 값인 10을 int 타입으로 변환한 예시) 자동 타입 변환(promotion) 값의 허용 범위가 작은 타입이 큰 타입으로 저장될 경우 자동 타입 변환이 일어난다. 기본 타입의 허용 범위 순 byte < short < int < long < float ..
[JAVA기초] 변수의 타입 (문자&실수 데이터타입, 이스케이프 문자, 실수 리터럴, 논리 타입) 문자열(Stringer) Java에서는 문자와 문자열을 다른 것으로 인식을 하여 별도의 타입 구분이 필요하다. 큰 따옴표로 감싼 문자들을 문자열이라고 함. 문자열은 char 타입에 저장할 수 없음 String 타입에 저장 (String 타입은 Java의 기본 타입은 아니며 참조 타입에 해당됨) 이스케이프 문자 (escape) 문자열 내부에 \(역슬래시)는 이스케이프 문자를 뜻함 이스케이프 문자를 사용하면 특정 문자를 포함시키거나, 문자열의 출력을 제어할 수 있음 예) 문자열 내부에 " 등 특수적인 문자를 포함하여야 할 때 사용한다. 이스케이프 문자 출력 용도 \t 탭만큼 띄움 \n 줄 바꿈(라인 피드) \r 캐리지리턴 \" " 출력 \' ' 출력 \\ \ 출력 \u16진수 16진수 유니코드에 해당하는 문..
[JAVA기초] 변수의 기본 타입(정수 데이터타입, 정수 리터럴) 프로그래밍에서의 변수를 선언하기 앞서 데이터가 어떻게 저장되고, 어떻게 처리되어야 하는지 미리 정해주어야 하기 때문에 데이터 타입을 지정해주어야 한다. 변수의 값 크기보다 선언되는 데이터 타입에 따라 사용되는 메모리의 양이 달라지기 때문에 용도에 맞는 적절한 데이터 타입을 사용하여야 한다. 정수를 표현하는 데이터 타입에는 'byte, short, int, long' 이 있지만 오늘날에는 메모리의 용량과 CPU의 처리속도(4byte 단위로 처리)가 늘어나서 정수형 데이터는 메모리 크기가 4byte인 int형을 사용하는 것이 가장 효율적이라고 한다. 변수의 기본 타입(Variable's Primitive Type) 구분 저장되는 값에 따른 분류 타입의 종류 기본 타입 정수 타입 byte, char, shor..