2024-07-11 DAY-2

보히·2024년 7월 11일

국비교육 2일차
1.한글 환경세팅
-이클립스 접속 후 window->preferences->enc검색->여기서 6개 쭉 UTF-8로 한글 설정!

2.이클립스 단축키 유용한 것들
-한 줄 삭제 : ctrl+d
-변수복사 : ctrl+space
-한 줄 복사 : ctrl + alt + 방향키
-코드라인이동 : alt + 방향키

  1. 소스코드 파일 구문 분석
    -소스코드는 블록간의 중첩으로 구성된다
    -하나의 블로 = {...} 대 괄호 안에 소스코드 입력
    -블록안에 명시되는 명령어는 세미콜론(;)으로 문장의 끝을 표현한다
    -Syntax error -> 자바 문법오류
    -System.out.println(); : 괄호 안에 내용을 콘솔창에 출력하겠다는 명령어

  2. 주석문
    4-1. 주석문이란?
    -프로그램 소스코드안에 개발자의 필요에 따라 명시하는 설명문
    -주석문은 컴파일 되지 않는다
    -특정 명령문이 실행되지 않도록 차단하는 용도

    4-2. 주석문의 종류
    -한 줄만 처리하는 주석문 : 앞에 // 써주면 된다.
    -여러 줄을 처리하는 주석문
    /*

                이 안에 내용들은 주석으로 처리할 수 있다.
                
                
              */
             
  3. 변수
    -다양한 종류의 자료를 표현할 수 있는 값을 변수라고 부르며, 일반적으로 웹 페이지에서 처리하고자 하는 데이터에 해당한다.

    5-1. 자료형(data type)
    -프로그래밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드
    -자바에서 제공되는 자료형의 종류는 총 8가지 이다. 이를 기본 자료형(Primitive Date Type)라고 한다.
    논리형
    (1) blooean : true와 false를 할당하는 변수
    정수형
    (2) byte :
    (3) short :
    (4) int :
    (5) long :
    실수형
    (6) float :
    (7) double :
    문자형
    (8) char :
    5-2. 자료형이 가지는 의미
    -모든 변수는 컴퓨터의 메모리 영역에 생성된다.
    -4byte의 크기를 갖는 변수값 하나를 생성할 경우, pc의 RAM에서 해당 용량만큼을 사용하게된다
    -변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있다.(용량을 넘어서는 경우 OutOfMemomry발생)

    5-3. 문자열 데이터
    -프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값
    -Stringd으로 선언
    -문자열을 표현하기 위한 자료형(첫 글자 대문자 주의)
    -글자 수에 상관 없이 쌍따옴표("")로 묶인 내용을 할당할 수 있다.
    -만약 숫자값의 경우 쌍따옴표로 묶이게 되면 물자열로 취급, 숫자와 문자열은 분명하게 구별해야 한다.

6.변수의 사용

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

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

			데이터형 변수이름;
            int num;
            int price;
            String username;
            -->여기서 변수이름을 가독성 좋게 만들어야돼
            

6-3. 변수의 할당
-선언된 변수에 원하는 값을 대입하는 과정을 의미한다.
-값의 대입은 대입연산자(=)를 사용하여, 우변에서 좌변으로 대입된다.

			변수이름 = 값;
            num = 100;
            price = 35000;
            usrname = "자바킴"
            

6-4. 변수의 선언과 할당 통합
-선언과 할당의 통합

			데이터형 변수이름 = 값;
            int num1 = 100;
            int num2 = 200;
            

package value;

public class Main01 {

public static void main(String[] args) {
	// 변수의 선언
	int num1;
	// 변수의 할당
	num1 = 100; 
	System.out.println(num1);

	num1 = 200; //변수의 재할당
	System.out.println(num1);
	}

}
//출력값:100
:200

