JAVA
자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어이다. 처음에는 가전제품 내에 탑제해 동작하는 프로그램을 위해 개발했지만 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다.
자바는 운영체제로부터 자유롭다. JVM(Java Virtual Machine)으로 새 운영체제를 사용한다.
자바 프로그램의 구성요소
: 필드(field), 메소드(method), 클래스(class)
필드(field, 변수)
-
데이터 속성, 자료구조, 데이터를 담는 그릇
-
첫글자 소문자. 단어 뒤에 () 소괄호 포함X
-
변수 형식
자료형 변수명; //변수선언
자료형 변수명 = 데이터값; //변수 선언과 초기화(값 할당)
int i = 0;
int i;
int j;
int k;
\==> int i,j,k;
\==> int i=10, j=20, k=30;
//자료형: char, byte, short, int, long, float, double, boolean, String
-
속성변수
: 기본자료형 변수명; (직접 데이터를 가지고있음) -
참조(reference,주소)변수
: 클래스자료형 변수명; (메모리에 데이터가 위치)
final 변수
final 자료형 변수명;
final 리턴자료형 메소드명( ) { };
final class 클래스명{ };
final int MAX = 100;
MAX++; -> 에러발생
- 마지막 변수 (상수. constant)---> 상수의 식별을 위해 전체 대문자로 표기
- 마지막 메소드 : 오버라이딩(메소드 재정의) 할 수 없는 메소드
- 마지막 클래스: 자식클래스를 갖지않는 클래스. 자식을 통한 기능확장을 하지않아 보안에 용이함
메소드(method,함수)
-
기능, 행위
-
첫글자 소문자. 단어 뒤에 () 소괄호 포함O
-
메소드 형식
리턴자료형 메소드명( 매개변수 )// 매개변수의 다른용어: 인수, 인자, argument, 파라미터
{// 메소드 시작
}// 메소드 끝
void gildong( )
{
1. 문 앞으로 이동;
2. 문 열기;
3. 되돌아오기;
// return; (생략가능)
}
//메소드: 문장의 순차적인 나열.
//void: 가져올 데이터가 없을 때 사용
Coffee lime ()
{
1.자판기 앞으로 이동;
2.동전 투입;
3.커피버튼 클릭;
4. 커피를 뽑아서 되돌아오기;
return 커피; //생략불가
}
// Coffee: 클래스. (대문자로 시작)
Cola juwon (int coin)
{
1.자판기 앞으로 이동;
2.매개변수로 받은 동전투입;
3.콜라버튼 클릭;
4.콜라를 뽑아서 되돌아오기;
return 콜라; //생략불가
```
}
-
메소드 호출(사용)
: 실행순서) 호출 → (매개변수) → 명령문 → 리턴
메소드명();
lime();
juwon(300);
클래스(class,객체)
-
자바 프로그램 기본단위(파일). 필드와 메소드를 담는 울타리(template)
-
첫글자 대문자
-
객체, object, instance, entity 라고 불림
-
클래스 형식
class 클래스명 { //클래스 시작 }// 클래스 끝 class 클래스명 { //변수선언 (속성변수) int su; boolean flag; double d; //변수선언 (참조변수) String str; A obj; //메소드 정의 리턴형 메소드명( ) { //변수 선언 int min; //변수 초기화 su = 20; min = 300; //메소드 호출 System.out.println(su); // 조건문 if(조건문){ } // 반복문 } //method }//class
-
클래스 사용
: 객체생성(메모리 할당) 해서 사용class A { int su = 300; void hello() { System.out.println("안녕하세요"); } } //객체생성식 A obj = new A(); //클래스 내부 요소 사용 obj.su; // A클래스에 있는 su 필드 obj.hello(); // A클래스에 있는 hello() 메소드
식별자(identifier)이름 규칙
- 변수명, 메소드명, 클래스명에 적용
-
첫글자 숫자 불가능 /숫자를 변수명으로 보는것이 아니라 데이터로 인식
cup1, cup2 (o) 1cup, 2cup (x) int su1; (o)int su2; (o) int 1su; (x)int 2su; (x)int 3su; (x)
-
특수문자 사용불가
cup@ cup% (x)-->예외) _ , $ 사용 가능 / $는 클래스에서 사용 String name; String studentName; String student_name;
-
자바는 유니코드(16비트)를 지원하기 때문에 한글도 가능하지만 한글사용은 비추함
-
예약어 사용 금지. (에러발생)
int class;int public;int if;
자바 자료형 (DataType)
문자
-
char
// 변수 선언: ch 변수에 문자데이터를 받겠음//변수 초기화(값을 할당)
-
정수
byte (1byte)
-1byte == 8bit ==2의 8승 == 256개 (-128 ~ 0 ~ 127)
byte b = 123; 127; 0; (o)
byte b = 128; -129; (x)
short(2byte)
int (4byte) : 가장 많이 사용
int i = 345;
long (8byte)
-
실수
float (4byte)
double (8byte) : 가장 많이 사용
double d = 3.14;
-
논리
false; (o); "false"; (x)
자바 따옴표 차이
System.out.println("H" + "a");
System.out.println('H' + 'a');
System.out.println('H'+0);
System.out.println('a'+0);
실행결과==>
Ha
169
72
97
- " " 큰따옴표의 경우 문자열로 인식하여 두 문자가 합쳐져서 결과가 표시된다.
- 작은 따옴표의 경우는 + 연산자를 사용하면 H 와 a 는 Integer형으로 형변환이 되어 169가 출력된다.
- String = " " ; ==>클래스형
- char = ' '; ==>변수형
자바의 설명문/ Comment, 주석문
-
라인 주석문
//설명
-
블럭 주석문
/* 설명1 설명2 */
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 객체지향의 특징 (상속, 캡슐화, 다형성) (0) | 2019.04.21 |
---|---|
[자바] 주민번호 입력하여 나이구하기 (0) | 2019.04.21 |
[JAVA] 자바 데이터 입력 (System.in.read() , BufferedReader 사용) (0) | 2019.04.21 |
[JAVA] 조건문, 반복문 (0) | 2019.04.17 |
[JAVA] 자바 연산자 종류 (0) | 2019.04.17 |