day02

김비오·2023년 1월 19일
0
post-thumbnail

🔎1. 소스파일 구문 분석

  • 소스는 블록간의 중첩으로 구성된다
  • 하나의 블록 = {...}
  • 블록안에 명시되는 명령어는 세미콜론(;)으로 문장의 끝을 표현한다.

🔎2. 주석문

2-1. 주석문 이란?

(컴파일 되지 않고 개발자들끼리만 볼 수 있는 부가 설명 같은 개념)
(ex = 버그가 생기면 버그 수정날짜를 기록해둠)
  • 프로그램 소스코드 안에 개발자의 필요에 따라 명시하는 설명문
  • 주석문은 프로그램으로 컴파일 되지 않는다.
  • 특정 명령문이 실행되지 않도록 차단하는 용도로 사용할 수 있다.

2-2. 주석문의 종류

  • 한 줄만 처리하는 주석문
    // "//"가 앞에 명시된 라인은 주석으로 인식

  • 여러 줄을 처리하는 주석문
    /
    이 블록 안에서는 여러 라인을 주석으로 처리 할 수 있다.
    /

🔎3. 변수의 이해

3-1. 변수란

  • 다양한 종류의 자료를 표현할 수 있는 값을 변수라도 부르며,
    일반적으로 웹 페이지에서 처리하고자 하는 "데이터"에 해당한다.

3-2. 자료형(data type)

  • 프로그램밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드
  • 자바에서 제공되는 자료형의 종류에는 8가지가 있다.
    이를 기본 자료형(Primitive Data Type)이라 한다.

3-3. 자료형이 가지는 의미

  • 모든 변수는 컴퓨터의 메모리 영역에 생성된다.
  • 일반적으로 메모리란, PC에 설치하는 RAM을 의미한다.
  • 4byte의 크기를 갖는 변수 값 하나를 생성할 경우,
    PC의 RAM에서 해당 용량만큼을 사용하게 된다.
  • 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있다.
    (용량을 넘어서는 경우 OutOfMemory에러를 발생)

3-4. 문자열 데이터

  • 프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값
  • String
  • 문자열을 표현하기 위한 자료형이다.
  • 글자 수에 상관 없이 쌍따옴표("")로 묶인 내용을 할당할 수 있다.
  • 글자값의 경우 쌍따옴표로 묶이게 되면 문자열로 취급되므로,
    숫자와 문자열을 분명하게 구별해야 한다.

3-5. 변수의 사용 방법

  • 변수를 사용하는 방법은 "선언"과 "할당"의 두 영역으로 구분된다.

  • 변수의 선언
    -> 선언은 데이터형과 사용하고자 하는 변수의 이름을 정한 수,
    세미콜론(;)으로 한 라인을 종료
    데이터형 변수이름;
    int num;

  • 변수의 할당
    -> 선언된 변수에 원하는 값을 대입하는 과정
    -> 값의 대입은 대입연산자(=)를 사용하여
    우변에서 좌변으로 대입된다.
    변수이름 = 값;
    num = 100;

  • 선언과 할당의 통합
    데이터형 변수이름 = 값
    int num2 = 200;

  • 문자열 데이터
    -> string 형의 변수를 선언하고, 쌍따옴표로 묶인값을 대입한다.
    -> 빈 문자열이나 공백도 문자열 데이터이다.
    String msg = "안녕하세요. 자바";
    -> 문장을 표현(공백 포함)
    String blank = "";
    -> 빈 문자열 값
    String age = "20";-> 숫자값이 쌍따옴표로 묶였다면 문자열이다.

  • 문자열 데이터의 덧셈
    -> 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.
    string language = "JA" + "VA";
    -> "JAVA"

    string language = "JA" + " VA"; >(공백이 있으면 공백도 표시됨)
    -> "JA VA"

  • 문자열 + 기본자료형
    -> 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.
    int age = 20;
    String name = "자바학생";
    String result = name + age;
    -> "자바학생" + 20
    -> "자바학생20"

  • 변수 이름의 명명 규칙
    -> 변수 이름은 영문, 숫자, "_", "$"만 사용 가능
    -> 변수 이름의 첫 글자는 숫자로 시작될 수 없다.
    -> 대/소문자를 엄격하게 구분, 오타에 주의
    -> 자바에서 사용하는 예약어(키워드)를 사용할 수 없다.
    -> 클래스 이름의 명명 규칙도 변수 이름의 규칙돠 동일하다.

3-6. 변수의 할당

  • long, float, double은 다른 데이터형과의 구별을 위해
    값 뒤에 데이터 형의 첫 글자를 접미사로 가질 수 있다.
    접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는 것이 좋다.

    long money = 5000000000L;
    float PI = 2.14F;
    double lat = 128.32452D;

  • boolean은 true(참), false(거짓)중의 한 가지만 갖는다.

    boolean user = true;
    boolean is Japanes = false;

  • char는 홑따옴표('')로 감싸진 한 글자만 대입할 수 있다.

    char first = '곽';

3-7. 값의 할당 방법

  • 생성된 변수는 다른 변수에 대입될 수 있다.
	int num1 = 100;
	int num2 = num1;


	int num1 = 100;
	num1 = 200;                   
  • 반복하여 다른 값이 할당 될 수 있지만, 선언은 중복 불가 (에러)
    int num1 = 100;
	num1 = 200;                        
	int num1 = 300;  <<  //에러
  • 선언되지 않은 변수는 사용할 수 없다.
	num1 = 200;
	num2 = 300; << //에러
  • 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.
    int num1; int그릇을 선언만 했기에 문제x
    int num2 = num1; // 에러(선언만 하고 값을 할당이 안 돼서 문제)
    System.out.println(num1); // 에러

