(03/23/09) 정부 후원 풀스택 개발자 과정 – 2일차

입력하다

코스 2일차입니다. 수업은 오전 9시 30분에 시작합니다. 나는 약 한 시간 일찍 교실에 도착하여 어제 배운 것을 복습했습니다. 32개 전공 중 5개 전공이 있다고 합니다. 전공과 상관없이 개인의 능력차이가 있었다. 모든 사람에게 달려있는 것 같습니다.


수업 내용


변수 선언 및 초기화

변수를 선언하는 방법에는 세 가지가 있습니다.

첫 번째 방법

변수를 먼저 선언하고 선언된 변수의 값을 초기화하는 방법

int num; //타입 변수명; 변수 선언
num = 10; // 변수명 = 값;  초기화

변수를 선언할 때 먼저 변수의 종류를 지정한 다음 변수 이름을 지정합니다. 정수형, 실수형, 논리형, 문자열 등 다양한 종류가 있는데, 위의 예에서 int는 데이터형이고 num은 임의의 변수명입니다. int 유형의 num이라는 저장소가 작성됩니다. 여기서 우리는 num이라는 변수를 선언했다고 말하고 있습니다. 오류를 방지하려면 명령문 끝에 세미콜론을 추가해야 합니다. 다음으로 변수를 초기화합니다. 초기화란 처음으로 변수에 값을 저장하는 것을 말합니다. 변수를 초기화할 때 변수 이름 뒤에 등호(=)를 사용하여 값을 지정합니다.

num이라는 변수에 값 10을 할당하여 초기화했습니다. 초기화 없이 지역 변수를 사용할 경우 컴파일 오류가 발생할 수 있으니 주의하세요.

두번째 방법

선언시 변수를 초기화하는 방법

int num = 10;// 변수 선언과 함께 초기화

위와 같이 변수 선언과 동시에 초기화도 가능합니다.

세 번째 방법

동일한 유형의 여러 변수를 한 번에 선언하는 방법

int num1,num2=100,num3;

쉼표(,)로 구분하여 여러 변수를 한번에 선언하고 초기화할 수 있습니다. 단, 여러 변수를 동시에 선언할 경우 데이터 타입이 같아야 합니다.

메모

값을 변경할 수 있는 변수는 항상 = (할당(할당)) 연산자 왼쪽에 나타나야 합니다. 값 또는 값을 저장하는 변수는 오른쪽에 있어야 합니다.

Java에서 변수를 선언할 때 다음 명명 규칙이 적용됩니다.

1. 변수 이름에는 영문, 숫자, 밑줄(_), 달러 기호($)를 사용할 수 있습니다. 변수 이름은 영문자로 시작해야 하며 대소문자를 구분합니다.

2. 변수명은 예약어로 사용하지 않는다. 예약어는 이미 특정 의미로 사용되어 다른 용도로 사용할 수 없는 단어를 말합니다. 예를 들어 int, float, boolean 등은 Java에서 이미 타입 이름으로 사용되기 때문에 변수 이름으로 사용할 수 없습니다.

2. 변수 이름은 의미 있는 이름을 지정해야 합니다. 변수에 역할이나 의미를 나타내는 이름을 지정하면 코드를 더 쉽게 이해할 수 있습니다.

3. 변수 이름은 카멜 케이스 표기법을 따릅니다. 카멜 표기법은 여러 단어로 된 변수 이름에서 첫 단어를 제외한 나머지 단어의 첫 글자를 대문자로 하여 변수 이름을 만드는 방법입니다. 예를 들어 numberOfStudents 및 phoneNumber와 같은 변수 이름을 만들 수 있습니다.

4. 클래스 변수 및 상수는 대문자이며 단어 사이에 밑줄(_)로 구분됩니다. 예를 들어 MAX_NUMBER와 같은 변수 이름을 작성할 수 있습니다.

5. 변수 이름의 길이는 적절하게 설정해야 합니다. 변수 이름이 너무 짧으면 의미를 이해하기 어렵고 변수 이름이 너무 길면 코드가 지저분해집니다. 변수 이름의 길이는 보통 10자 이내로 쓰는 것이 좋습니다.

(자바의 명명규칙)
int 1num; // (x), 
int value#; // (x) 
int underbar_,dollar$; //(o)
int class; (x) //  예약어
int cLass; (o) // 엄격한 대소문자 구분

변수 유형

변수는 값을 저장하는 데 사용되며 각 변수에는 데이터 유형이 있습니다. 자바에서 사용할 수 있는 변수의 종류에는 기본형 변수와 참조형 변수가 있다. 기본 변수가 먼저 학습되고 참조 변수가 나중에 학습된다고 합니다.

기본 유형 변수의 유형

  • 정수 유형: byte, short, int, long
  • 리얼 타입: 플로트, 더블
  • 문자 유형: 문자
  • 논리적 유형: 부울

프리미티브 타입의 변수는 해당 값을 직접 저장합니다. 예를 들어 int number = 10으로 값을 지정하면 정수 변수의 경우 정수 데이터 10이 number 변수에 저장됩니다.

참조 유형 변수
참조 변수는 개체의 주소를 저장합니다. Java에서는 클래스, 인터페이스 및 배열이 참조 변수로 사용됩니다. 참조 변수는 개체가 생성된 후 개체의 주소를 변수에 저장합니다.


정수