6-5. 문자열 데이터
-String 형의 변수를 선언하고, 쌍 따옴표로 묶인 값을 대입
-빈 문자열이나 공백도 문자열 데이터이다.

			// 공백포함 문장
            String msg = "안녕하세요, 자바";
            // 빈 문자열 값
            String blank ="";
            // 숫자값이 쌍따옴표로 묶였다면 문자열이다.
            String age = "20";

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

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

6-7. 변수 이름 명명 규칙
-변수 이름은 영문, 숫자, "_","$" 만 사용 가능하다.
-변수 이름의 첫 글자는 숫자로 시작될 수 없다.
-대/소문자를 엄격하게 구별하므로 오타에 주의한다.(num1과 Num1은 완전 다른 변수)
-자바에서 사용하는 예약어(키워드)를 사용할 수 없다.
-myname, (myName, my_name user_input, userPassword)-> 이렇게 사용함

6-8. 값의 할당 방법
-boolean은 true(참), false(거짓) 중의 한 가지만 갖는다.
boolean isKorean = ture;
boolean isJapanese = false;
-char는 홑따옴표('')로 감싸진 한 글자만 대입할 수 있다.

            char first = '보';
            

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

			long money = 500000000;(x)
            long money = 500000000L;(0)
            float PI = 3.14F;(0)
            double lat = 128.231231D(0)
            

6-9. 변수 사용의 제약

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

           int num1 = 100;
           num1 = 200; // 변수 재할당
           int num1 = 300; //임 num1의 선언된 변수이므로 에러
           

(2) 선언되지 않은 변수는 사용할 수 없다.

           int num1 = 100;
           num1 = 200;
           num2 = 300; // 선언되지 않은 변수이므로 에러
           

(3) 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.

int num1;
int num2 = num1; // 할당되지 않은 변수를 대입해서 오류
System.out,println(num1); // 할당되지 않은 변수를 출력해서 오류

(4) 생성된 변수는 다른 변수에 대입될 수 있다.

           int num1 = 100;
           int num2 = num1;
           

package value;

public class Main02 {

public static void main(String[] args) {

	//각 할당되는 변수설정
	int t = 250;
	char s = '가';
	boolean z = true;
	
	//변수 출력
	System.out.println(t);
	System.out.println(s);
	System.out.println(z);
	System.out.println("-------------------");
	
	//할당되는 변수 설정
	long num1 = 12333132;
	double num2 = 123.5D;
	float num3 = 3.14F;
	
	//변수 출력
	System.out.println(num1);
	System.out.println(num2);
	System.out.println(num3);
	System.out.println("----------------");
	
	//문자열 변수성정
	String x = " java ";
	int y = 10;
	
	System.out.println(x+y);
	
	//문자열+문자열
	String language = "JA"+"BA";
	System.out.println(language);
	System.out.println("----------------");

	int age = 20;
	boolean iskorean = true;
	String name = "자바학생의 나이:";
	String name2 = "한국인 인가?";
	String result = name+age;
	String result2 = name2+iskorean;
	System.out.println(result);
	System.out.println(result2);
	

}

} //결과값:12333132
123.5

  1. 상수

    7.1 상수 = 변하지 않는 수
    -변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터
    -final 키워드를 사용하여 선언된 변수는 상수로 생성된다.

       ->final를 앞에 사용하는 순간 변수는 재할당이 불가능하다.(읽기전용)
       final int age = 20;
       final float PI = 3.14F;
       

    -메모리상에 이름이 생성되므로 접근은 가능하지만, 할당한 값을 변경할 수는 없다.

      final int age = 20;
      age = 21;	//상수의 값을 변경하므로 에러
      

package value;

