Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

빅데이터 AI 인공지능 IT 꿀팁 아이팁

Java Day 1. 기초 프로그래밍 용어 본문

JAVA

Java Day 1. 기초 프로그래밍 용어

아이팁 2021. 1. 30. 01:16
 * 상수란(Invariable)? 
 * 변하지 않는 값 (원래 존재하는 값)
 * 예) int a = 3; 여기서 대입되는 3이란 값이 상수다
 * 
 * 변수란(Variable)?
 * 값을 저장하는 공간 ( 값 = 상수 )
 * 예) int a = 3; 정수형의 a라는 이름을 가진 변수를 선언과 동시에 3이라는 값으로 초기화
 * 		여기서 자바의 정수형은 아래와 같은 종류들이 있다 
 * 		byte : 8비트 정수형
 * 		short : 16비트 정수형
 * 		int : 32비트 정수형
 * 		long int : 64비트 정수형
 *			자바에서의 char 변수는 16비트의 유니코드(unicode)를 처리하므로 C언어의 char과
 *			헷갈리면 안된다.
 *
 * 컴파일에러란? (Compilation error)
 * 문법적인 오류로 인해 발생한 오류이다
 * 1.키워드의 맞춤법이 틀리거나
 * 2.필요한 문장 부호를 빠뜨리거나 예) ;를 빠뜨린다 (실제로 내가 제일 많이 하는 실수이다)
 * 3.if 문을 먼저 사용하지 않고 End if 문을 사용하거나
 * 4.선언되지 않은 변수(Variable)를 사용하는 것이다
 * 
 * 런타임에러란? (Run-time error)
 * 실행중 도중에 발생하는 오류이다
 * 프로그램에서 수행할 수 없는 작업을 시도할 때 발생한다
 * 설계미숙으로 인한 경우가 많다 (나는 아직 많이 미숙하다)
 * 그 외에 기계적 결함에 의해서 발생하기도 하지만 정말 드문 일이라고 한다
 * 1.0으로 나누는 경우
 * 2.무한 루프에 빠지는 경우
 * 3.Null point error (NPE는 순서만 바꿔도 피할 수 있다)
 * 4.segmentation fault/bus error - 존재하지 않는 메모리 위치에 접근하려 할 때
 * 
 * 논리에러란? (Logic error)
 * 사용자가 의도한 작업을 프로그램에서 수행하지 못하는 오류이다
 * 코드는 오류 없이 컴파일 및 실행될 수 있지만 작업 결과가 예상과 다를 수 있다
 * 작성자가 예상한 알고리즘 등이 틀렸다는것을 나타낸다, 따라서 에러 메세지가 따로 나타나지 않아
 * 오류를 교정하는 것이 어렵다. (디버깅으로 한줄씩 해보면 된다)
 * 
 * 
 * 		정수형 변수 선언 키워드
 * byte,short,int,long
 * 		실수형 변수 선언 키워드
 * float(소수7자리),double(소수15자리)
 * 		논리형 변수 선언 키워드
 * boolean
 * 		문자형 변수 선언 키워드
 * char (유니코드 : 2byte)
 * 		문자열 변수 선언 키워드
 * 기초변수로 담을 수 없음 (String 클래스를 이용해야함)
 * 		관계 연산자
 * 피연산자들의 관계를 연산, 결과값이 항상 boolean타입의 데이터 (true or false)
 * 		논리 연산자
 * boolean 타입의 데이터에 대한 논리관계를 연산
 * 	논리관계
 * 	and(&&) : 둘 다 true 일때만 결과값이 true 아니면 false
 * 		예)	if (true && true) {
 * 				System.out.println(1); // 실행
 * 			}
 * 			if (true && false) {
 * 				System.out.println(2); // 실행 X
 * 			}
 * 			if (false && true) {
 * 				System.out.println(3); // 실행 X
 * 			}
 * 			if (false && false) {
 * 				System.out.println(4); // 실행 X
 * 			}
 * 	or(||) : 둘 중 하나만 true 이면 결과값이 true 아니면 false
 * 		예) if (true || true) {
 * 				System.out.println(1); // 실행
 * 			}
 * 			if (true || false) {
 * 				System.out.println(2); // 실행
 * 			}
 * 			if (false || true) {
 * 				System.out.println(3); // 실행
 * 			}
 * 			if (false || false) {
 * 				System.out.println(4); // 실행x
 * 			}
 * 	not(!) : true를 false로 false를 true로
 		예) if (!true) {
			   System.out.println(1);
			   }
			   if (!false) {
			   		System.out.println(2);
			   		}
			     }
 * 	xor(^) : 둘이 같을떄는 false 다를때는 true
 * 		예)  System.out.println( true ^ true ); // false
			
 			System.out.println( true ^ false ); // true
			
 			System.out.println( false ^ true ); // true
			
 			System.out.println( false ^ false ); // false

			System.out.println( 5 ^ 6 ); // 3
 * 
 * 형 변환 (Type casting)
 *  - 확대 변환(프로모션) : 더 큰 자료형으로의 변환
 *  - 축소 변환(디모션) : 더 작은 자료형으로의 변환 (정보손실이 발생할 수 있음)
 *  - 명시적 형변환 : 개발자가 형변환을 명시
 *  - 묵시적 형변환: 컴파일러가 자동으로 형변환
 *  
 * 배열 : 같은 타입의 변수들의 집합
 * 	- 배열로 묶인 변수들은 연속된메모리공간에 위치 (연속접근 용어)
 * 	- 배열로 묶인 변수들은 컴퓨터 입장에서도 관련 있는 변수들
 * 	- 같은 타입의 변수를 간단히 한번에 여러개 생성
 * 
 * JVM의 메모리 공간
 * 	- stack 영역 : 스택 메모리는 명령어 집합 ({}) 내에 선언된 지역변수들을 위한 공간,
 * 					필요한 공간의 크기를 컴파일시에 확정 (후입선출방식의 자료구조)
 * 	- heap 영역 : 프로그램 실행 중 필요에 의해 동적 메모리 할당을 위한 공간 (객체들이 로딩된다)
 * 
 * 	- static 영역 : 상수와 같은 데이터나 프로그램의 소스코드 , static 선언된 변수나 메소드 등의 공간
 * 
 * 1~45 의 난수를 뽑는 방법
 * (int)(Math.random() *45) + 1
 * 
 * 메소드(함수)
 * 명령어의 집합에 이름을 붙여 놓은 것
 * 
 * 구조체
 * 1개 이상의 자료형의 집합으로 이루어진 사용자 정의 자료형
 * 
 * 클래스
 * 관련있는 변수와 관련있는 함수를 모아 놓은 사용자 정의 자료형
 * 객체를 정의해 놓은 설계도라고 할 수 있음
 * 
 * 
 * 		이름 규칙
 * 		클래스명 : 첫글자는 대문자
 * 		변수,메소드 : 소문자로 쓴다
 *		상수 : 전체 다 대문자 
 *
 *		단어와 단어를 연결해서 만들 경우 두번째 단어의 첫 글자는 대문자
 *		예) 클래스명 : BlackWhite
 *			변수 메소드 : inserData
 *				주석 = //
 * 
 * 

'JAVA' 카테고리의 다른 글

Spring : Environment 예제  (2) 2021.04.07
Spring : Scope / Singleton, Prototype  (0) 2021.04.06
Spring : Pencil 인터페이스  (0) 2021.04.06
Spring : 개발환경 설정  (0) 2021.04.05
JSP 개발환경 구축하기  (0) 2021.03.05