프로젝트 클래스 생성하기
- HelloWorld
단축키 알아보기
- main 메서드 단축키 생성하기
- 출력하기 단축키
01_Alonejava
- 프로젝트 생성하기
환경 설정(추가)
- 자동주석 넣기
더보기
/**
* packageName : ${PACKAGE_NAME}
* fileName : ${NAME}
* author : ${USER}
* date : ${DATE}
* description :
* 요약 :
*
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* ${DATE} ${USER} 최초 생성 */
chap01./ Sec0101 객체지향 코딩 : 객체 생성해서 함수/변수 호출하는 코딩
- 실행 클래스( main 함수가 있는 클래스 : 실행 클래스 ) : JavaApplication
- 클래스(객체 정의) : 변수 / 함수가 있는 파일(업무 로직이 들어 있는 클래스)): Sec0101
* 클래스 제 3 요소
- 속성(멤버 변수)
- 생성자 함수
- 함수(멤버 메소드)
더보기
import chap01.Sec0101;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
// 메인 클래스 단축키 : main
public static void main(String[] args) {
//// TODO: 객체지향 코딩 : 객체 생성해서 함수/변수 호출하는 코딩
//// TODO: 객체 생성
//// 사용법 : 클래스명 객체변수 = new 생성자함수();
// Sec0101 sec0101 = new Sec0101();
//// 클래스명 객체변수 불러온다.
// sec0101.exam01(); // Hello World
//// 예제1)
// sec0101.exam02(); // 3
} // end of main
} // end of class
더보기
package chap01;
/**
* packageName : chap01
* fileName : Sec0101
* author : GGG
* date : 2023-09-18
* description : 업무 로직 클래스
* 요약 :
* 환경 설정 : JavaApplication ( main 함수가 있는 클래스 : 실행 클래스 )
* 클래스 ( 객체 정의 ) : 변수 / 함수가 있는 파일(업무 로직이 들어 있는 클래스)
* 툴 : 1) 파일 인코딩 ( UTF-8 )
* 2) 도움말 ( Help ) - 사용자 지정 VM 옵션
* - Dfile.encoding=UTF-8
* - Dconsole.encoding=UTF-8
* 3) 설정 - 플러그인 - 마켓플레이스
* 1) Atom Material Icons
* 2) Korean Language Pack
* 3) Rainbow Brackets
* 4) Presentation ASSistant (생략 가능)
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0101 {
/**
* Hello world 출력
*
*/
public void exam01() {
// 출력 단축키 : sout
System.out.println( "Hello World" );
}
public void exam02() {
// 예제1) x, y 정수 변수를 만들어서 덧셈결과를 화면에 출력하세요.
// 입력 : x=1, y=2
int x=1, y=2;
int result = x + y;
System.out.println( result );
}
}
chap02./ Sec0201 변수 선언, 변수 연산(값 바꾸기 swap 코딩), 변수의 허용 범위
- 변수 연산
- 값 바꾸기 swap 코딩
- 변수 : 값을 저장할 수 있는 메모리 공간
- 변수 사용 범위 : { } 안에서만 사용 가능
만약에 {} 안에 {} 있다면 변수는 안에 { } 도 사용 가능함
더보기
import chap02.Sec0201;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
//// TODO: 변수 선언, 변수 연산(값 바꾸기 swap 코딩), 변수의 허용 범위
// Sec0201 sec0201 = new Sec0201();
// sec0201.exam01();
// sec0201.exam02();
} // end of main
} // end of class
더보기
package chap02;
/**
* packageName : chap02
* fileName : Sec0201
* author : GGG
* date : 2023-09-18
* description :
* 변수 : 값을 저장할 수 있는 메모리 공간
* 변수 사용 범위 : {} 안에서만 사용 가능
* 만약에 {} 안에 {} 있다면 변수는 안에 {} 도 사용 가능함
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0201 {
public void exam01() {
// 변수 선언
int value = 20;
// 변수 연산
// 예제2) 변수 value 에 값을 10 더하는 연산을 한 후 화면에 출력하세요
int result = value + 10;
// 결과 출력 : sout
System.out.println( result );
}
public void exam02() {
// 예제3) x=3, y= 5 가 있습니다. x와 y 값을 바꾸어서 출력하세요.
// 결과 출력은 아래와 같이 출력하세요.
// 결과 : x = 5 , y = 3
// 변수의 값을 바꾸기 : swap 코딩 (임시 변수 1개 필요함)
int x = 3;
int y = 5;
// swap 코딩
int temp = x; // x의 값을 임시변수에 넣어둠
x = y; // x의 값이 overwrite 됨
y = temp; // 임시변수 값을 y에 넣음
// 결과 출력 : sout
System.out.println( "x:" + x + ", y:" + y );
}
/**
* 변수의 허용 범위 예제
*/
public void exam04() {
int v1 = 15;
if( v1 > 10 ) {
int v2;
v2 = v1 - 10;
}
// int v3 = v1 + v2 + 5; // v2 변수 사용불가라서 에러가 발생함
}
}
chap02./ Sec0202 기본 자료형(Type)
- 정수 : byte(1), short(2), int(4), long(8)
- char : 2byte 자료형 문자 1개를 의미, 홑따옴표('') 표시
- (저장시 유니코드(숫자)로 저장되고 출력 시는 문자로 출력됨)
- string(***) : 쌍따옴표("") 로 감싼 문자열을 의미
- 실수 : float(4), double(8, ***)
- boolean : 참/거짓 자료형, true/false
- 진수 사용법
- 1bit : 최소 단위, 8bit : 1byte,
- 1024byte = 1KB1024KB = 1MB, 1024MB = 1GB, 1024GB = 1TB, 1024TB = 1HB
- 2진수 표현 : 0b 붙이면 2진수(0, 1 로 표현하는 수)
- 2진수(0b 붙이면)
- 8진수(0 붙이면 8진수)
- 10진수
- 16진수(0x 붙이면 16진수)
* 특수기호 : /n, /t, ", \(이스케이프문자)
* e : 지수 표현식
더보기
import chap02.Sec0202;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
// 메인 클래스 단축키 : main
public static void main(String[] args) {
//// TODO: 기본 자료형(Type)
// Sec0202 sec0202 = new Sec0202();
// sec0202.exam01();
// System.out.println("======================");
// sec0202.exam02();
// System.out.println("======================");
// sec0202.exam03();
// System.out.println("======================");
// sec0202.exam04();
// System.out.println("======================");
// sec0202.exam05();
} // end of main
} // end of class
package chap02;
/**
* packageName : chap02
* fileName : Sec0202
* author : GGG
* date : 2023-09-18
* description : 기본 자료형(Type)
* 요약 :
* 정수 : byte(1), short(2), int(4), long(8)
* char : 2byte 자료형 문자 1개를 의미, 홑따옴표('') 표시
* (저장시 유니코드(숫자)로 저장되고 출력 시는 문자로 출력됨)
* string(***) : 쌍따옴표("") 로 감싼 문자열을 의미
* 실수 : float(4), double(8, ***)
* boolean : 참/거짓 자료형, true/false
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0202 {
public void exam01() {
// 1bit : 최소 단위, 8bit : 1byte, 1024byte = 1KB
// 1024KB = 1MB, 1024MB = 1GB, 1024GB = 1TB, 1024TB = 1HB
// 2진수 표현 : 0b 붙이면 2진수(0, 1 로 표현하는 수)
int var1 = 0b1011; // 2진수(0b 붙이면)
int var2 = 0206; // 8진수(0 붙이면 8진수)
int var3 = 365; // 10진수
int var4 = 0xB3; // 16진수(0x 붙이면 16진수)
// 결과 : sout, 줄복사 : ctrl + d
System.out.println("var1 : " + var1); // 11
System.out.println("var2 : " + var2); // 134
System.out.println("var3 : " + var3); // 365
System.out.println("var4 : " + var4); // 179
}
public void exam02() {
long var1 = 10; // 정수 8byte
long var2 = 20L; // L 붙여면 long 자료형
// 결과 출력
System.out.println(var1); // 10
System.out.println(var2); // 20
}
public void exam03() {
// 아스키 코드
char c1 = 'A';
char c2 = 65;
// 결과 출력
System.out.println(c1); // 문자를 직접 저장
System.out.println(c2); // 십진수 저장 => 'A'
}
public void exam04() {
String name = "홍길동";
String job = "프로그래머";
// 결과 출력
System.out.println(name); // 홍길동
System.out.println(job); // 프로그래머
}
/**
* 특수기호 : /n, /t, ", \(이스케이프문자)
*/
public void exam05() {
System.out.println("번호\t이름\t직업"); // 탭문자 // 번호 이름 직업
System.out.println("행 단위 출력\n"); // 줄바꿈 문자 // 행 단위 출력(다음 행 띄움)
System.out.println("우리는\"개발자\" 입니다."); // \" 사용 // 우리는"개발자" 입니다.
System.out.println("봄\\여름\\가을\\겨울"); // \\ 사용 // 봄\여름\가을\겨울
/**
* 실수 : float(4), double(8, ***)
*/
float var2 = 3.14f; // float 사용시 끝에 f 붙임
double var3 = 3.14; // double
// 결과 출력
System.out.println(var2); // 3.14
System.out.println(var3); // 3.14
/**
* e : 지수 표현식
*/
double var6 = 3e6;
double var7 = 2e-3;
// 결과 출력
System.out.println(var6); // 3000000.0
System.out.println(var7); // 0.002
}
}
chap02./ Sec0203 자료형 변환
- 자동 자료형 변환
- 실수 자동 형변환
- 강제 형변환
- 아스키 코드(숫자) 변환 : 아스키코드(숫자) -> 문자로 변환
- 문자열 + 숫자 = 문자열
- 결합 연산 : 우선 순위 연산으로 결과 값이 상이할 수 있음
- 문자열 -> int 자료형 변경 : Integer.parseInt("값")
- int -> 문자열 변경
- 문자열 -> int 자료형 변경
- int -> 문자열 변경 :
더보기
import chap02.Sec0203;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
// 메인 클래스 단축키 : main
public static void main(String[] args) {
//// TODO: 자료형 변환
// Sec0203 sec0203 = new Sec0203();
// sec0203.exam01();
} // end of main
} // end of class
더보기
package chap02;
/**
* packageName : chap02
* fileName : Sec0203
* author : GGG
* date : 2023-09-18
* description : 자료형 변환
*
* 요약 :
* 자동 타입 변환 : 자동으로 자료형이 변환되는 것 : 작은(byte) 자료형 -> 큰 자료형
* 강제 타입 변환 : 강제로 자료형 변환 : 사용법 : (자료형)변수명, 큰자료형- > 작은자료형
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0203 {
public void exam01() {
byte byteValue = 10; // 1byte 정수형
// TODO: 자동 자료형 변환 : int(4byte)
int intValue = byteValue;
// 결과 출력 : sout, 줄복사 : ctrl + d
System.out.println("intValue : " + intValue); // intValue : 10
// TODO: 실수 자동 형변환 : double(8byte) <- float(4byte)
float floatValue = 100.5F;
double doubleValue = floatValue;
// 결과 출력
System.out.println("doubleValue : " + doubleValue); // doubleValue : 100.5
}
/**
* TODO: 강제 형변환 예제
* 참고) 아스키 코드 변환 : char 변수 <- int 값 : 아스키코드 -> 문자로 변환
* int 값 <- char : 아스키코드 변환 <- 문자
*/
public void exam02() {
// TODO: 아스키 코드(숫자) 변환 : 아스키코드(숫자) -> 문자로 변환
char alpha = 65;
int beta = 'A';
// 결과 출력
System.out.println(alpha); // A
System.out.println(beta); // 65
int intValue = 44032; // int(4byte), char(2byte)
char charValue = (char) intValue; // 강제 형변환
// 결과 출력
System.out.println(charValue); // 가
// double(8) -> int(4) 강제 형변환
double doubleValue = 3.14;
int intValut2 = (int) doubleValue;
System.out.println(intValut2); // 3
}
/**
* TODO: 문자열 + 숫자 = 문자열
*/
public void exam03() {
// TODO: 결합 연산 : 우선 순위 연산으로 결과 값이 상이할 수 있음
String str1 = 10 + 2 + "8";
System.out.println(str1); // 128
String str2 = 10 + "2" + 8;
System.out.println(str2); // 1028
String str3 = "10" + (2 + 8);
System.out.println(str3); // 1010
}
/**
* TODO: 문자열 -> int 자료형 변경 : Integer.parseInt("값")
* TODO: int -> 문자열 변경 :
*/
public void exam04() {
// TODO: 문자열 -> int 자료형 변경
int value1 = Integer.parseInt("10"); // 문자열 -> 정수
double value2 = Double.parseDouble("3.14"); // 문자열 -> 실수
boolean value3 = Boolean.parseBoolean("true");// 문자열 -> 참/거짓
System.out.println(value1);
System.out.println(value2);
System.out.println(value3);
// TODO: int -> 문자열 변경 :
String str1 = String.valueOf(10); // 속도 빠름
String str2 = "" + 10;
String str3 = String.valueOf(3.14);
String str4 = String.valueOf(true);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str4);
}
}
chap02./ Sec0204 키보드 입력
- System.out.println() : 화면에 출력하고 줄바꿈 함수
- System.out.print() : 화면에 출력하는 함수
- System.out.printf("%d %s %f",정수변수, 문자열변수, 실수변수)
- Scanner : 콘솔 입력을 받기 위한 클래스(객체 정의) - 한라인 입력 받기 함수 : .nextLine();
- 공백까지 입력 받기 함수 : .next()
- 참고) nextInt(), nextDouble() 등
- 입력 받기 : System.in (키보드 입력)
- 입력된 문자열이 q 가 들어오면 반복문 종료하게 코딩
- 비교 연산자 사용 .equals
- 문자열.equals("문자열2") : 같으면 true, 아니면 false
- break;
더보기
import chap02.Sec0204;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
// 메인 클래스 단축키 : main
public static void main(String[] args) {
//// TODO: 키보드 입력 (System.in)
// Sec0204 sec0204 = new Sec0204();
// sec0204.exam01();
} // end of main
} // end of class
더보기
package chap02;
import java.util.Scanner;
/**
* packageName : chap02
* fileName : Sec0204
* author : GGG
* date : 2023-09-18
* description :
* 요약 : sout
* System.out.println() : 화면에 출력하고 줄바꿈 함수
* System.out.print() : 화면에 출력하는 함수
* System.out.printf("%d %s %f",정수변수, 문자열변수, 실수변수)
* Scanner : 콘솔 입력을 받기 위한 클래스(객체 정의)
* 한라인 입력 받기 함수 : .nextLine();
* 공백까지 입력 받기 함수 : .next()
* 참고) nextInt(), nextDouble() 등
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0204 {
public void exam01() {
// TODO: 입력 받기 : System.in (키보드 입력)
Scanner scanner = new Scanner(System.in);
String inputData; // 입력 문자열
while (true) {
inputData = scanner.nextLine(); // 1라인 입력받기
System.out.println("입력된 문자열: " + inputData);
// TODO: 코드를 완성하세요.
// ( 입력된 문자열이 q 가 들어오면 반복문 종료하게 코딩하세요 )
// TODO: ※비교 연산자 사용 .equals
// 문자열.equals("문자열2") : 같으면 true, 아니면 false
if (inputData.equals("q") == true) {
System.out.println(" 종료 ");
break;
}
}
}
}
chap03./ Sec0301 연산자
- 산술 : +, -, *, /, %(나머지 연산자)
* / 나눗셈 개선 코딩 : 강제 형변환 후 계산해야함
- 부호 : +, -
- 문자열 붙이기 : +
- 대입 : =, +=, -=, /=, %=
- 증감 : ++, --
- 비교 : ==, !=, >, <, >=, <=(1문자 비교, 숫자비교), instanaceof
- ※ 문자열 비교 : 문자열.equals(문자열2)
- 논리 : !(not), &, |,(비트연산자), &&,(논리곱) ||(논리합)
- 삼항 : (조건식)? A : B
- 우선순위 필요하면 () 쓸 것 : () 최고 우선순위
더보기
import chap03.Sec0301;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
//// TODO: 연산자
// Sec0301 sec0301 = new Sec0301();
// sec0301.exam01();
// sec0301.exam02();
// sec0301.exam03();
// sec0301.exam04();
// sec0301.exam05();
// sec0301.exam06();
// sec0301.exam07();
// sec0301.exam08();
} // end of main
} // end of class
더보기
package chap03;
import java.util.Scanner;
/**
* packageName : chap03
* fileName : Sec0301
* author : GGG
* date : 2023-09-18
* description : 연산자
* 요약 :
* 산술 : +, -, *, /, %(나머지 연산자)
* 부호 : +, -
* 문자열 붙이기 : +
* 대입 : =, +=, -=, /=, %=
* 증감 : ++, --
* 비교 : ==, !=, >, <, >=, <=(1문자 비교, 숫자비교), instanaceof
* TODO: 문자열 비교 : 문자열.equals(문자열2)
* 논리 : !(not), &, |,(비트연산자), &&,(논리곱) ||(논리합)
* 삼항 : (조건식)? A : B
* 우선순위 필요하면 () 쓸 것 : () 최고 우선순위
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Sec0301 {
public void exam01() {
// TODO: 부호연산자
int x = 100;
int result1 = +x;
int result2 = -x;
System.out.println(result1); // 100
System.out.println(result2); // -100
}
public void exam02() {
// TODO: 반대값(!)
boolean paly = true;
// 결과 출력
System.out.println(paly); // true
paly = !paly;
// 결과 출력
System.out.println(paly); // false
}
/**
* TODO: 사칙연산 예제 : /(나눗셈) 조심
*/
public void exam03() {
int v1 = 5;
int v2 = 2;
int result = v1 + v2;
System.out.println(result); // 7
// TODO: 나눗셈
int result2 = v1 / v2;
System.out.println(result2); // TODO: 결과 : 2 정수/정수 => 실수 부분이 잘림
// TODO: 나눗셈 개선 코딩 : 강제 형변환 후 계산해야함
double result3 = (double) v1 / (double) v2; // TODO 결과 : 2.5 실수 부분
// double result3 = (double) v1 / v2; // 위 코드와 같은 결과
System.out.println(result3);
}
// TODO: 연습문제 : 1010 : 정수 1개를 입력받아 그대로 출력하기
// 입력 : 5
// 힌트 : .next(), .nextLine()
public void exam04() {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력해주세요");
System.out.println(scanner.next());
}
// TODO: 연습문제 : 1014 : 문자 2개 입력받아 순서 바꿔 출력하기(설명)
// 입력 : a b
// 출력 : b a
// 힌트 : .next()
public void exam05() {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력해주세요");
String str1 = scanner.next(); // 공백까지 입력받기 #1
String str2 = scanner.next(); // 공백까지 입력받기 #2
System.out.println( str2 + ", " + str1 );
}
/**
* char : 내부적으로 정수로 저장됨(유니코드 : 아스키코드 확장판(한글, 중국어 등을 표시)
*/
public void exam06() {
char c1 = 'A' + 1; // char(정수) : 'B' ('A" 아스키코드(65) + 1 = 66)
char c2 = 'A';
// 결과 출력
System.out.println(c1);
System.out.println(c2);
}
// TODO: 연습문제3) char 이용하는 문제
// 값이 'A' 로 주여져 있습니다. 'A' 대문자이면 대문자이군요 라고 출력하고
// 소문자이면 소문자이군요 라고 출력하고
// 숫자이면 숫자이군요 라고 출력하세요.
public void exam07() {
Scanner scanner = new Scanner(System.in);
int charCode = 'A'; // 값이 주어져 있음 (65)
// TODO: 아래 코딩을 완성하세요
// TODO: 대문자 : 65(A) ~ 90(Z)
if (charCode >= 65 && charCode <= 90){
System.out.println("대문자이군요 " + charCode);
// TODO : 소문자 : 97(a) ~ 122(z)
} else if (charCode >= 97 && charCode <= 122) {
System.out.println( "소문자이군요 " );
// TODO : 숫자 : 48(0) ~ 57(9)
} else if ((charCode >= 48) && (charCode <= 57)){
System.out.println(" 숫자이군요 " );
} else {
System.out.println( "다른 문자군요" );
}
}
/**
* 연습문제 : 정수 1개가 주어진다. 2와 3의 배수이면 2 또는 3의 배수이군요
* 아니면 2 또는 3의 배수가 아니군요
*/
public void exam08() {
int value = 6;
// TODO: 아래 코딩을 완성하세요
if ((value % 2 == 0) || (value % 3 == 0)){
System.out.println( " 2 또는 3의 배수이군요" );
} else {
System.out.println( " 2 또는 3의 배수가 아니군요" );
}
}
} // end of class
chap03./ Verifu03 연습문제
- 나눗셈을 결과 / 무한대 출력
- 원의 넓이 ( 반지름 * 반지름 * 3.14 ) / double 사용
- 중첩 if문 사용
더보기
import chap03.Verifu03;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
// 메인 클래스 단축키 : main
public static void main(String[] args) {
// TODO : 연습문제
Verifu03 verifu03 = new Verifu03();
// verifu03.exam01();
// verifu03.exam02();
// verifu03.exam03();
} // end of main
} // end of class
더보기
package chap03;
import java.util.Scanner;
/**
* packageName : chap03
* fileName : Verifu03
* author : GGG
* date : 2023-09-18
* description : 연습문제 자바 파일
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Verifu03 {
TODO : 클래스 제 3 요소
TODO : 속성(멤버 변수)
TODO : 생성자 함수
TODO : 함수(멤버 메소드)
/**
* 문제1) 두 실수를 입력받아서 나눗셈을 결과를 출력하세요.
* 단, 두번째 수가 0일 경우 "무한대" 로 출력하세요
* 입력 : 9
* 3
* 출력 : 3.0
*/
public void exam01() {
Scanner scanner = new Scanner(System.in);
System.out.println("첫 번째 수를 입력해주세요");
String input1 = scanner.next(); // 문자열 입력 -> 실수로 변환
System.out.println("두 번째 수를 입력해주세요");
String input2 = scanner.next(); // 문자열 입력 -> 실수로 변환
double input1_num = Double.parseDouble(input1);
double input2_num = Double.parseDouble(input2);
if (input2_num != 0.0) {
System.out.println("결과 : " + (input1_num / input2_num));
} else {
System.out.println("결과 : 무한대");
}
}
/**
* 문제2) 원의 넓이를 구하시요. ( 반지름 * 반지름 * 3.14 )
*/
public void exam02() {
int var1 = 10; // 반지름
// TODO: *(double) : 3.14 가 실수여서 생략 가능하나, 정수였으면 (double)
double value = (double) var1 * var1 * 3.14;
System.out.println("원의 넓이 : " + value);
}
/**
* 문제3) 아이디와 패스워드를 각각 입력받아 아이디가 "java"가 아니면
* "로그인 실패:아이디가 존재하지 않음"을 출력하세요.
* 2) 아이디가 "java" 이면, 패스워드를 체크해서 패스워드가 12345이면 "로그인 성공" 출력하고,
* 패스워드가 12345가 아니면 "로그인 실패:패스워드가 틀림"을 출력하세요.
* 힌트 : 중첩 if문 쓰기
*/
public void exam03() {
Scanner scanner = new Scanner(System.in);
// 아이디 입력
System.out.println("아이디 : ");
String input_name = scanner.nextLine();
// 패스워드 입력
System.out.println("패스워드 : ");
String password = scanner.nextLine(); // 숫자로 들어온다고 가정
int input_password = Integer.parseInt(password); // 숫자 패스워드
if(input_name.equals("java")) {
if(input_password == 12345) {
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패:패스워드가 틀림");
}
} else {
System.out.println("로그인 실패 : 아이디가 존재하지 않음");
}
}
} // end of class
'Java' 카테고리의 다른 글
[Java] chapter_06 (0) | 2023.09.20 |
---|---|
[Java] chapter_04 ~ 05 (0) | 2023.09.19 |
[JAVA] 자료형과 변수의 기본 문법언어 특성 및 소스 코드 구성 (0) | 2023.08.20 |
[JAVA] 언어 특성 및 소스 코드 구성 (0) | 2023.08.20 |
[java] Object 클래스 - 모든 클래스의 최상위 클래스 (0) | 2023.08.11 |