public class Main03 {

public static void main(String[] args) {

	//일반변수
	int width = 100;
	//상수
	final double PI= 3.14D;
	
	System.out.println("width = "+ width);
	System.out.println("PI = "+ PI);
	
	// 값의 변경
	width =200;
	//상수 값이라서 재할당에 오류 생성
	//PI = 3.141582D; 
	
	System.out.println("width = "+ width);
	System.out.println("PI = "+ PI);
	
	
	

}

}

  1. 연산자
    -프로그램에서 연산을 수행하기 위하여 사용되는 특수기호 8-1. 연산자의 종류 (1) 대입 연산자(=)
    : 변수에 숫자나 문자열 등의 자료를 입력하거나 연산 결과를 다른 변수에 할당 (2) 사칙 연산자
    : 덧셈(+), 뺄셈(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%) (3) 단항 연산자
    : 변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용한다. (4) 증감 연산자
    : 특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬 경우 사용한다. (5) 비교 연산자
    : 두 개의 변수값 간의 관계를 비교하여 참(true)이나 거짓(false)의 결과를 반환한다. (6) 논리 연산자
    : 좌변과 우변을 논리 연산하다, 참일때는 true, 거짓일때는 false 값을 반환한다. 8-2. 사칙 연산자
    -일반적인 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(%)을 수행
    -사칙연산의 결과는 대입 연산자를 통하여 다른 변수에 대입될 수 있다.
    -10 나누기 3을 계산
    ->10/3 : 몫만 취하면 3
    ->10%3 : 나머지만 취하여 1
    -모든 수는 0으로 나눌 수 없다.
    package operator;

public class Main01 {

public static void main(String[] args) {
	int num1 = 12;
	int num2 = 8;
	
	int result1 = num1 + num2;
	
	System.out.println("12 + 8 = " + result1);
	
	int result2 = num1 - num2;
	int result3 = num1 * num2;
	int result4 = num1 / num2;
	int result5 = num1 % num2;
	
	System.out.println("12 - 8 = " + result2);
	System.out.println("12 * 8 = " + result3);
	System.out.println("12 / 8 = " + result4);
	System.out.println("12 % 8 = " + result5);
	
	

}

}

package operator;

public class Main02 {

public static void main(String[] args) {
	// 나눗셈
	int num1 = 7;
	int num2 = 3;
	int result = num1 / num2;
	
	System.out.println("7 / 3 = " + result);
	
	// 0으로 나누기
	int zero = 0;
	int result2 = num1 / zero; //여기서 오류 발생
	
	System.out.println("7 / 0 = " + result2);

}

}

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

 		int x = 100;
        x = x + 5;		// x = 105
        
        int x = 100;
        x += 5; 		// x = 105

-단항 연산자는 모든 사칙 연산자에 표현이 가능하다.
-->+=, -=, *=, /=, %=

package operator;

public class Main03 {

public static void main(String[] args) {
	int source = 100;
	
	source += 100; //source = source + 100; 200
	System.out.println(source);
	source -= 50; // 150
	System.out.println(source);
	source *= 2; // 300
	System.out.println(source);
	source /= 100; // 3
	System.out.println(source);
	source %= 2; // 1
	System.out.println("source = " + source);

}

}

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

-덧셈의 경우
(1) x = x + 1;
(2) x+= 1;
(3) x++;
(4) ++x;

-뺄셈의 경우
(1) x = x-1;
(2) x-= 1;
(3) x--;
(4) --x;

package operator;

public class Main04 {

public static void main(String[] args) {
	int plus_num = 1;
	plus_num = plus_num + 1;
	plus_num += 1;
	plus_num++;
	++plus_num;
	
	System.out.println(plus_num);
	
	int minus_num = 5;
	minus_num = minus_num - 1;
	minus_num -= 1;
	minus_num--;
	--minus_num;
	
	System.out.println(minus_num);
	
	

}

}

8-5. x++과 ++x의 차이 (x의 증가되는 시점이 다르다)
-증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다.
-이 때, 증감 연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.

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

             int a =100;
             int x =1;
             int y = a + x++;
             // y:101, x:2 (x가 y값을 먼저 수식하고 x값이 증가한다)

-++X
:증감 연산자가 앞에 표시되는 경우 먼저 현재 X의 값을 1 증가 시킨 후, 그 결과를 수식에 적용한다.

			int a = 100;
            int x = 1;
            int y = a + ++x;
            // y:102, x:2
 
         

0개의 댓글