빅데이터UI전문가/JAVA

[java] 빅데이터UI전문가 - day01

해요빈 2021. 8. 10. 13:59

day01

** 단축키
- windows key + R : 실행창
+ notepad : 메모장
+ cmd : dos창
+ calc : 계산기

 

** eclipse 단축키

 - Ctrl + Shift + + : 글자 커짐

                  + - : 글자 작아짐

 - Ctrl + f11 : run 실행(콘솔창)

 - Ctrl + alt + ↓ : 커서 내용 복붙

 - Ctrl + space + enter : 자동완성

 


1. 프로그래밍 언어
 1-1. 프로그래밍 언어란?
  - 프로그래밍 언어란 주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능케 하는 인공적인 언어이다. 
  - 이 언어를 통하여 사용자는 컴퓨터에게 일련의 일을 시키는 명령어들의 집합체인 프로그램을 작성할 수 있다.

 1-2. 프로그래밍 언어의 종류
   - 기계어: 컴퓨터가 이해하는 언어로서 2진수의 집합으로 구성되어 있다.
   - 고급언어: 사람이 이해할 수 있는 수준의 언어, 기계어로 변환되어야만 프로그램 형태로 실행하는 것이 가능하다.(C,C++,JAVA,C# 등)

  1-3. JAVA
   - 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어.
   - 운영체제에 독립적 
-> JVM이 설치된 환경이라면 어디서든지 실행 가능함
   - 객체지향 언어
-> 상속, 캡슐화, 다형성
-> 코드의 재사용 및 유지보수에 용이함
   - 자동 메모리 관리
-> Garbage Collector가 자동으로 메모리를 관리해준다
   - 네트워크, 분산처리, 멀티스레드
-> 시스템과 관계없이 네트워크, 분산처리, 멀티스레드 구현을 위한 손쉬운 api제공

  1-4. JAVA 프로그램이 만들어지는 과정

(그림1)

  1-5. JAVA 가상머신(Java Virtual machine/JVM)

   - 컴파일된 자바 바이트 코드를 실행시켜 주는 소프트웨어

   - 자바 프로그램은 JVM 설치된 환경이라면 운영체제나 하드웨어 종속되지 않고 실행히 가능하다.

   - 운영체제로부터 독립적이다.

   - One Source - Multi Use

(그림2)

   - 각 운영체제에 맞는 JVM잉 설치된 환경이라면, 하나의 프로그램이 영향을 받지 않고 동일하게 실행될 수 있다.

JVM2

 

2. 환경설정

 2-1. 설치유무 확인

  - Winkey + R + cmd: java -version

 2-2. 자바설치

  - JAVA : 1.8

 2-3. 이클립스 설치

 

3. 주석문

 3-1. 주석문이란?

  - 프로그램 소스코드 안에 개발자의 필요에 따라 명시하는 설명문

  - 주석문은 프로그램으로 컴파일되지 않는다.

  - 특정 명령문이 실행되지 않도록 차단하는 용도로 사용할 수 있다.

 3-2. 주석문의 종류

  - 한 줄만 처리하는 주석문

     "//"가 앞에 명시된 라인은 주석으로 인식된다.

  - 여러 줄을 처리하는 주석문

     /*

      *  프로그램 소스의 최소 단위(=class)를 명시하는 블록.
      *  -> public class 클래스 이름
      *  클래스 이름은 소스파일의 이름과 동일해야 하며, 영어/숫자/언더바(_)만 사용 가능하다.
      *  첫 글자는 반드시 영어로만 구성되어야 한다.

     */

4. 변수의 이해

 4-1. 변수의 이해

   f(x) = x + 1

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

  4-2. 자료형(data type)

   - 프로그래밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드

   - 자바에서 제공되는 자료형의 종류에는 총 8가지가 있으며, 이를 기본 자료형(Primitive Data Type)이라고 한다. 

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

   - 모든 변수는 컴퓨터의 메모리 영역에 생성된다.

   - 일반적으로 메모리란, PC에 설치하는 RAM을 의미한다.

   - 4byte의 크기를 갖는 변수값 하나를 생성할 경우, PC의 RAM에서 해당 용량만큼을 사용하게 된다.

   - 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있다. (용량을 넘어서는 경우 OutOfMemory에러 발생)

 

4-4. 문자열 데이터

  - 프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값

  - String(S는 대문자, 첫글자 대문자 주의)

  - 문자열을 표현하기 위한 자료형이다. 

  - 글자 수에 상관없이 쌍따옴표("")로 묶인 내용을 할당할 수 있다.

  - 숫자값의 경우 쌍따옴표로 묶이게 되면 문자열로 취급되므로, 숫자와 문자열을 분명하게 구별해야 한다.

 

 4-5. 변수의 사용 방법

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

  - 변수의 선언 

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

  - 변수의 할당

    -> 선언된 변수에 원하는 값을 대입하는 과정을 의미한다.

         값의 대입은 대입연산자("=")를 사용하며, 우변에서 좌변으로 대입된다.

         변수이름 = 값;

  - 사용 예 

     int num1; // 변수의 선언

     num1 = 100; // 변수의 할당

 

  - 선언과 할당의 통합(선언과 할당은 다음과 같이 한줄로 표현될  수 있다.)

    데이터형 변수이름 = 값;

  - 사용예

    int num1 = 100;

 

- 문자열 데이터

 -> String 형의 변수를 선언하고, 쌍 따옴표로 묶인 값을 대입한다.

 -> 빈 문자열이나 공백도 문자열 데이터다.

    String msg = "안녕하세요. 자바 "; // 문자를 표현(공백 포함)

    String blank = ""; // 빈 문자열 값

    String age =28"; // 숫자값이 쌍따옴표로 묶여있다면 문자열이다.

- 문자열 데이터의 덧셈

  -> 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.

   String language =" JA" + "VA"; // JAVA

  -> 문자열 + 기본자료형: 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.

  int age = 20;

  String name = "자바학생";

  String result = name + age; // "자바학생" + 20 -> "자바학생" + "20" 

                                       // -> "자바학생20"

 

 4-6. 변수이름의 명명 규칙

 - 변수 이름은 영문, 숫자, "_", "$"만 사용 가능하다.

 - 변수 이름의 첫 글자는 숫자로 시작될 수 없다.

 - 대/소문자를 엄격하게 구별하므로 오타에 주의해야 한다.

 - 자바에서 사용하는 예약어(키워드)를 사용할 수 없다. (예: boolean, char, byte, float, void, short, double, int, long, abstract)

예약어

  ex) myname -> myName, my_name(잘된 예)

 - 클래스 이름의 명명 규칙도 변수 이름의 규칙과 동일하다.