Java에는 여러 유형의 정수가 있습니다. 유형마다 사용 가능한 범위와 메모리 크기가 다릅니다.

  • 바이트 : 1바이트의 메모리를 사용하며 -128에서 127까지의 값을 저장할 수 있습니다.
  • 짧은 : 2바이트의 메모리를 사용하며 -32,768에서 32,767까지의 값을 저장할 수 있습니다.
  • 내부 : 4바이트의 메모리를 사용하며 -2,147,483,648에서 2,147,483,647까지의 값을 저장할 수 있습니다. Java에서 가장 일반적으로 사용되는 정수 유형입니다.
  • : 8바이트의 메모리를 사용하며 -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지의 값을 저장할 수 있습니다. long 유형은 int 유형보다 더 넓은 범위의 값을 저장할 수 있습니다.
byte b1; // 변수선언
byte = 128; // (x) 128은 int형 상수로 대입이 불가능하다.

데이터 유형 연산 규칙

Java 언어는 서로 다른 데이터 유형을 지원하며 이들 간에 작업이 가능합니다. 이 경우 작동 규칙이 있습니다.

동일한 데이터 유형 간의 작업
동일한 데이터 유형의 변수와 상수를 자유롭게 사용할 수 있습니다. 예를 들어 int 변수 간의 덧셈 연산(int + int)이 가능합니다.

연산 결과는 동일한 데이터 유형입니다. 단계, int 타입보다 작은 데이터 타입(byte, short, char) 간의 연산 결과는 자동으로 int 타입으로 변환되어 계산된다. 기본 데이터형 중 숫자형의 정수형의 대표적인 데이터형이 int이기 때문이다. 전. int(4byte) + short(2byte) = int(4byte)

연산 결과를 byte, short, char로 사용하려면 타입 변환이 필요하다.

byte a = 10, b = 20;
byte c = (byte) (a + b); 

short x = 100, y = 200;
short z = (short) (x + y);

서로 다른 데이터 유형 간의 작업
다른 데이터 유형의 변수 또는 상수도 처리할 수 있습니다.Java는 데이터 손실을 방지하기 위해 자동으로 유형 변환(캐스팅)을 수행합니다. 작은 데이터 유형에서 큰 데이터 유형으로 자동 유형 변환이 수행됩니다. 예를 들어, int와 double(int + double) 사이의 덧셈 연산은 int를 double로 자동 변환하여 수행됩니다.

유형 변환 작업
서로 다른 데이터 유형 간의 유형 변환을 통해 작업을 수행할 수 있습니다. 이 경우 ‘유형 변환 연산자’가 사용됩니다.

int intValue = 10;
double doubleValue = 3.14;

double result = (double) intValue + doubleValue;// (형변환 연산자) 사용

연습 1

국어, 영어, 수학 점수와 총점을 저장할 수 있는 변수 4개를 선언합니다(int형 사용). 국어 90점, 영어 89점, 수학 79점 국영수 점수와 총점을 출력하세요.

설명

더보기

int kor,eng,math,total;
kor = 90;
eng = 89;
math = 79;
total = kor + eng + math;
System.out.println("국어:"+kor+",영어:"+eng+",수학:"+math+",총점:"+total);

콘솔 출력: 한국어: 90, 영어: 89, 수학: 79, 총점: 258


실수

실수의 대표적인 데이터 타입은 Double입니다. 소수점이 추가되면 항상 double형으로 인식됩니다. 그러나 소수점이 없는 값은 float에 저장할 수 있습니다. 정수형과 실수형 사이에서 연산을 하면 연산 결과가 실수형이 된다(실제형은 정수형보다 큰 컨테이너라는 점 참고). 정수형(long): 8바이트, float(실수형): 4바이트. 두 개를 더하면 플로트가 됩니다.

//long형과 float형 연산결과는??
long ln = 100;
float f1 = 200;
//long ln1 = ln + f1; (x) long형과 float형 연산결과는 float이다. 

//해결방법1) 연산결과인 float형에 저장
float f2 = ln + f1; //(o)

//방법2)연산결과를 long형으로 형변환
long ln1 = (long)(ln + f1);

//방법3)f1만 long형으로 형변환
		ln1 = ln+(long)f1;

//tip)주로 소수점 이하를 제거하고자 할때 int 형으로 형변환하면 된다.
float kor=99,eng=80,math=96;
float avg = (kor+eng+math)/3; 
System.out.println("평균:"+avg);
System.out.println("평균(소수점제거):"+(int)avg);

소수점이 없는 값은 float 형식으로 저장할 수 있습니다.

float f3 = 3.14; //(x) 3.14는 double형 상수
float f3 = 100;// (o) int형 상수 100을 float형 변수 f3에 저장

float 유형에 실수가 포함될 수 없습니까?

f3=(float)3.14; // 방법1. 형변환하는 방법
f3=3.14F;//방법2.실수 숫자뒤에 f나 F를 붙혀준다(권장)

연습 2. 반지름이 10인 원의 넓이를 구합니다. 그런데 그 넓이를 저장하는 변수는 세 가지(int/float/double)가 있습니다.
데이터 유형으로 저장하고 인쇄하고 소수점을 제거하십시오. 그러나 아래의 반지름과 파이 변수를 사용하여 찾으십시오.( 원의 면적: 반지름 * 반지름 * 3.14)

설명

더보기

int radius = 10;
double pi = 3.14;
//면적을 저장하는 변수
int iarea;
float farea;
double darea;
		
iarea = (int)(radius*radius*pi); 
System.out.println("iarea="+iarea);
farea = radius*radius*(float)pi;
System.out.println("farea="+(int)farea);
darea = radius*radius*pi;
System.out.println("darea="+(int)darea);