🤺 Player 01
package kr.s05.object.field;
public class Player01 {
String name;
int age;
public static void main(String[] args) {
Player01 p =new Player01();
p.name = "대니 구";
p.age = 32;
System.out.println("연주자의 이름은 " + p.name + "입니다.");
System.out.println("연주자의 나이는 " + p.age + "입니다.");
}
}
🧑🏻🎓 Student 02
package kr.s05.object.field;
public class Student02 {
String name;
int age;
String hobby;
public static void main(String[] args) {
Student02 student = new Student02();
System.out.println(student.name+", " + student.age + ", " + student.hobby);
System.out.println("--------------------");
student.name = "이동욱";
student.age = 42;
student.hobby = "연기";
System.out.println(student.name+", " + student.age + ", " + student.hobby);
}
}
🧑🏻🎓 Student 03
package kr.s05.object.field;
public class Student03 {
String name;
int age;
String hobby;
String job;
public static void main(String[] args) {
Student03 student = new Student03();
student.name ="이동욱";
student.age = 42;
student.hobby ="요리";
student.job = "배우";
System.out.println(student.name + ", " + student.age +", " + student.hobby +", "
+ student.job);
System.out.println("----------------------");
Student03 student2 = new Student03();
student2.name = "공유";
student2.age = 43;
student2.hobby = "캠핑";
student2.job = "연예인";
System.out.println(student2.name + ", " + student2.age + ", " + student2.hobby
+ ", " + student2.job);
}
}
🧑🏻🎓 Student 04
package kr.s05.object.field;
public class Student04 {
String name;
int age;
public static void main(String[] args) {
Student04 s1 = new Student04();
s1.name = "장영실" ;
s1.age = 15;
System.out.println(s1.name +", " + s1.age);
System.out.println(s1);
System.out.println("-------------------------------------------");
Student04 s2 = new Student04();
s2.name = "을지문덕";
s2.age = 30;
System.out.println(s2.name +", " + s2.age);
System.out.println(s2);
}
}
🧑🏻🎓 Student 05
package kr.s05.object.field;
public class Student05 {
String name;
int kor;
int eng;
int math;
int sum;
double avg;
public static void main(String[] args) {
Student05 student = new Student05();
student.name = "홍길동";
student.kor = 98;
student.eng = 97;
student.math = 95;
student.sum = student.kor + student.eng + student.math;
student.avg = student.sum / 3.0;
System.out.println("이름 : " + student.name);
System.out.println("국어 :" + student.kor);
System.out.println("영어 : " + student.eng);
System.out.println("수학 : " + student.math);
System.out.println("총점 : " + student.sum);
System.out.printf("평균 : %.2f" , student.avg);
}
}
클래스의 구조 실습
public class InstanceMain {
int var1;
String var2;
public InstanceMain() {}
public int sum(int a, int b) {
return a+ b;
}
public static void main(String[] args) {
InstanceMain im = new InstanceMain();
im.var1 = 100;
im.var2 = "서울";
System.out.println(im.var1 + ", " + im.var2);
int result = im.sum(10, 20);
System.out.println("result = "+ result);
}
}
🫧메소드 실습 1
public class MethodMain01 {
public int add(int a , int b) {
return a + b;
}
public void print (String str) {
System.out.println(str);
}
public static void main(String[] args) {
MethodMain01 method = new MethodMain01();
int result = method.add(5, 8);
System.out.println("result = " + result);
method.print("오늘은 월요일");
}
}
🫧메소드 실습 2
[실습]
입력한 int형 정수값이 음수이면 -1을, 0이면 0을, 양수면 1을 반환하는 signOf 메서드를 정의한다.
public class MethodMain02 {
public int signOf(int n) {
int sign = 0;
if (n>0) {
sign = 1;
}
else if (n<0) {
sign = -1;
}
return sign;
}
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
MethodMain02 me = new MethodMain02();
System.out.println("정수 x를 입력하세요. >");
int x = input.nextInt();
int result = me.signOf(x);
System.out.println("signOf(x)는 " + result + "입니다.");
input.close();
}
}
🫧메소드 실습 3
[실습]
배열의 요소 수를 입력 받아서 배열 x 생성
입력 받은 정수를 배열 x에 저장하고
배열 x가 가진 모든 요소의 합을 구하는 sumOf(int [] a) 메서드를 정의하시오.
[입력 예시]
요소 수 : 3 (길이가 3인 배열)
x[0] = 1
x[1] = 2
x[2] = 3
[출력 예시]
모든 요소의 합은 6 입니다.
public class MethodMain03 {
public int sumOf (int [] a) {
int sum = 0;
for(int i = 0; i <a.length; i++) {
sum += a[i];
}
return sum;
}
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("요소 수를 입력해주세요. >");
int num = input.nextInt();
int[] x = new int [num];
for (int i = 0; i < num; i++ ) {
System.out.print("x[" + i + "] = ");
x[i] = input.nextInt();
}
MethodMain03 me = new MethodMain03();
int result = me.sumOf(x);
System.out.println("모든 요소의 합은 " + result + " 입니다.");
input.close();
}
}
🫧메소드 실습 4
[실습]
배열 요소 수 (사람 수)를 입력 받아서 배열 weight 생성.
입력 받은 정수를 배열 weight 에 저장하고 배열 weight 가 가진 모든 요소의 수 중 최소값을 구하는 minOf 메소드를 작성하시오.
[입력 예시]
사람 수 : 3
1번의 몸무게 : 90
2번의 몸무게 : 88
3번의 몸무게 : 91
[출력 예시]
가장 마른 사람의 체중은 88kg 이다
public class MethodMain04 {
public int minOf(int [] a) {
int min = a [0];
for (int i = 1; i < a.length; i ++) {
if (min > a[i]) {
min = a[i];
}
}
return min;
}
public int maxOf(int [] b) {
int max = b[0];
for(int i = 1; i < b.length; i++) {
if (max < b[i]) {
max = b[i];
}
}
return max;
}
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("사람 수는 몇 명입니까? >");
int num = input.nextInt();
int [] weight = new int [num];
for(int i = 0; i < num; i ++) {
System.out.print( (i + 1) + "번의 몸무게 : ");
weight[i] = input.nextInt();
}
MethodMain04 me = new MethodMain04();
int result = me.minOf(weight);
System.out.println("가장 마른 사람의 체중은 " + result + "kg 입니다.");
int result2 = me.maxOf(weight);
System.out.println("가장 뚱뚱한 사람의 체중은 " + result2 + "kg 입니다.");
input.close();
}
}
🫧메소드 실습 5
public class StudentMain {
String name;
int kor;
int eng;
int math;
public int makeSum() {
return kor+eng+math;
}
public int makeAvg() {
return makeSum() / 3;
}
public String makeGrade() {
String grade;
switch(makeAvg() / 10) {
case 10 :
case 9 :
grade = "A";
break;
case 8 :
grade="B";
break;
case 7 :
grade="C";
break;
case 6 :
grade="D";
break;
default :
grade = "F";
}
return grade;
}
public void printScore() {
System.out.println("이름 : " + name);
System.out.println("국어 : " + kor);
System.out.println("영어 : " + eng);
System.out.println("수학 : " + math);
System.out.println("총점 : " + makeSum());
System.out.println("평균 : " + makeAvg());
System.out.println("등급 : " + makeGrade());
}
public static void main(String[] args) {
StudentMain student = new StudentMain();
student.name = "이동욱";
student.kor = 98;
student.eng = 97;
student.math = 96;
System.out.println("이름 : " + student.name);
System.out.println("국어 : " + student.kor);
System.out.println("영어 : " + student.eng);
System.out.println("수학 : " + student.math);
System.out.println("총점 : " + student.makeSum());
System.out.println("평균 : " + student.makeAvg());
System.out.println("등급 : " + student.makeGrade());
System.out.println("----------------------------------");
StudentMain student2 = new StudentMain();
student2.name = "이수혁";
student2.kor = 91;
student2.eng = 99;
student2.math = 79;
System.out.println("이름 : " + student2.name);
System.out.println("국어 : " + student2.kor);
System.out.println("영어 : " + student2.eng);
System.out.println("수학 : " + student2.math);
System.out.println("총점 : " + student2.makeSum());
System.out.println("평균 : " + student2.makeAvg());
System.out.println("등급 : " + student2.makeGrade());
System.out.println("----------------------------------");
StudentMain student3 = new StudentMain();
student3.name = "차은우";
student3.kor = 92;
student3.eng = 99;
student3.math = 80;
student3.printScore();
}
}
🫧메소드 실습 6
class Tv{
int channel ;
boolean power ;
public void isPower() {
power = !power;
}
public void channelUp() {
++channel;
}
public void channelDown() {
--channel;
}
}
public class TvMain {
public static void main(String[] args) {
Tv t = new Tv();
t.isPower();
System.out.println("TV 실행 여부 : " + t.power);
System.out.println("현재 채널 : " + t.channel);
System.out.println("--------------------------");
t.channel = 7;
System.out.println("첫번째 변경된 채널 : " + t.channel);
System.out.println("--------------------------");
t.channelDown();
System.out.println("두번째 변경된 채널 : " + t.channel);
System.out.println("--------------------------");
t.isPower();
System.out.println("TV 실행 여부 : " + t.power);
}
}
🫧메소드 실습 8
- Worker
1) 멤버 변수 : 직원 이름(name) , 급여 (money), 계좌 잔고(balance) -> 정의하는 변수들
2) 멤버 메서드 : work(실행하면 money 에 1000원이 누적이 된다.)deposit (실행하면 money의 돈을 balance에 누적시키고, money는 0처리한다.)
- WorkerMain의 main
1) Worker 객체 생성
2) 직원의 이름 지정
3) 10번 일하는데 번 돈이 3000원일 때마다 계좌에 3000원 저축한다.
4) 직원 이름(name), 현재 계좌에 입금되지 않고 남아있는 급여(money), 계좌 잔고(balance)를 출력하라
package kr.s07.object.method;
class Worker{
String name;
int money;
int balance;
public void work(){
money += 1000;
}
public void deposit(){
balance += money;
money = 0;
}
}
public class WorkerMain {
public static void main(String[] args) {
Worker w = new Worker();
w.name = "이동욱";
for(int i = 1; i <11; i++) {
w.work();
if (w.money >= 3000) {
w.deposit();
}
}
System.out.println("직원의 이름은 " + w.name + "입니다.");
System.out.printf("계좌에 입금되지 않고 남아있는 급여는 %,d원입니다.%n" , w.money);
System.out.printf("계좌 잔고는 %,d원입니다.",w.balance);
}
}
🫧메소드 실습 9
package kr.s08.object.method;
import java.util.Scanner;
class Account{
String account_num;
String name;
int balance;
public void deposit (int money) {
balance += money;
}
public void withdraw (int money) {
balance -= money;
}
public void printAccount () {
System.out.println("계좌번호 > " + account_num);
System.out.println("예금주 > " + name);
System.out.printf("현재 잔고 > %,d원%n", balance);
}
}
public class BankMain {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Account a = new Account();
System.out.println("계좌 기본 정보를 입력하여 계좌를 개설해주세요.");
System.out.print("계좌 번호 > ");
a.account_num = input.nextLine() ;
System.out.print("예금주 > ");
a.name = input.nextLine() ;
System.out.println("현재 잔고 > ");
a.balance = input.nextInt() ;
System.out.println( a.name + " 님의 계좌가 개설되었습니다.");
while(true) {
System.out.println("----------------------------------------------------");
System.out.println(" 1 . 예금 | 2 . 출금 | 3 . 계좌 정보 | 4 . 종료 ");
System.out.println("----------------------------------------------------");
System.out.print("메뉴를 선택해주세요 >");
int num = input.nextInt() ;
if (num == 1) {
System.out.print("얼마를 예금하시겠습니까? >");
int deposit_num = input.nextInt();
if(deposit_num <=0) {
System.out.println("0원보다 큰 금액을 입력해주세요. 메인으로 돌아갑니다.");
}
else {
a.deposit(deposit_num);
System.out.printf("%,d원 입금하여 현재 계좌 잔액은 %,d원입니다.%n", deposit_num, a.balance);
}
}
else if (num == 2) {
System.out.print("얼마를 출금하시겠습니까? >");
int withdraw_num = input.nextInt() ;
if(withdraw_num > a.balance) {
System.out.println("계좌 잔액이 부족하여 출금 실패입니다. 메인으로 돌아갑니다.");
}
else if (withdraw_num <= 0) {
System.out.println("0원보다 큰 금액을 입력해주세요. 메인으로 돌아갑니다.");
}
else {
a.withdraw(withdraw_num);
System.out.printf("%,d원 출금하여 현재 계좌 잔액은 %,d원입니다.%n", withdraw_num, a.balance);
}
}
else if (num == 3) {
System.out.println("계좌 정보를 출력하겠습니다.");
a.printAccount();
}
else if (num == 4) {
System.out.println("프로그램을 종료합니다!");
break;
}
else {
System.out.println("메뉴에 없는 번호입니다. 잘못 입력하셨습니다.");
System.out.println("다시 입력해주세요!");
}
}
input.close();
}
}