3-8. 상수(final) = 변하지 않는 수

  • 변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터
  • final 키워드를 사용하여 선언된 변수는 상수로 생성된다.
	final int age = 20;
	final long money = 12000000L;
	final float pi = 3.14F;
  • 메모리상에 이름이 생성되므로 접근은 가능하지 만,
    할당한 값을 변경할 수는 없다.(읽기전용)
	final int age = 20;
	age = 21;                  // 에러

상수는 대문자로 작성하는 암묵적인 약속(age -> AGE)

🔎4. 연산자

4-1. 연산자

  • 프로그램에서 연산을 수행하기 위하여 사용되는 특수기호들

4-2. 대입연산자

  • 변수에 숫자나 문자열 등의 자료를 입력하거나 연산 결과를 다른 변수에 할당한다.

4-3. 사칙 연산자

  • 더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%)
  • 10나누기 3을 계산할 때, 수학에서는 몫이 3, 나머지1이라고 계산이 된다.
  • 10 / 3 -> 나눗셈의 몫만을 취하여 결과값은 "3"이다.
  • 10 % 3 -> 나눗셈의 나머지만을 취하여 결과값은 1이 된다.
  • 모든 수는 0으로 나눌 수가 없다.

4-4. 단항 연산자

  • 변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용
  • 다시 자기 자신에게 대입하고자 하는 경우의 약식표현이다.
	int x = 100;
	x =x +5;
              ---------------------------------------------------
              int x = 100;
              x + = 5;
  • 단항 연산자는 모든 사칙 연산자에 표현 가능하다.

    +=, -=, *=, /=, %=

4-5. 증감 연산자

  • 특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬 경우 사용
  • 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우,
    덧셈과 뺄셈에 대해서는 다시 한번 축약할 수 있다.
  • 덧셈의 경우
	x = x + 1;                         >단항 연산자
	x += 1;                             >단항 연산자
	x++;                                 >증감 연산자
	++x;                                 >증감 연산자
  • 뺄셈의 경우
	x = x - 1;
	x -= 1;
	x--;
	--x;
  • x++와 ++x의 차이
    -> 증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다.
    이 때 , 증감연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.

  • x++ 경우(계산이 모두 끝난 후에 1이 증가 된다.)
    -> 증감연산자가 뒤에 표시되는 경우, 현재 x의 값을 먼저 수식에 적용하고,
    나중에 x에 대한 1 증가처리를 한다.

	int a = 100;
	int x = 1;
	int y = a+ x++;	           // 100 + 1
	system.out.println(y);           // y : 101, x : 2
  • ++x 경우(1을 포함해서 계산이 된다.)
    -> 증감연산자가 앞에 표시된 경우 먼저 현재 x의 값을 1증가 시킨 후,
    그 결과를 수식에 적용한다.
	int a = 100;
	int x = 1;
	int y = a + ++x;
	system.out.println(y);		// y : 102, x : 2

4-6. 비교 연산자

  • 두 개의 변수값 간의 관계를 비교하여 참(true)이나 거짓(false)의 결과를 반환한다.
  • 연산기호
     같다		==
     다르다		!=
     초과		>
     이상		>=
     미만		<
     이하		<=
   - 주어진 식이 참인지 거짓인지 판별 가능하므로, 연산 결과는 boolean 값으로 생성된다.

	int x = 100;
	int y = 1;
	boolean r = x 비교연산자 y;

4-7. 논리 연산자

  • 좌변과 우변을 논리 연산하고, 참일때는 true, 거짓일때는 false값을 반환한다.
  • 두개 이상의 비교 연산자의 결과나 boolean 값에 대해
    추가로 "AND"나 "OR"연산을 수행하여 결과를 얻는다.
  • AND의 의미를 갖는 &&

-> "&&" 연산자 두 개의 boolean값을 비교하여
모두 true인 경우에만 결과값이 true


  • OR의 의미를 갖는 ||(\ <- 쉬프트 누른 것)

-> || 연산자는 두 개의 boolean값을 비교하여
둘 중 하나라도 true인 경우 결과값 true이다.

--> T AND T = T , T AND F = F , F AND T = F , F AND F =F

--> T OR T = T , T OR F = T , F OR T = T , F OR F = F

🔎5. 형변환(Casting)

5-1. 형변환이란?

  • 변수의 자료형이 변환되는 것을 의미한다.
  • 특정 자료형의 값을 다른 자료형의 변수에 대입할 수 있다.
  • 암묵적 형변환과 명시적 형변환의 두 종류가 있다.

5-2. 암묵적 형변환

  • 암묵적 형변환은 서로 다른 자료형을 연산 혹은 대입하는 경우,
    java 컴파일러가 자료형을 통일한다.
    이 과정에서 발생하는 형변환을 암묵적 형변환이라고 한다.

int a = 100; // 정수형
float b = a; // 정수형을 실수형에 대입

  • 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미한다.

5-3. 명시적 형변환

  • 데이터의 손실을 감수하더라도, 강제로 형변환 시키는 형태

    자료형 b = (변환할 자료형)a;

  • 실수형을 정수형으로 변환하는 경우, 소수점 이하 자리는 버려진다.

    double a = 3.14d;
    int b = (int)a; // 3


👉단축키

D:\gb_kbo\java\workspace.metadata폴더 = 이클립스 설정값 파일


ctrl + spacebar = 예약어 단축키

ex :sysout입력후 > ctrl + spacebar = System.out.println(자동 완성)


ctrl + alt + 방향키 = 그 커서의 라인이 복사해서 입력이 됨

profile
멋쟁이

0개의 댓글