프로그래밍/java

JAVA 프로그래밍 44일차 (25/1/13)

wkun 2025. 1. 13. 17:56

contents

 

자바개념정리

 

chapter01

개발 환경 준비

chapter02

변수

데이터 타입

형변환

 

 

-------------------------------------------------

 

 

chapter01

 

개발 환경 준비

개념 응답
JDK란 무엇인가? 번역기(컴파일러)
환경변수를 설정한다는 말은 무슨 뜻인가? 전역변수로써 JDK에서 제공하는 실행 파일들을 어느 위치에서나 실행하기 위해서
이클립스란 무엇인가? 문서 작성도구
이클립스와 비슷한 툴은 무엇이있는가? VS, intellij
이클립스와 같은 툴을 사용하는 이유는 무엇인가? 오픈 소스: 무료로 사용, 다양한 플러그인을 통해 기능 확장
다양한 언어 지원: 기본적으로 Java를 지원하지만, C/C++, Python 등 다양한 프로그래밍 언어를 위한 플러그인을 설치하여 사용.
강력한 디버깅 도구: 이클립스는 코드 디버깅을 위한 강력한 도구를 제공하여, 개발자가 코드를 쉽게 분석하고 오류를 수정할 수 있도록 도와줌.
편리한 코드 자동 완성: 코드 작성 시 자동 완성 기능을 제공하여, 개발 속도를 높이고 코드의 정확성을 향상.
프로젝트 관리: 이클립스는 프로젝트를 쉽게 관리할 수 있는 기능을 제공하여, 대규모 프로젝트에서도 효율적으로 작업할 수 있음.
커뮤니티와 지원: 많은 사용자와 개발자 커뮤니티가 있어 문제 해결이나 정보 공유가 용이

 

 

chapter02

 

변수

개념 응답    
변수란? 데이터를 담아 둘 수 있는 저장공간(저장소)    
클래스란 무엇인가? 자바에서 사용하는 문서의 단위{변수, 함수}만 작성가능 => 여기서의 변수는 전역변수임(함수 안의 변수는 지역변수)    
함수란 무엇인가? 기능의 단위, 이름()의 형태를 가짐 소괄호가 중요 데이터 표시:숫자10
문자/열:'a' 한글자 "ab"한글자 이상
변수: abc
클래스를 사용하려면? 변수생성, 변수호출, 함수생성, 함수호출    
변수는 왜 써야 될까? 저장하고 재사용하기 위해    
변수를 생성하는 방법은? 1.바로 사용
int a = 1;
2.나중에 사용
int a;
a = 1;
데이터 타입 변수명 = 초기값; 
변수를 호출(사용)하는 방법은? (); 선언 후 변수 이름 사용({} 중괄호 생략)    
변수와 데이터의 차이점은? 숫자는 10, 문자/열'a', "a", 변수:abc    
변수에 데이터를 입력할 때 주의사항은? 뎦어쓰기 기존데이터는? 덮어씌어짐. 덮어쓰기 싫은 경우 다른 변수로 빼돌려야됨
중괄호가 의미하는 것은? 변수나 함수를 생성하거나 끝을 알고 있을 때의 표시 cf)끝을 알 수 없을 때: 세미콜론(;)을 사용  

 

데이터 타입

개념 응답  
데이터 타입의 종류는?
결국 다 숫자
정수: -1, 0, 100 byte
short
int
long
실수: 6.7 float
double
논리: true, false 1byte
문자:'A'(65) char(2byte)

 

형변환

개념 응답      
형변환이란? 데이터 타입을 다른 타입으로 바꾸는 것 *데이터의 왜곡이나 변형이 없어야 함
1.작은 사이즈의 변수에서 큰 사이즈는 허용됨
2.정수에서 실수로 변환은 .0만 붙으므로 허용됨

   
형변환의 종류? 자동 형변환, 명시적 형변환      
자동형변환 데이터 타입을 다른 타입으로 바꾸는 것으로 데이터가 변형되거나 손실되면 안됨 byte -> byte(x)
short(o)
int(o)
long(o)
float(o)
double(o)
char(x)
byte: 같은 타입간의 변환
정수 --> 문자로 자동변형하는 것은 허용되지 않음
 
