클래스 만들기


실행 (shift + f10)

새 프로젝트

기본 틀

파일 및 코드 템플릿 설정
파일 및 코드 템플릿 포함에
밑에 코드 붙여넣기
/**
* packageName : ${PACKAGE_NAME}
* fileName : ${NAME}
* author : ${USER}
* date : ${DATE}
* description :
* 요약 :
*
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* ${DATE} ${USER} 최초 생성 */



JavaApplication.java
import chap01.Sec0101;
import chap02.Sec0201;
import chap02.Sec0202;
import chap02.Sec0203;
import chap02.Sec0204;
import chap03.Sec0301;
import chap03.Verify03;
/**
* packageName : PACKAGE_NAME
* fileName : JavaApplication
* author : GGG
* date : 2023-09-18
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class JavaApplication {
public static void main(String[] args) {
// 객체 생성
// 사용법: 클래스명 객체변수 = new 생성자함수();
Sec0101 sec0101 = new Sec0101();
// sec0101.exam01(); // Hello World
// sec0101.exam02(); // 3
// 객체지향 코딩 : 객체 생성해서 함수/변수 호출하는 코딩
Sec0201 sec0201 = new Sec0201();
// sec0201.exam01(); // Hello World
// sec0201.exam02(); // Hello World
// Alt + Enter 눌러 import
Sec0202 sec0202 = new Sec0202();
// sec0202.exam01();
// sec0202.exam03();
// sec0202.exam04();
// sec0202.exam05();
// sec0202.exam06();
// sec0202.exam07();
Sec0203 sec0203 = new Sec0203();
// sec0203.exam01();
// sec0203.exam02();
// sec0203.exam06();
// sec0203.exam07();
Sec0204 sec0204 = new Sec0204();
// sec0204.exam05();
Sec0301 sec0301 = new Sec0301();
// sec0301.exam01();
// sec0301.exam03();
// sec0301.exam04();
// sec0301.exam05();
// sec0301.exam06();
// sec0301.exam07();
// sec0301.exam09();
// sec0301.exam10();
Verify03 verify03 = new Verify03();
verify03.exam01();
verify03.exam02();
verify03.exam03();
}
}
Sec0101.java
package chap01;
/**
* packageName : chap01
* fileName : Sec0101
* author : GGG
* date : 2023-09-18
* description : 업무 로직 클래스
* 요약 :
* 환경 설정 : JavaApplication ( main 함수가 있는 클래스 : 실행클래스 )
* 클래스 (객체 정의) : 변수 /함수가 있는 파일(업무 로직이 들어 있는 클래스)
* 툴 : 1) 파일 인코딩 (UTF-8)
* 2) 도움말 - 사용자 지정 vm 옵션
* -Dfile.encoding=UTF-8
* -Dconsole.encoding=UTF-8
* 3) 설정 - 플러그인 - 마켓플레이스
* 1) Atom ~
* 2) Korea ~
* 3) Rainbow ~
* <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;
int y = 2;
int result = x + y;
System.out.println(result);
}
}
결과

Sec0201
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;
System.out.println(result);
}
public void exam02(){
// 예제 3) x=3, y=5 가 있습니다. x와 y 값을 바꾸어서 출력하세요
// 결과 출력은 아래와 같이 출력하세요
// 결과 : x = 5 , y = 3
int x=3;
int y=5;
// swap 코딩
int temp = x;
x = y;
y = temp;
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 변수 사용불가라서 에러가 발생함
}
}
결과
30
x=5,y=3
Sec0202
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 붙이면 2진수)
int var2 = 0206; // 8진수(0 붙이면 8진수)
int var3 = 365; // 10진수
int var4 = 0xB3; // 16진수(0x 붙이면 16진수)
// 결과 : sout (단축키) , 줄복사 : ctrl + d
System.out.println("var1 :" + var1);
System.out.println("var2 :" + var2);
System.out.println("var3 :" + var3);
System.out.println("var4 :" + var4);
}
public void exam03() {
long var1 = 10; // 정수 8byte
long var2 = 20L; // L 붙여면 long 자료형
// 결과 : sout , 줄복사 : ctrl + d
System.out.println(var1);
System.out.println(var2);
}
public void exam04() {
// 아스키 코드
char c1 = 'A'; // 문자를 직접 저장
char c2 = 65; // 십진수 저장 => 'A'
// 결과 : sout , 줄복사 : ctrl + d
System.out.println(c1);
System.out.println(c2);
}
public void exam05() {
String name = "홍길동";
String job = "프로그래머";
// 결과 : sout , 줄복사 : ctrl + d
System.out.println(name);
System.out.println(job);
}
/**
* 특수기호 : /n, /t, ", \(이스케이프문자)
*/
public void exam06() {
System.out.println("번호\t이름\t직업"); // 탭문자
System.out.print("행 단위 출력\n"); // 줄바꿈 문자
System.out.println("우리는 \"개발자\" 입니다."); // \" 사용
System.out.println("봄\\여름\\가을\\겨울"); // \\ 사용
}
/**
* 실수 : float(4), double(8, ***)
*/
public void exam07() {
float var2 = 3.14f; // float 사용시 끝에 f 붙임
double var3 = 3.14f; // double
// 결고ㅓ : sout, 줄복사 : ctrl + d
System.out.println(var2);
System.out.println(var3);
// e : 지수 표현식
double var6 = 3e6; // 3000000.0
double var7 = 2e-3; // 0.002
System.out.println(var6);
System.out.println(var7);
}
}
결과

