-
2023년 05월 24일 공부 내용 정리 ( java~)국비 교육 내용 정리 2023. 5. 24. 16:53
=> 개인 노트북으로 복습!!!
* 수업 내용 백업 파일 업로드 하는방법
기존 파일 마우스 우클릭 COPY -> 바탕화면 붙여넣기
-> 이클립스 실행 후 import project -> general -> 경로 선택
위의 네모 체크해야함! -> 우클릭 properties 을 해준후 resource 들어가서 경로 제대로 들어갔는지 확인
* 수업 요점
1. 언어이해
2. 웹 이해
3. 프로젝트
* 설치 ( ~Spring 까지 갈 예정)
1. 이클립스 17 ( 최신꺼 다운받으면 스프링 가서 문제 생김)
- 2022-12월 윈도우 버전 다운로드
create a project 클릭-> java project 생성 -> project name 작성! -> create module 해제 -> 실행!
-> 밑에 작업표시줄에 아이콘 고정 하기~
2. jdk
★ 기억하랏
- 자바 저장 하는 공간은 워크 스페이스라고 함
- 자바는 시스템에 독립적이다.
★인스턴스(주소) 에가면 클래스가 있다.
★인스턴스는 변수에 저장한다.
★클래스 안에는 변수와 메소드가 있다.
1.클래스는 첫문자 항상 대문자
2.변수와 메소드는 첫문자 항상 소문자
★자바의 자료형
1. 기본자료형 (boolean,char,byte,short,int,long,float,double)// 배열전
: Value O
2. 참조자료형 // string 들어가면 사용~
: instance O
★ 소스의 위치
1. 기본적으로 자바는 src 밑에 있음
2. package 생성
3. class 생성
4. main 은 main + ctrl + space)임
★ 기본적으로 자바는 정수를(소수점x) 넣으면 기본적(리터럴)로 넣으면 int type 이 됨.
< - > 소수점o double임
ex)1.float f1 =1.0 쓰면 안됨.. double 써야함
해결책은 float f1 = 1.0f;
2. double d1 = 1.0;
3. doubl3 d12 = 1;
ex) 어떤 플랫폼 썻어요?
: open jdk 에서 17버전을 썼습니다~ 이클립스 00 versison을 썼고 웹은 톰캣(자바)을 썼습니다.
또한 파이썬의 웹 애플리케이션의 장고를 사용했습니다.
- casting ? 형변환이라 한다.
* 코딩 실습 1
package ch02_var;
public class VarEx1 {
public static void main(String[] args) {
//변수의 선언 및 초기화
byte b1 = -22;
byte b2; // 변수의 선언. b2 저장공간 메모리 1바이트(8bit) 할당.
// 바이트로 저장할 수 있는 값의 범위. -128 ~ 127 저장가능
b2= -128; //변수의 초기화
b1=127;
short s1 = -220;
int il = 100;
long ll = 1000; //auto cating
System.out.println(b1);
}
}
출력값 : 127
package ch02_var;
public class VarEx1 {
public static void main(String[] args) {
//변수의 선언 및 초기화
byte b1 = -22;
byte b2; // 변수의 선언. b2 저장공간 메모리 1바이트(8bit) 할당.
// 바이트로 저장할 수 있는 값의 범위. -128 ~ 127 저장가능
b2= -128; //변수의 초기화
b1=127;
short s1 = -220;
int il = 100;
long ll = 1000; //auto cating
//System.out.println: 화면에 값을 출력.
System.out.println("b1=" + b1); // b1=-22
System.out.println("s1="+s1);
System.out.println("il="+il);
System.out.println("ll="+ll);
}
}
출력값:
b1=127
s1=-220
il=100
ll=1000
package ch02_var;
public class VarEx1 {
public static void main(String[] args) {
//변수의 선언 및 초기화
byte b1 = -22;
byte b2; // 변수의 선언. b2 저장공간 메모리 1바이트(8bit) 할당.
// 바이트로 저장할 수 있는 값의 범위. -128 ~ 127 저장가능
b2= -128; //변수의 초기화
b1=127;
short s1 = -220;
int il = 100;
long ll = 1000; //auto cating
//System.out.println: 화면에 값을 출력.
System.out.println("b1=" + b1); // b1=-22
System.out.println("s1="+s1);
System.out.println("il="+il);
System.out.println("ll="+ll);
float f1 =1.0f;
double d1 = 1.0;
double d12 = 1d;
System.out.println("f1=" +f1);
System.out.println("d1=" +d1);
System.out.println("d12=" +d12);
/*
* 실수형 리터럴의 기본자료형은 double 임
* float 리터럴로 표시하기 위해서는 접미사를 붙여야 한다.
* F,f : float 리터럴
* D,d : double 리터럴
* L,l : long 리터럴
*/
}
}
출력값:
b1=127
s1=-220
il=100
ll=1000
f1=1.0
d1=1.0
d12=1.0
* 코딩 실습 2
용량 참고 정수형 : byte, short, int, long
정수형 datatype의 표현 가능한 범위
- byte 변수명; // -128 ~ 127
- short 변수명; // -32768 ~ 32767
- int 변수명; // -2,147,483,648 ~ 2,147,483,647
- long 변수명; // -9223372036854775808 ~ 9,223,372,036,854,775,807(long에는 대입하려는 데이터옆에 l혹은 L을 붙여도되고 생략 가능)
실수형 : float, double
실수형 datatype의 표현 가능한 범위
- float 변수명; // 1.40129846432481707e-45 ~ 3.40282346638528860e+38(float에는 대입하려는 데이터옆에 f또는 F 붙여야하고 생략불가능)
- double 변수명; //4.94065645841246544e-324d ~ 1.79769313486231570e+308d(double에는 대입하려는 데이터옆에 d또는 D를 붙여도 되고 생략 가능)
-> 주의! double, long형은 데이터 뒤에 l,L,f,F를 생략가능함
float형을 쓸 때는 반드시 데이터를 대입할 때 데이터 끝에 f또는 F를 붙여줘야 한다.
<코드값> : 캐스팅은 마우스를 갖다대면 오토캐스팅 진행이됨!
package ch02_var;
public class VarEx2 {
/*
* 형변환 예제
* 큰자료형<=작은 자료형: 자동형변환
* 작은자료형 <= 큰자료형: 명시적 형변환
* byte(1) < short(2) < int(4) < long(8) < float(4) < double(8) char(2)
* A=B : 같다 의 의미가 아니고, 대입의 의미임.
* B의 값을 A에 입력함.
* left value(A) : 대입연산자의 왼쪽의 값. 반드시 변수여야함.
* right value(B) : 대입연산자의 오른쪽의 값, 변수, 리터럴, 수식 가능
*/
public static void main(String[] args) {
int a = 10;
char aa = 'a';
//1. 참조형과 기본형은 형변환 불가
String s = "a"; // " ":문자열,String, ' ':문자, char
// s = 'a'; // 참조형인 String 기본형인 char 형이 변환 불가.
// 2. 기본형 사이에 boolean을 제외한 7개는 서로 형변환이 가능함
byte b1 =(byte) 255; //byte가 255보다 용량이 작기때문에 (byte) 선언함, 마우스 대면 자동 변환됨!
int i1 = b1;
byte b2 =(byte) i1;
System.out.println("b1:"+b1+", i1="+i1);
byte b3 = 100;
System.out.println("b3=" + b3);
출력값:
b1:-1, i1=-1
b3=100
c2=
s1=65
charint=charint
<코드값>
package ch02_var;
public class VarEx3 {
public static void main(String[] args) {
// 정수(10) 리터럴은 int
// 실수(10.0) 리터럴은 double
byte b1 = 10;
short s1 = 20;
int i1 = 100;
long l1 = 1000;
i1 = b1; //int(4byte) <= byte(1byte) auto casting type
s1 =(short) l1; //auto casting type
float f = l1;
l1 = (long) f;
}
}
* 코딩 실습 3
<코드값>
package ch02_var;
public class VarEx4 {
public static void main(String[] args) {
System.out.println("합:"+1+2+3); // 스트링은 기본형을 만나면 스트링값으로 바뀐다
System.out.println(1+2+3 + "합"); // 반대로 생각해보면 되겠지요?
String aaa = 111+""; //aaa가 기본형이고 111은 스트링값이다. 근데 111도 기본형이고 싶다 하면 뒤에 +"" 를 붙여 주면 된다!
}
}
<결과값>
합:123
6:합
* 코딩 실습4 ( 마이너스값 처리 방법)
<코드값>
package ch02_var;
public class VarEx6 {
public static void main(String[] args) {
byte b1 = -1;
byte b2 = -10;
byte b3 = -128;
System.out.println(b1+": "+Integer.toBinaryString(b1));
System.out.println(b2+": "+Integer.toBinaryString(b2));
System.out.println("9="+Integer.toBinaryString(9));
System.out.println(b3+":"+Integer.toBinaryString(b3));
System.out.println("127:"+Integer.toBinaryString(127));
}
}
<결과값>
-1: 11111111111111111111111111111111
-10: 11111111111111111111111111110110
9=1001
-128:11111111111111111111111110000000
127:1111111
<코드값>
public class VarEx77 {
public static void main(String[] args) {
byte b1 = (byte) 255;
int i1 = b1; //-1
System.out.println("b1:"+b1+", i1="+i1);
char c1 = 'A';
short s1 = (short) c1;
char c2 = (char) b1; //-1
System.out.println("b1="+b1); //-1
System.out.println("c2="+c2); //대입문자 없음
/*
* 1111111111111111 char : 2byte
* - 111111111111111
* =================
* 0
* 보수 + 1 값은 1 이고 sign bit 1이여서 -1이 된다
*/
System.out.println("s1="+s1); // A의 문자의 int 값
int charint = c2; // 1111111111111111
System.out.println("charint="+charint+" , c2="+c2);
System.out.println("65535:"+Integer.toBinaryString(c2));
}
}
<결과값>
b1:-1, i1=-1
b1=-1
c2=
s1=65
charint=65535 , c2=
65535:1111111111111111
* 오늘의 퀴즈
//1. 잘못된 문장을 골라내고 그 이유를 설명하시오.
package ch02_var;
public class ExVar01 {
public static void main(String[] args) {
char a='a';
char b="a";
String c="a";
String d='a';
char e='ab';
String f="ab";
char g = '';
String h = "";
}
}
<정답>
package ch02_var;
public class ExVar01 {
public static void main(String[] args) {
char a='a';
char b='a';
String c="a";
String d="a";
char e='a'; // 문자 한개만 가능함
String f="ab";
char g = 'a'; // 문자 한개만 가능함
String h = "";
}
}
//2. 잘못된 문장을 골라내고 그 이유를 설명하시오.
public class DataEx02 {
public static void main(String[] args) {
byte var1 = 128;
short var2 = 128;
int var3 = 128L;
long var4 = 128L;
float var5 = 123456.789123;
double var6 = 123456.789123;
}
}
<정답>
//3. 잘못된 문장을 고쳐서 에러가 발생하지 않도록 수정하시오.
public class DataEx03 {
public static void main(String[] args) {
byte var1 = 127;
short var2 = 128;
int var3 = 128;
long var4 = 128;
var4 = var1;
var1 = var3;
float var5 = 1.0;
double var6 = 1.0;
var5 =var6;
var6 = var5;
}
}
<정답>
'국비 교육 내용 정리' 카테고리의 다른 글
2023년 05월 26일 공부 내용 정리 ( java~ 퀴즈 정리하긔) (0) 2023.05.26 2023년 05월 25일 공부 내용 정리 ( java~ 퀴즈 정리하긔) (1) 2023.05.25 2023년 05월 23일 공부 내용 정리 (MYSQL,json) (0) 2023.05.23 2023년 05월 22일 수업 내용 (0) 2023.05.22 2023년 05월 19일 수업 내용 (1) 2023.05.19