콘솔창 입력할 시 아래와 같이 팝업창 뜨는 이유 : 임시저장 파일 상태여서 

 

 4-7. 값의 할당 방법

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

    boolean isKoran = true;

    boolean isJapanes = false;

 

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

    char first = '곽';

 

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

   long money = 50000000L; 

   float pi = 3.14F;

   double lat = 128.32452D;

 

 - 생성된 변수는 다른 변수에 대입될 수 있다.

   int num1 = 100;

   int num2 = num1+;

 

 - 변수 사용의 제약

  -> 반복하여 다른 값이 할당될 수 있지만, 선언은 중복 불가

   int num1 = 200; //200

   System.out.println(num1); //200

   num1 = 500;

   System.out.println(num1); // 500

   int num1 =300; // 이미 선언된 변수이므로 에러

   -> 선언되지 않은 변수는 사용할 수 없다.

 

   int num1 = 200;

   num1 = 500;

   num2 = 700; // 선언되지 않은 변수이므로 에러

   -> 값이 대입되지 않은 변수는 변수에 대입하거나 출력할 수 없다.

 

  int num1;

  int num2 = num1; // 할당되지 않은 변수를 대입하였으므로 에러

  System.out.println( num1 ): // 할당되지 않은 변수를 출력하였으므로 에러

 

 4-8. 상수 = 변하지 않는 수

 - 변수와 마찬가지로 메모리상에 존재는 하지만, 값이 변경될 수 없는 데이터

 - fianl 키워드를 사용하여 선언된 변수는 상수로 생성된다.

   final int age = 20;

   final long money = 1200000000000L;

   final float Pl: 3.14F;

 

5. 연산자

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

 5-1. 대입연산자

   - 대입 연산자(=)는 좌변에 우변을 대입한다는 의미이다.

   - 수학에서는 "="기호가 대입한다는 의미와 같다는 의미로 함께 사용되지만, java에서의 "="기호는 "대입한다"는 의미로만 사용된다.

  - 변수에 값을 대입하는 경우 - 일반적인 변수의 할당 과정

    double PI =3.14D;

    int money = 120000;

   

  - 변수에 변수를 대입하는 경우

    int a = 3;

    int b = 

 

 5-2. 사칙(산술)연산자

    - 일반적인 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/,%)을 수행한다.

    - 사칙연산의 결과는 대입연산자를 통하여 다른 변수에 대입될 수 있다.

    - 정수(byte, short, int, long)와 실수(float, double)의 연산시에는 정수가 실수 형태로 자동 변환되어 처리되기 때문에, 결과는 실수가 된다.

    - 나눗셈에 있어서의 주의사항

    -> 10 나누기 3을 계산할 때, 수학에서는 몫3 나머지 1이라고 계산되지만, java에서는 나눗셈에 대해 두 개의 연산자로 구분된다.

   -> 10/3: 나눗셈의 몫만 취하여 결과값은 "3"이다.

   -> 10%3 : 나눗셈의 나머지만을 취하여 결과값은 1이 된다.

    - 프로그램에서의 연산은 2진수로 변환되어 이루어진다.

    실수는 2진수로의 변환이 되지 않기 때문에, 실수의 나눗셈은 오차가 발생한다.

  - 모든 수는 0으로 나눌 수 없다.   

  - 연산자 우선순위

   -> 곱셈(*)과 나눗셈(/, %)은 덧셈(+)과 뺄셈(-)보다 우선한다.

   -> 여러 연산자를 복합적으로 사용할 경우, 괄호로 묶여 있는 곳으로 우선한다.

 5-3. 단항 연산자

  - 어떤 변수(X)의 값에 대한 계산 결과를 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현이다.

  int x =100;

  x = x + 5;

  ------------ 단항 연산자 적용 ------------

  int x = 100;

  x += 5;

 

  - 단항 연산자는 모든 사칙 연산에 표현 가능

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

 

5-4. 증감 연산자

  - 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우, 덧셈과 뺄셈에 대해서는 다시 한번 축약할 수 있다.

 

  - 덧셈의 경우

      x = x + 1;

     x += 1;

     x++;

     ++x;

 

  - 뺄셈의 경우

     x = x - 1;

     x -= 1;

     x--;

     --x;

 

  - "x++"와 "++x"의 차이

   -> 증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다.

    이때, 증감연산자의 표시 위치에 따라 결과가 서로 다른게 적용된다.

 

  - x++

   -> 증감연산자가 뒤에 표시되는 경우, 현재 x의 값을 먼저 수식에 적용하고 나중에 x에 대한 1증가를 처리한다.

     int a = 100; 

     int x = 1; 

     int y = a + x++;

 

 

 

참고 사이트

- okky 사이트 : https://okky.kr/
- 구글 트렌드 : https://trends.google.co.kr/trends/?geo=KR 
- stackoverflow : https://stackoverflow.com/