스포츠마케터의 초보 개발자 도전기
JAVA study 01 본문
금토일 출장을 다녀온터지만 일요일에 잘 휴식을 해서 무리없이 아침 일찍 일어날 수 있었다.
첫 수업이라 떨리고 그런건 없었지만 오랜만에 공부라 설레기는 했다.
※JAVA / eclipse 등 프로그램 설치하기
1) 2024년 2월 기준이후 강사님 왈, 이후 다른 프로그램과의 호환성 등의 문제로 JAVA는 11버전을 인스톨하는 것이 좋다고 함.
- JAVA 설치 -> ORACLE 사이트에서 JAVA 찾아 버전/운영체제 확인하고 다운로드 후 설치
2) eclipse 도 호환성 / 안정성 등을 문제로 최신버전보다 2023.06월 버전이 더 낫다고 함.
- eclipse.org에서 운영체제, 버전 등 확인하고 다운로드 후 설치
★코드 학습 (1) Print
1) JAVA는 Project 안에 Package를 만들고 그안에 다시 Class를 만들어 코딩
Project > Package > Class
Package의 Name은 소문자로 시작
Class의 Name은 대문자로 시작
2) // 주석 : 컴파일러는 인지하지 못하는 간단한 메모 등을 작성하기 위한 코드
/**/ 다중주석 : /*과 */공간안의 내용을 모두 주석 처리
3) Class 만들고 제일 먼저 main method를 아래와 같이 작성
public static void main(Srting[] args) { }
4) System.out.println(); 괄호안의 문장, 숫자, 연산등을 표시해주는 코드
package ex1_first;
public class Ex1_print {
//-> ※주석 : 컴파일러는 인지하지 못하는 간단한 메모 등을 작성하기 위한 코드
public static void main(String[] args) {
//main method : 프로그램 실행시 가장 먼저 호출되는 영역
//System.out.println(); → 괄호안의 문장, 숫자, 연산 등을 표시해주는 코드
System.out.println("안녕하세요"); //문장은 " " 안에
System.out.println(100); //숫자는 " " 없이
System.out.println(100 + 10); // 사칙연산은 연산 값을 표시
System.out.println(50 - 15);
System.out.println("hi " + 10); //문자 + 숫자는 그대로 표시
System.out.println("2 + 2 = " + 2 + 2); //" " 뒤 + 는 이어 붙이는 용도, 연산 용도가 아님 / "ABC " - 10 처럼 뒤 + 이외 다른 연산기호는 붙이면 오류
System.out.println("2 + 2 = " + (2 + 2)); //소괄호로 묶으면 먼저 계산
System.out.println(1 + 1 + " 1 " + 1 + 1);
}
}
★코드 학습 (2) valueType
1) valueType (기본자료형)
자료형
|
코드
|
크기
|
역할
|
논리형
|
boolean
|
1bit
|
참/거짓 저장
|
문자형
|
char
|
2byte
|
''안에 한글자만 저장
|
정수형
|
byte
|
1byte
|
정수 -128 ~ 127
|
short
|
2byte
|
정수 -32768 ~ 32767
|
|
int
|
4byte
|
정수 -21억xx ~ 21억xx
|
|
long
|
8byte
|
정수 -900경 ~ 900경
|
|
상수형
|
float
|
4.x byte
|
소수점 아래까지 표현
|
double
|
8.x byte
|
소수점 아래까지 표현
|
package ex2_value_type;
public class Ex1_valueType {
//main Ctrl+space 하면 ↓
public static void main(String[] args) {
/* -> ※다중주석 : 별 두개 사이 영역 내부는 모두 주석처리된 내용*/
/*
------------------
※기본자료형 (valueType)
논리형 : boolean ........ 1bit
문자형 : char .......... 2byte
정수형 : byte .......... 1byte (-128 ~ 127)
short .......... 2byte (-32768 ~ 32767)
int .......... 4byte (-21억 ~ 21억)
long .......... 8byte (-900경 ~ 900경)
실수형 : float .......... 4.X byte
double.......... 8.X byte
*/
//※변수 : 특정 값을 저장하여 기억할 때 사용하는 식별자
//변수 선언 규칙
//자료형 변수명; (선언)
//변수명 = 값; (대입)
//자료형 변수명 = 값(초기화)
//ex> int a = 50;
//변수 선언의 규칙
//1) 숫자로 시작할 수 없다
//2) _를 제외하고 특수문자를 쓸 수 없다
//3) 한글로 이름을 짓지 않는다
//4) 의미있는 이름으로 짓자
//5) 자료형의 타입이 달라도 main영역 안에서 모두 다르게 지어져야 한다
//논리형(boolean) : 참(true)과 거짓(false)만을 저장하는 자료형
boolean b;
b = true;
b = false;
System.out.println("논리 자료형 boolean 출력 b : " + b);
System.out.println("------------------------");
//문자형 : 홑따옴표'' 안에 딱 한글자만 저장 가능한 자료형
char c = 'A';
System.out.println("문자 자료형 char 출력 c : " + c);
c = 100 + 1; //이런형태가 오류 나지 않는 이유는 ASCII CODE, 유니코드에 대입해서 나오기 때문
System.out.println("아스키코드로 변경된 거 출력 : " + c);
c = '\u0041'; //유니코드값을 입력해도 됨
System.out.println("유니코드로 변경된 거 출력 : " + c);
System.out.println("------------------------");
//정수형 : 소수점을 가지고 있지 않은 자연수를 저장하는 그릇
//byte b1 = 128; <-- byte 자료형의 표현범위를 벗어나므로 오류
byte b1 = 127;
int i1 = 2100000000;
long i2 = 2200000000L; //long 타입 사용시 int 타입과 다르게 L을 맨뒤에 붙임. 왜? int가 default기 때문에
System.out.println("byte형 출력 : " + b1);
System.out.println("int형 출력 : " + i1);
System.out.println("long형 출력 : " + i2);
System.out.println("------------------------");
//실수형 : 소수점을 가진 값을 저장하고자 할 때 사용
float f1 = 3.14F; //JAVA에서 default가 double이라 F를 맨뒤에 붙임. 실무에서는 float를 더 많이 사용
double d1 = 3.14;
System.out.println("float형 출력 : " + f1);
System.out.println("double형 출력 : " + d1);
//정수 넣으면 x.0 소수점 표시
f1 = 10;
d1 = 100;
System.out.println("float형 변경 출력 : " + f1);
System.out.println("double형 변경 출력 : " + d1);
}//main
}
★코드 학습 (3) casting
- Casting? 자료형을 변환하는 것
1) promotionCasting : 큰 자료형에 작은 자료형이 대입되는 것
package ex3_casting;
public class Ex1_promotion {
public static void main(String[] args) {
//Casting 캐스팅 (형 변환)
// 1. promotion casting 프로모션 캐스팅
// -> 큰 자료형에 작은 자료형이 대입되는 것
double d = 100.5;
int n = 200;
d = n;
System.out.println("프로모션 캐스팅 출력 1 : " + d);
char c = 'D'; //2byte
int n1 = 100; //4byte
n1 = c;
System.out.println("프로모션 캐스팅 출력 2 : " + n1); //D의 아스키코드값 68이 프로모션 캐스팅되어 출력됨
}//main
}
2) demotionCasting : 작은 자료형에 큰 자료형이 대입되는 것
package ex3_casting;
public class Ex2_demotion {
public static void main(String[] args) {
//2. demotion casting 디모션 캐스팅
//-> 작은 자료형에 큰 자료형이 대입 되는 것
char c = 'C'; //C의 아스키코드 값 67
int n = c + 1; //67 + 1 = 68
System.out.println(n);
System.out.println("--------------------");
c = (char)n; //디모션 캐스팅 할때는 형을 먼저 선언해주어야 함
System.out.println(c);//68의 아스키코드 대입값 D 출력
System.out.println("--------------------");
float f = 5.5F;
int n2 = 0;
n2 = (int)f;
System.out.println(n2); //소수점 저장이 안되서 소수점 이하는 버림
System.out.println("--------------------");
//ex) 예외적인 캐스팅의 예
int i1 = 10;
//사이즈가 더 작은 int타입도 float형태로 디모션 캐스팅이 가능
float a1 = (float)i1; //정수의 나누기 값을 소수점 아래값 등을 가져 와야할때
}//main
}
'develop > JAVA' 카테고리의 다른 글
JAVA study 05 (0) | 2024.03.05 |
---|---|
JAVA study 04 (0) | 2024.03.05 |
JAVA study 03 (1) | 2024.03.05 |
JAVA study 02 (0) | 2024.03.05 |
Prologue (0) | 2024.03.05 |