Sec0203
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 정수형
// 자동 자료형 변환 : int(4byte)
int intValue = byteValue;
// 결과 : sout, 줄복사 : ctrl + d
System.out.println("intValue : " + intValue);
// 실수 자동 형변환 : double(8byte) <- float(4byte)
float floatValue = 100.5F;
double doubleValue = floatValue;
// 결과 : sout, 줄복사 : ctrl + d
System.out.println("doubleValue : " + doubleValue);
}
/**
* 강제 형변환 예제
* 참고) 아스키 코드 변환 : char 변수 <- int 값 : 아스키코드 -> 문자로 변환
* int 변수 <- char : 아스키코드 변환 <- 문자
*/
public void exam02() {
// int(4) -> char(2) 강제 형변환
int intValue = 44032; // int(4byte), char(2byte)
char charValue = (char)intValue; // 강제 형변환
// TODO: 아스키 코드(숫자) 변환 : 아스키코드(숫자) -> 문자로 변환
char alpha = 65; // A
// TODO: 문자 -> 아스키코드로 변환
int beta = 'A'; // 65
// 결과 : sout, 줄복사 : ctrl + d
System.out.println(charValue);
// double(8) -> int(4) 강제 형변환
double doubleValue = 3.14;
int intValue2 = (int)doubleValue;
System.out.println(intValue2);
}
/**
* 문자열 + 숫자 = 문자열
*/
public void exam06() {
// 결합 연산
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); // 1010
System.out.println(str3);
}
/**
* 문자열 -> int 자료형 변경 : Integer.parseInt("값")
* int -> 문자열 변경 :
*/
public void exam07() {
// 문자열 -> 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);
// 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);
}
}
결과
intValue : 10
doubleValue : 100.5
가
3
128
1028
1010
10
3.14
true
10
10
3.14
true
Sec0204
package chap02;
import java.util.Date;
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 exam05() {
// 입력 받기 : System.in (키보드 입력)
Scanner scanner = new Scanner(System.in);
String inputData; // 입력 문자열
while (true) {
inputData = scanner.nextLine(); // 1라인 입력받기
System.out.println("입력된 문자열: " + inputData);
// TODO: 코드를 완성하세요
// ( 입력된 문자열이 q 가 들어오면 반복문 종료하게 코딩하세요 )
// TODO: 자바의 문자열비교
// 문자열.equals("문자열2") : 같으면 true, 아니면 false
if (inputData.equals("q") == true) {
break;
}
}
}
}
결과
d
입력된 문자열: d
f
입력된 문자열: f
q
입력된 문자열: q
종료 코드 0(으)로 완료된 프로세스
Sec0301
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() {
int x = -100;
int result1 = +x; // 부호 연산자 이용
int result2 = -x;
System.out.println(result1);
System.out.println(result2);
}
public void exam03() {
boolean play = true;
// 결과 : sout , 줄복사 : ctrl + d
System.out.println(play);
play = !play; // 반대값(!) : false
System.out.println(play);
}
/**
* 사칙연산 예제 : /(나눗셈) 조심
*/
public void exam04() {
int v1 = 5;
int v2 = 2;
int result = v1 + v2;
System.out.println(result); // sout
// 나눗셈
int result2 = v1 / v2;
System.out.println(result2); // 정수/정수 => 실수 부분이 잘림
// TODO: 나눗셈 개선 코딩 : 강제 형변환 후 계산 해야함
double result3 = (double)v1 /(double) v2;
// double result3 = (double)v1 / v2; // 같은 결과
System.out.println(result3);
}
// 연습문제 : 1010 : 정수 1개를 입력받아 그대로 출력하기
// 입력 : 5
public void exam05() {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
System.out.println("정수를 입력해주세요");
System.out.println(x);
}
// 연습문제 : 1014 : 문자 2개 입력받아 순서 바꿔 출력하기(설명)
// 입력 : a b
// 출력 : b a
public void exam06() {
Scanner scanner = new Scanner(System.in);
String x = scanner.next();
String y = scanner.next();
System.out.println(y +" " + x);
}
/**
* char : 내부적으로 정수로 저장됨(유니코드 : 아스키코드 확장판(한글, 중국어 등을 표시))
*/
public void exam07() {
char c1 = 'A' + 1; // char(정수) : 'B' ('A' 아스키코드(65) 65 + 1 = 66)
char c2 = 'A';
char c3 = 97;
// 출력 : sout
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
}
// 연습문제 3) char 이용하는 문제
// 값이 'A' 로 주여져 있습니다. 'A' 대문자이면 대문자이군요 라고 출력하고
// 소문자이면 소문자이군요 라고 출력하고
// 숫자이면 숫자이군요 라고 출력하세요
public void exam09() {
Scanner scanner = new Scanner(System.in);
int charCode = 'A'; // 값이 주어져 있음 (65)
// TODO: 아래 코딩을 완성하세요
if (charCode>=65 && charCode<=90){
System.out.println("대문자이군요 " + charCode);
} else if (charCode >= 97 && charCode <= 122) {
System.out.println("소문자이군요 " + charCode);
}else if ((charCode >=48) && (charCode<=57)) {
System.out.println("숫자이군요" + charCode);
} else {
System.out.println("다른 문자군요");
}
}
/**
* 연습문제 : 정수 1개가 주어진다. 2와 3의 배수이면 2 또는 3의 배수이군요
* 아니면 2 또는 3의 배수가 아니군요
*/
public void exam10() {
int value = 8;
// TODO: 아래 코딩을 완성하세요
if ((value % 2 == 0) || (value % 3 == 0)){
System.out.println("2 또는 3의 배수이군요");
}else {
System.out.println("2 또는 3의 배수가 아니군요");
}
}
}
결과
-100
100
true
false
7
2
2.5
Verify03
package chap03;
import java.util.Scanner;
/**
* packageName : chap03
* fileName : Verify03
* author : GGG
* date : 2023-09-18
* description : 연습문제 자바 파일
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-18 GGG 최초 생성
*/
public class Verify03 {
// 속성(멤버 변수)
// 생성자 함수
// 함수(멤버 메소드)
/**
* 문제 : 두 실수를 입력받아서 나눗셈을 결과를 출력하세요.
* 단, 두번째 수가 0일 경우 "무한대" 로 출력하세요
* 입력 : 9
* 3
* 출력 : 3.0
*/
public void exam01() {
Scanner scanner = new Scanner(System.in);
System.out.println("첫번째 수 :");
// scanner.nextLine() : 문자열 입력 -> 실수로 변환
double num1 = Double.parseDouble(scanner.nextLine()); // 1st 줄
System.out.println("두번째 수 :");
// scanner.nextLine() : 문자열 입력 -> 실수로 변환
double num2 = Double.parseDouble(scanner.nextLine()); // 2nd 줄
if(num2 != 0.0) {
System.out.println("결과 : " + (num1/num2));
} else {
System.out.println("결과 : 무한대");
}
}
/**
* 문제 : 원의 넓이를 구하시요. ( 반지름 * 반지름 * 3.14 )
*/
public void exam02() {
int var1 = 10; // 반지름
double var2 = (double) var1 * var1 * 3.14;
System.out.println("원의 넓이 : " + var2);
}
/**
* 문제 : 1) 아이디와 패스워드를 각각 입력받아 아이디가 "java"가 아니면
* "로그인 실패:아이디가 존재하지 않음"을 출력하세요.
* 2) 아이디가 "java" 이면, 패스워드를 체크해서 패스워드가 12345이면 "로그인 성공" 출력하고,
* 패스워드가 12345가 아니면 "로그인 실패:패스워드가 틀림"을 출력하세요.
* 힌트 : 중첩 if문 쓰기
*/
public void exam03() {
Scanner scanner = new Scanner(System.in);
// 아이디 입력
System.out.println("아이디 : ");
String name = scanner.nextLine();
// 패스워드 입력
System.out.println("패스워드 : ");
String password = scanner.nextLine(); // 숫자로 들어온다고 가정
int iPassword = Integer.parseInt(password); // 숫자 패스워드
if(name.equals("java")) {
if(iPassword == 12345) {
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패:패스워드가 틀림");
}
} else {
System.out.println("로그인 실패:아이디가 존재하지 않음");
}
}
}
결과
첫번째 수 :
9
두번째 수 :
3
결과 : 3.0
원의 넓이 : 314.0
아이디 :
java
패스워드 :
12345
로그인 성공
'HTML > Java' 카테고리의 다른 글
[Java] 객체, 생성자 (0) | 2023.09.20 |
---|---|
[Java]조건문(if, switch), 반복문(for, while), 기본 자료형과 참조 자료형, 배열 (1) | 2023.09.19 |
[Java]인텔리제이 단축키 (0) | 2023.09.18 |
[Java]인텔리제이 설치 & 설정 (0) | 2023.09.15 |