JAVA / 환경구축, 개념, 식별자, 데이터 형

Cheol·2023년 5월 19일
1

Java

목록 보기
1/8
post-thumbnail

eud day 9

JAVA

JAVA 프로그램(P/G)

-> jdk 언어를 먼저 설치하고 그 후 workspace인 eclipse를 다운한다.

import : 프로젝트(프로그램)를 끌어오는 것. 임포트 할 떄 Copy projects into workspace를 체크 안해주면 그대로 가져오기 때문에 백업 프로젝트가 사라진다.

java 단축키

ctrl + f11 : 컴파일러 실행
ctrl + alt + 방향키 : 현재 줄 복사
ctrl + d : 현재 줄 삭제

백업 and 임포트 중요!


JAVA 기본 메인 구현

public class HelloTest {

	public static void main(String[] args) {
		System.out.println("HelloTest01");
	}

}

Java 개요

  • 객체지향(oop) 언어이다.
  • 분산 네트워크 기술(원격 메소드 호출)을 지원한다.
  • 포인터를 직접 조작하지 않고 개체 참조를 통한다.
  • 다중 스레드를 지원한다 -> 하나의 프로그램에서 여러 개의 스레드가 병렬적으로 수행되기 때문에 프로그램의 효율적인 성능 향상을 기대할 수 있다.
  • 플랫폼 독립적이다. (good!)
  • Java SE의 JDK구조

    -> JRE(java runtime enviroment)는 실행 환경만을 제공하며, JDK는 실행환경 및 개발도구까지 포함하여 제공한다. 여기서 개발 도구는 컴파일러(javac.exe) 및 인터프리터(java.exe)를 포함한 여러 가지 실행 명령어를 의미한다.

Java 기본 지식

  • Java 프로젝트 name의 첫 글자는 항상 대문자이다.

  • 하나의 프로젝트에 같은 이름의 클래스가 있으면 안된다.

  • 컴파일러가 .class파일을 기계어로 번역하여 실행한다.

  • 수천 개가 넘는 API들을 구분하는 기준은 패키지이다. (ex. java.lang) - java.lang.* 은 상단에 import를 써주지 않아도 묵시적으로 적용된다.
    Import 자동으로 추가 command > Ctrl + Shift + o

  • 컴파일 오류(문법 오류)는 붉은색으로 해당 줄이 표시되고, 실행되지 않는다.

  • 논리 오류는 컴파일러가 실행 했을 때, 콘솔 결과창에서 해당 논리 오류 line 전까지 결과가 출력되고 해당 줄에서 출력되는 값이 나올 순서일 때 오류결과가 나온다.

  • 클래스는 속성을 표현하는 멤버변수와 동작을 나타내는 메소드를 가지고 있다.
    main함수가 끝날 때, 메소드가 끝나고 속해있는 변수들은 사라진다.

  • syso입력 후 자동완성 키를 누르면 System.out.println()이 자동완성된다.

  • 출력 / 계산 등 처리 함수는 함수 안에서 작성되어야 한다.
    클래스 블록에서도 처리 함수는 처리할 수 없다.
    다만 클래스 블록에서 변수 선언은 가능하다.


메소드 형식

public static	void	main(String[] arg) { ... }
  접근제어자    반환타입  메소드 이름(매개변수 목록) { ... }
  • 접근제어자 : 해당 메소드에 접근할 수 있는 범위를 명시
  • 반환 타입 : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 명시
  • 메소드 이름 : 메소드를 호출하기 위한 이름을 명시
  • 매개변수 목록 : 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시

출력

  • println : 출력 후 개행(줄바꿈)
  • print : 출력
  • printf : c언어에서 지원하는 함수. java도 사용 가능

식별자(Identifier)

  • 첫 문자는 반드시 영문자이어야 한다. 그 다음 문자부터는 숫자와 문자를 혼합해서 사용할 수 있따. _(언더스코어)나 $(달러기호)는 첫 문자로 사용할 수 있다.

  • 자바는 대소문자를 엄청나게 구별한다. 주의!!

  • 식별자에 대한 길이제한은 없으며, 공백문자 사용 X

ex)
userName - camel(낙타) 표기법
user_name
_sys_name
$myName

