Java

Java 이론 정리 - 1

developerwkddbs 2025. 4. 21. 15:12

Feature of Java

           단순함 :포인터X, 메모리관리가 용이

                  객체지향 언어 : class 객체를 중심으로 프로그래밍

                  시스템에 독립적 : 여러 플랫폼에서 실행 가능

                  컴파일 번역 : 소스→.class(ByteCode), ByteCode←Interpreter(통역기)

Java/ByteCode

                  확장자 = .java/.class

                  ⃝ByteCode=이진파일, Interpreter 의해 실행되는 File

Develop Environment

                  ⃝JRE : 자바실행 환경 (Java Runtime Environment)

                  ⃝JDK : 자바 프로그래밍을 위한 최소한의 환경(Java Development Environment)

                  ⃝IDE : 통합개발 환경(Intergrated Develop Enviroment)

Java Grammer

                  ⃝Block : 중괄호로 나타내며 여러문장의 집합/class 정의에도 이용/임의로 구성

                  주석 : 프로그램에 영향X, 프로그램에 대한 설명 기입

                                    ○블록주석 : /* 주석 내용 */

                                    ○라인주석 : //주석내용

                                    ○도큐먼트주석 : /** 주석내용 */

                  키워드 : 프로그래밍 언어에서 미리 정의해 놓은 단어 (예약어 라고도 )

                  식별자 : 프로그래머가 정의하여 사용하는 단어, 주로 클래스, 변수 이름에 사용

                                     주로 대소문자, 알파벳, 숫자, 밑줄, $(달러기호) 구성

                  식별자 규칙

                                    1.키워드는 식별자로 이용X                                3.식별자는 대소문자 구분

                                    2.식별자의 문자로 숫자X                            4.식별자로 한글 사용 가능(Java)

                  클래스(class) : 객체를 만드는 설계도, 프로그램의 단위

                                    class CLASSNAME {} 구성

                  메소드(Method) : Class = Field(변수)+Method(함수), 작업 수행 출력 모듈

                                    Method Definition

                                                   1.public : 클래스 외부에서 접근 가능 2.static : 정적 메소드

                                                   3.void : 반환값 X                                      4.main 메소드 이름 (식별자)

                                                   5.String args[] : 매개변수(메소드가 외부에서 제공받는 저장 변수)

●자료형 구분/크기

분류 키워드  크기       최소~최대 지수형태 범위
논리형 boolen 1Byte False,True  
문자형 char 2Byte \u0000~\uffff,[0~65535] 0~2^16-1
 
 
정수형
Byte 1Byte -128~127 -2^7~2^16-1
short 2Byte -32768~32767 -2^15~2^15-1
int 4Byte -2147483648~2147483647 -2^31~2^31-1
long 8Byte -2^63~2^63-1 -2^63~2^63-1
     실수형 float 4Byte (+,-)1.4E-45~3.34028235E38  
double 8Byte (+,-)4.9E-324~1.797…E308  

●변수 : 프로그램이 사용하는 데이터를 일시적으로 저장하는 메모리 공간

                  소속변수(=Field) : 클래스 내부에 소속된 변수, method외부에 선언

                  지역변수 : method내부에서 선언, 내부에서 일시적으로 사용

●상수 : 소스에 그대로 표현할 있는 다양한 자료값

                  정수 상수 : 숫자 앞의 0=진수, 0x,0X=16진수, 0b1010=2진수

●산술연산자

연산          연산자    수학 연산식         자바 연산식
덧셈 + x+y x+y
뺄셈 - x-y x-y
곱셈 * xy, x*y x*y
나눗셈 / x/y, x÷y x/y
나머지 %   x%y

●데이터 입력

                  ⃝Java Class Library : Scanner

                               ○선언 명령어 : import java.util.Scanner;

                                    ○객체 생성 : Scanner (scanner name) = new Scanner(System.in);

                                    ○입력 : x = (scanner name).nextInt();

●데이터 출력

               ⃝System.out.println() : 문자열 출력 바꿈 method

               ⃝System.out.print() : 문자열 출력 바꿈 X

●오류의 종류

               ⃝Compile Error : 컴파일 발견되는 오류

                                    syntax error : 구문 오류

                                    semantic error : 의미 오류

               ⃝Run-time Error(실행에러)

                                    exception(예외) 사용하여 처리

               ⃝Logical Error

                                    Debugging : 논리 오류를 찾고 고치는 과정

●연산자 종류와 우선순위

우선순위 연산자 이름 연산자 연산방향
1 후위단항 var++ , var--  
 
 
 
 
 
 
2 전위단항 ++var, --var, +expr, -expr, ~ , !
3 곱셈부류 *, /, %
4 덧셈부류 +, -
5 비트이동 <<, >>, >>>
6 관계 <, >, <=, >=, instanceof
7 동등 ==, !=
8 비트AND &
9 비트 배타적OR ^
10 비트 OR |
11 논리 AND &&
12 논리 OR ||
13 조건 삼향 expr ? x:y
14 대입 =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=

●축약대입연산자

연산자 연산 연산자 의미
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= X%=y x=x%y

 

●증감연산자

연산자 위치 연산자 연산결과값 연산 n
전위 ++n n+1 1 증가
--n n-1 1 감소
후위 n++ n(그대로 이전 n) 1 증가
n-- n(그대로 이전 n) 1감소

●조건연산자

x  ?  a  :  b  x True이면 a, False이면 b

Ex)String str = (point%2==0) ? “짝수” : “홀수”;

●비트논리 연산자

x(비트1) y(비트2) x&y x|y x^y ~x
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0

●비트이동 연산자

연산자 이름 사용 연산방법 새로 채워지는 비트
>>  Signed left shift op1>>op2 Op1 op2비트만큼 오른쪽으로 이동 가장 왼쪽 비트인 부호 비트는 원래의 비트로
<<  Signed right shift op1<<op2 Op1 op2비트 만큼 왼쪽으로 이동 가장 오른쪽 비트를 모두 0으로 채움
>>>  Unsigend right shift op1>>>op2 Op1 오른쪽으로 op2비트만큼 이동 가장 왼쪽 비트인 부호 비트는 모두 0으로 채워짐

●반복문의 종류

               ⃝for : 카운트 제어 반복문

               ⃝while, do while : 이벤트 제어 반복문

               ⃝for, while : 사전 검사 반복

               ⃝do while : 사후 검사 반복