2022.08.26
https://forms.gle/jqJav8ENxR1cYV648
// https://docs.oracle.com/javase/8/docs/
// https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
// https://www.eclipse.org/downloads/packages/release/2020-06/r
// 환경변수 등록
1. 시스템 환경변수 편집
2. 시스템 변수 -> 새로만들기
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_202
3. 시스템 변수 -> Path 편집
-> 새로만들기 : %JAVA_HOME%\bin
// 확인
cmd -> java -version
cmd -> javac -version
변수
- 시작은 문자, $, _ - 대소문자 구분 - 첫번째 문자는 소문자 시작 - 개발시 의미있는 이름으로 지정 - 단어가 이어지는 경우 대문자로 구분 - 자바 예약어는 주의 - https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html// 데이터 타입
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
[기본]
1. 패키지(package) : 비슷한 클래스를 모아둔 자바의 디렉토리
- 소문자와 .으로 명명
- 외부 패키지(클래스) 사용 - import 패키지명.클래스명
생성자(Constructor) : 객체 생성을 위한 필수 요소
메소드(Method) : 기능 수행을 위해 요소
}[학습]
1. 변수(Variable) : 하나의 값을 저장할 수 있는 메모리 공간
- 구조
타입 변수명; - 선언
변수명 = 값; - 할당
= > 타입 변수명 = 값; - 초기화
- 구분
1. 타입
1-1. 기본(primitive) 타입
- 형태와 사이즈(크기)로 구분
정수 byte(8), short(16), int(32), long(64)
기본값 0
- 2^(n-1) ~ 2^(n-1) - 1
실수 float(32), double(64)
0.0
(3.4 X 10-38) ~ (3.4 X 1038)
(1.7 X 10-308) ~ (1.7 X 10308)
문자 char(16)
\u0000
음수의 범위 없이 유니코드 ( 0 ~ 65535) 범위
논리 boolean(8)
false
1-2. 참조(reference) 타입
- 객체의 주소값을 참조하는 타입
문자열(String), 배열(Array), 클래스(Class), 인터페이스(Interface)
사용자 정의
null
2. 위치
2-1. 로컬(local) 변수
- 위치 : 코드블럭 / 생성자, 메소드의 매개변수
- 생성자와 메소드를 호출시 사용가능
2-2. 멤버(클래스) 변수
- 위치 : 클래스{ 바로 하단
- 객체 생성시 기본값으로 초기화 및 사용 가능
- 호출
1. static 변수 / 메소드
2. non-static 변수 / 메소드
// Ex03Operation.java
// 숫자 연산
// 기본 연산 : +, -, *, /, %
System.out.println("===기본연산===");
int v1 = 10;
int v2 = 3;
// System.out.println(v1 + v2);
// System.out.println(v1 - v2);
// System.out.println(v1 * v2);
// System.out.println(v1 / v2);
// System.out.println(v1 % v2);
// 증감 연산 : ++, --
System.out.println("===증감연산===");
// System.out.println(v1);
// System.out.println(v1++);
// System.out.println(v1);
// System.out.println(++v1);
// System.out.println(v1);
//
// 3.33.... 으로 출력?
// // 논리 연산 : &&, ||, ^, !
System.out.println("===논리연산===");
boolean t = true;
boolean f = false;
// && : 모든 연산자가 true라면 결과도 true
// System.out.println(t & t);
// System.out.println(f & f);
// System.out.println(t & f);
// System.out.println(f && t);
// || : 연산자중 하나만 true라도 결과는 true
// System.out.println(t || t);
// System.out.println(f || f);
// System.out.println(t || f);
// System.out.println(f || t);
// ^ : 연산자 하나는 true, 다른 하나는 false일때 결과는 true
// System.out.println(t ^ t);
// System.out.println(f ^ f);
// System.out.println(t ^ f);
// System.out.println(f ^ t);
// ! : 논리값을 변경 (t -> f, f -> t)
// System.out.println(f);
// System.out.println(!f);
// 비교연산 : <, >, <=, >=, ==, !=
System.out.println("===비교연산===");
int num1 = 1;
int num2 = 10;
// System.out.println(num1 == num2);
// System.out.println(num1 != num2);
//
// double num3 = 1.0;
// System.out.println(num1 == num3);
// 대입연산 : =, +=, -=, ...
System.out.println("===대입연산===");
// int assign = 0;
// System.out.println(assign);
// assign += 10;
// System.out.println(assign);
// assign -= 5;
// System.out.println(assign);
// assign *= 5;
// System.out.println(assign);
// https://6kkki.tistory.com/8
// condition
/* 조건문(Condition) : 주어진 조건이 참일 경우, 주어진 기능 수행
1. if문
- 문법
if(조건식) {
수행 코드;
...
}else if(조건식){
수행 코드;
...
}else {
수행 코드;
}
- 종류
1. if : 조건이 하나인 경우
2. if -else : 조건이 하나, 조건이 거짓 -> else 블럭의 코드가 실행
3. if -else if -else... : 조건이 여러개
...
default:
수행 코드;
}*//*반복문(Loop)
1. for문 : 반복 횟수가 정확할 때
- 구조
for(변수 선언과 초기화; 조건식; 증감식){
수행 코드;
...
}
- 종류
1. 기본 for문
2. for Each문
for(타입 변수 : 데이터 저장객체){
수행 코드;
...
}
while문 : 반복 횟수가 불명확 또는 무한
do ~ while문 : 반복 조건 검증전 한번 실행후, while문
- 구조
초기식;
do{
실행 로직, 증감식;
}while문(조건식);
*/
/* 참조 타입
- 참조할 객체가 없을 경우, NullPointerException 발생 /* 객체 생성// Ex04Static.java
/* 정적(Static)
- static 타입 변수 - static 리턴타입 메소드class Student {
String name;
int age;
Student() {}
Student(String name, int age) {
this.name = name;
this.age = age;
}
String getName() {
return name;
}
int getAge() {
return age;
}
void setAge(int age) {
if (age > 0) {
this.age = age;
}else {
System.out.println("지정한 나이로 update 할수 없음");
}
}
}