예약어 (reserved word)

: 자바에서 특별한 의미를 가지는 식별자이다.
개발자는 예약어를 이용해서 클래스 이름, 변수 이름 또는 메소드 이름을 지정해서는 안된다.


데이터 형(Data Type)

: 자바프로그램 언어가 처리할 수 있는 데이터 종류를 의미한다.
자바언어에게 처리하고자 하는 데이터가 어떤 종류인지를 알려줘야 제대로 처리할 수 있다.

자바는 2가지 형태의 데이터가 있다.

  • 기본 데이터 형
    --> int a = 100;
    값 100이 문자 a에 저장된다. 실제 데이터 저장.
  • 참조 데이터 형
    --> String b = "Hello";
    Hello 문자열이 b에 저장되는 것이 아닌 데이터가 있는 b의 주소에 저장된다. 주소를 참조.

기본 데이터 형(Primitive Data Type : PDT)

논리형 - boolean
문자형 - char
정수형 - byte, short, int, long
실수형 - float, double

boolean은 반드시 소문자 true, false값 중 하나를 가진다.(0,1 TRUE, FALSE 안된다.)

boolean result = false;
boolean falg = true;

char은 반드시 하나의 문자를 기자며 16비트 유니코드 값을 표현한다. 반드시 ''(single quotes)를 사용해서 표현한다.

char c = 'A";
int num = 'A' + 1;	--문자를 정수형으로 변환 가능
  • 정수형의 종류와 크기

    long형은 끝에 L 또는 l을 붙여서 int와 구별시킨다. 명시적으로 붙이지 않으면 int를 의미한다.
    float형 또한 F 또는 f를 붙여서 double과 구별시킨다. 명시적으로 붙이지 않으면 double을 의미한다.

참조 데이터 형(Reference Data Type : RDT)

클래스, 배열, 인터페이스

문자열은 참조 형에 속한다. String클래스를 이용해서 표현하고 ""(double quotes)를 사용해서 표현한다.

String name = "홍길동";
int [] arr = {1, 2, 3, 4};
Student stu = new Student("유관순", 17, "서울");

리터럴(literal)

문자형 리터럴:하나의 문자 데이터를 의미하며 반드시 ''(single quotes)로 표현한다.
영문자 이외의 유니코드를 표현할 때에는 \u를 이용해서 다음과 같이 표현한다.

'자' --> '\u4567'
'바' --> '\uBC14'

다음과 같은 특별한 형태의 escape문자도 사용할 수 있다.

  • \n : 새로운 라인 추가
  • \t : 탭 선택한 기능
  • \r : 리턴기능
  • \b : 백스페이스 기능
  • \' : 따옴표 기능
  • \" : 쌍따옴표 기능
  • \ : 백슬래쉬 기능

정수형 리터럴: 일반적인 정수데이터를 의미한다. 10진수, 8진수, 16진수, 2진수로 표현 가능하다.

실수형 리터럴: 일반적인 소수점을 가진 실수 데이터를 의미한다.

논리형 리터럴: 참/거짓을 표현할 때 사용하는 논리 데이터이다. java에서는 true또는 false만이 논리형 상수 값으로 이용된다.

boolean b = 0; //컴파일 에러 발생
boolean c = FALSE; //컴파일 에러 발생


변수(variable)

: 변수는 데이터를 저장할 때 사용되기 때문에 기본 데이터형 변수와 참조 데이터형 변수로 구분할 수 있다.
사용할 떄는 다음 순서로 처리해야 한다.
1. 변수 선언
2. 변수 초기화

int num; 	//변수 선언
num = 3;	//변수 초기화

변수와 코드 블록(code block)
: 변수를 사용할 때 주의할 점은 블록 단위로 사용이 가능하다는 것이다. 블록은 ‘{’ 으로 시작하고 ‘}’ 끝나는 코드 묶음을 의미한다. 코드 블록은 클래스와 메서드, 생성자, 조건문 , 반복문 등 자바 코드내에서 다양하게 사용된다.
블록간에는 서로 다른 영역으로 처리되기 때문에 같은 이름을 가진 변수를 포함할 수 있다.

0개의 댓글