short -> byte(x)
short(o)
int(o)
long(o)
float(o)
double(o)
char(x)
->큰사이즈에서 작은사이즈로 변형은 안됨  
int -> byte(x)
short(x)
int(o)
long(o)
float(o)
double(o)
char(x)
   
long -> byte(x)
short(x)
int(x)
long(o)
float(o)
double(o)
char(x)
   
float -> byte(x)
short(x)
int(x)
long(x)
float(o)
double(o)
char(x)
->소수점을 버리면 왜곡이 발생하므로 자동형변환 안됨(정수) 정수 -> 실수(o)
실수 -> 정수(x)

cf) float a= 10.0f (f 안쓰면 에러)
double과 구분하기 위해
double -> byte(x)
short(x)
int(x)
long(x)
float(x)
double(o)
char(x)
->소수점을 버리면 왜곡이 발생하므로 자동형변환 안됨(정수)  
char -> byte(x)
short(x)
int(o)
long(o)
float(o)
double(o)
char(o)
->작은 사이즈나 같은 사이즈는 안 받아들임(큰 사이즈만 됨)

*문자는 컴퓨터가 인식할 수 있도록 숫자 형태로 저장됨
char t = 'A'
             65

문자 -> 숫자(o)
숫자 -> 문자(x)

 

<byte>

package ch02;


public class Byte {


public static void main(String[] args) {

byte a = 10;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
short b;
int c;
long d;

b = a;
c = a;
d = a;

float e;
double f;
e = a;
f = a;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
//g = a;

}


}

 

<short>

package ch02;


public class Short {


public static void main(String[] args) {

short aa = 10;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;
//a = aa; 큰사이즈에서 작은사이즈로 변형은 안됨
b = aa;
c = aa;
d = aa;

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
//g = aa;


}


}

 

<int>

package ch02;


public class Int {


public static void main(String[] args) {

int aa = 10;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;
//a = aa; 큰사이즈에서 작은사이즈로 변형은 안됨
b = aa;
c = aa;
d = aa;

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
//g = aa;


}


}

 

<long>

package ch02;


public class Long {


public static void main(String[] args) {
long aa = 10;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;
//a = aa; 큰사이즈에서 작은사이즈로 변형은 안됨
//b = aa;
//c = aa;
d = aa;

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
//g = aa;





}


}

 

<float>

package ch02;


public class Float {


public static void main(String[] args) {
float aa = 10.0f;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;
a = aa;
b = aa;
c = aa;
d = aa;

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
g = aa;




}


}

 

<double>

package ch02;


public class Double {


public static void main(String[] args) {
double aa = 10.0;
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;
a = aa;
b = aa;
c = aa;
d = aa;

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
g = aa;




}


}

 

<char>

package ch02;


public class Char {


public static void main(String[] args) {
char aa = 'A';
//자동형변환 테스트
// 데이터의 왜곡이나 변형이 없어야 해준다
//1. 작은 사이즈의 변수에서 큰사이즈는 허용된다.
//2. 정수에서 실수로 변환은 .0만 붙으므로 허용된다
byte a;
short b ;
int c;
long d;


//a = aa;
//b = aa;
c = aa;
d = aa;
System.out.println(c);

float e;
double f;
e = aa;
f = aa;
System.out.println(e);

char g; // 정수 --> 문자로 자동변형하는 것은 허용되지 않음
g = aa;



}


}

 

<데이터 타입 종류>

package ch02;


public class exam0 {


public static void main(String[] args) {
//정수선언
byte a;
short b;
int c;
long d;
//정수 변수 초기화
a=127;//128 type mismatch오류
b=20;
c=30;
d=40L; //롱타입은 데이터에 L을 붙여도 되고 안붙여도됨(리터럴표시)
System.out.println(a);

//실수형
float aa;
double bb;
aa = 3.14f; //f 제외하면 오류남(double과 구분)
bb = 3.19;

//문자형(2byte)
char aaa = 'A';

//논리형
boolean aaaa = true; //false

}


}