본문 바로가기
Web development/JAVA

Java-1 : 개요와 기초(~연산자)

by 자몬다 2019. 1. 4.

 자바의 특징

  java언어의 특징

-단순 : 가비지 콜렉터가 있어 메모리 관리가 쉽다
-객체지향 : 재사용이 가능하다
-컴파일+인터프리터 : 운영체제에 독립적이다
개발자용 JVM용 컴퓨터용
source -(compile)- byte code -(interprete)- 기계어
.java .class binary

  java 분야

J2SE(Standard)
J2ME(Micro, PDA용)
J2EE(Enterprize)

 자바 기초

  src와 bin

src : source폴더. java파일을 저장한다.
bin : binary폴더. 컴퓨터가 이해하도록 컴파일된
class파일을 저장한다.

  public class

하나의 파일에는 여러 개의 클래스가 올수 있지만,
public이 붙은 클래스는 하나만 있어야 한다.
또한 public 클래스명은 파일명과 같아야한다.

  메소드 : 선언과 호출

메소드 선언 : call(~) { }
메소드 호출 : call(~);

  main()과 명령형 매개변수

메인 메소드의 고정된 형태
"public static void main(String[] args){}"
args 부분만 변경가능, 들어온 값들의 이름, 변수명
실행 명령인 java 실행시 가장 먼저 호출되는 부분으로, 반드시 하나의 main()은 존재해야 함
Application의 시작되는 지점
main()이 없어도 문법적 오류는 아니기 때문에 컴파일은 되지만 실행은 되지 않는다.
<명령형 매개변수>
String[] : 여러개의 String값들을 받겠다(배열)
[]가 없을 시 하나의 값만 받음
main()은 반드시 []여야 한다

  package

package day02;
public class Test03
패키지는 클래스들을 담는 상위 항목이다.
패키지명.파일명 : 풀 네임
파일명 : simple name
패키지 내의 클래스를 실행할 때에는
실행할 파일명을 풀 네임으로 써야 한다.

  데이터 타입과 변수선언

ex) int i = 100;
변수(i) : 데이터를 저장할 메모리의 위치
타입(int) : 저장할 메모리 공간의 (종류별)크기
= : 대입한다(방향 <-)
데이터(100) : 대입할 데이터
변수의 선언(int i;) : 메모리 공간 확보
하나의 변수공간엔 하나의 데이터만 저장됨
새로운 값을 대입하면 덮어쓰기됨(변함)
String : 문자열
공백이 문자열의 구분단위,
"a b c"는 하나의 문자열로 인식
int : 정수
char : 문자
'작은따옴표' 사용해서 표현

  변수의 사용

동일한 값을 두 군데 이상 사용한다면
변수(variable)를 이용하라.
반대로 한 군데만 사용되는 요소는 변수로 하지말 것
메서드 바깥(클래스 영역)에 선언된 변수 : 멤버변수
메서드 안에 선언된 변수 : 지역(local)변수

  배열

a[n] 으로 나타냄
a변수에 저장된 값들의 수가 n개
{b, c, d, e}
a[3]의 경우 4번째인 e를 나타냄
컴퓨터는 0부터 번호를 매기기 때문
a.length : a변수에 저장된 값의 갯수 확인
없으면 0, 갯수로 표현됨

  문자열의 연산

문자열 연산자 : +만 가능
문자열 + 문자열, int, char, ... = 문자열
"문자열" : ""안에 있는 것은 문자열이라는 의미
메서드() 안에는 하나의 문자열만 넣을 수 있다
연산을 우선시하려면 괄호로 묶어주면 된다.
ex)System.out.println(100+"+"+200+"="+(100+200)); //100+200=300
\n 줄바꿈
\t 탭만큼 띄우기
\\ \표시
\' '표시
\' '표시

  식별자 규칙

식별자 규칙(naming rule)
클래스명
낙타(camel)표기법 : AbcDef, 대문자로 시작
ex) String
일부 데이터타입도 클래스에 속한다
메서드
소문자(소괄호);
ex)println();
-대문자로 되어있기도 하다
변수명
자료형 변수명;
변수 이름이 숫자로 시작하면 안된다.
_와 $을 제외한 특수문자가 들어가선 안된다.
상수
전부 다 대문자, 가독성을 위해 언더바로 연결
ex)ABC_DE_F

  자료형

기본형 8종을 제외하고는 모두 참조형이다.
자료형의 형변환
- 자료형의 크기 비교
- 데이터 형변환
1) 묵시적(암묵적) : Implicit Casting
: 범위가 넓은 데이터 형에 좁은 데이터 형을 대입하는 것
: 예> byte b = 100; int i = b ;
2) 명시적 : Explicit Casting
: 범위가 좁은 데이터 형에 넓은 데이터 형을 대입하는 것
: 형변환 연산자 사용 - (타입) 값;
: 예> int i = 100; byte b = i ; ( X ), byte b = (byte) i ; ( O )
final int MONTH_COUNT = 12;

   기본형

작은 타입의 데이터는 큰 타입에 대입할 수 있다.
long과 float타입은 L과 F를 붙여 표현해주어야 함.

    논리형

타입 논리형
데이터형 boolean
크기 1bit
기본값 false

    문자형

타입 문자형
데이터형 char
크기 2byte
기본값 null

    정수형

타입 정수형
데이터형 byte
크기 1byte
기본값 0
-128 ~ 127
데이터형 short
크기 2byte
기본값 0
-32768 ~ 32767
데이터형 int
크기 4byte
기본값 0
-2147483648 ~ 2147483647
데이터형 long
크기 8byte
기본값 0L

    실수형

타입 실수형
데이터형 float
크기 4byte
기본값 0.0F
데이터형 double
크기 8byte
기본값 0.0

   참조형

값을 직접 대입하지 않고 참조할 주소를 변수로 갖는 자료형
참조형은 데이터타입을 새로 만들어야 함
Random r = new Random();
: Random이라는 공간을 참조해 주소의 값을
r에 저장
사용자가 기본형처럼 만들 수 있는 두 가지 예외
: String

  연산자

일항연산자
+5 -2 등 양수 음수 표현
이항연산자
5+2 3*7 등 연산
삼항연산자
형태 : (조건식?값1:값2)
조건식이 참이면 값1, 거짓이면 값2
산술연산자
+ - * / %
증감연산자
++ --
배정연산자
+= -= *= /=
비교연산자
<= >= == !=
a instanceof b 객체타입 비교

배정/비교연산자는 언제나 =이 뒤에 나옴!


'Web development > JAVA' 카테고리의 다른 글

[토비의 스프링] 오브젝트와 의존관계  (0) 2021.07.23
Java-2 : 조건문&반복문  (0) 2019.01.04

댓글