8일차(4월 6일) 

 

 

1. 메소드를 이해하기 위해서 차의 속성을 가지고 코드 생성. 

첫번째 코드는 두번째 코드박스에서 불러와서 사용된다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class Car {
    //속성
    String carName;
    String CarColor;
    int carYear;
    int carSpeed;
    int displacement;
    
    //메소드 
    //리턴타입 메소드명(데이터타입 파라미터명){
    //실행문;
    //}
    
    //리턴타입: 메소드 기능을 수행한 후 메소드를 호출한 곳으로 반환
    //데이터타입
    //반환하는 데이터가 있으면 리턴타입으로 viod로 지정한다. 
    
    //overloading 오버로딩
    //클래스 내에서 동일한 이림의 메소드를 여러개 정의 할 수 있도록 해주는 기능.
    void run() {
        System.out.println("달린다.");
    }
    void stop() {
        System.out.println("멈춘다.");
    }
    void speedup() {
        carSpeed++;
    }
    void speedup(int velocity) {
        carSpeed+= velocity;
    }
    void speeddown() {
        carSpeed--;
    }
    void speeddown(int velocity) {
        carSpeed-= velocity;
    }
    void start() {
        System.out.println("시동을 건다.");
    }
}
 
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class CarMain {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Car myCar = new Car(); //생성자. //객체를 만들땐 new를 쓴다.
        System.out.println("myCar.carSpeed = " + myCar.carSpeed);
        System.out.println("myCar.carName = " + myCar.carName);
 
        myCar.carSpeed = 2;
        myCar.carName = "포르쉐";
        
        System.out.println("myCar.carSpeed = " + myCar.carSpeed);
        System.out.println("myCar.carName = " + myCar.carName);
        
        System.out.println("===메소드 호출===");
        myCar.run();
        myCar.speedup();
        System.out.println("myCar.speedup()");
        System.out.println("myCar.carSpeed = " + myCar.carSpeed);
        
        myCar.speeddown(100);
        System.out.println("speeddown(100)");
        System.out.println("myCar.carSpeed = " + myCar.carSpeed);
        
        
        Car yourCar = new Car(); //생성자, 객체2
        
        yourCar = myCar; //같은 객체를 가르킨다.
        System.out.println("yourCar = myCar");
        System.out.println("speeddown(100)");
        System.out.println("myCar.carSpeed = " + myCar.carSpeed);
    }
 
}
 
cs

 

 

 

 

 

2. 응용한다. 은행 서비스 만든다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Account {
 
    int balance =0//잔액을 저장하는 속성
    
    void deposit(int account) { //입금처리
        balance += account;
        System.out.println(account + "원이 입금 되었입니다.");
    }
    void withdraw(int account) { //출금처리
        if(balance - account < 0) {
            System.out.println("잔액이 부족합니다.");
        }
        else {
            balance -= account;
            System.out.println(account + "원이 출금되었입니다.");
        }
    }
    void showBalance() { //현재의 잔액을 출력
        //현재 계좌의 잔액은 ()월 입니다.
        System.out.println("현재 계좌의 잔액은 " + balance + "입니다.");
    }
}
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.util.Scanner;
 
public class Banking {
 
    public static void main(String[] args) {
        
        boolean stop = false;
        Account account = new Account();
        Scanner scanner = new Scanner(System.in);
        // TODO Auto-generated method stub
        //프로그램이 실행되면 아래와 같이 메뉴를 출력한다. 
        // 1. 입금
        // 2. 출금
        // 3. 잔액조회
        // 4. 프로그램 종료
        
        //1번이나 2번 메뉴를 선택하면 금액을 보인다. 
        //1번 선택시, 입금액 :
        //2번 선택시, 출금액 :
        //그리고 입출금 처리한다. 
        
        //3번메뉴를 선택하면 현재 잔액을 출력
        //4번메뉴를 선택하면 프로그램 종료.
        
        while(!stop) {
            System.out.println();
            System.out.println("다음을 선택하세요. ");
            System.out.println("1. 입금");
            System.out.println("2. 출금");
            System.out.println("3. 잔액조회");
            System.out.println("4. 프로그램 종료");
            
            int num = scanner.nextInt();
            int money = 0;
            
            switch(num) {
                case 1 : 
                    System.out.print("입금액 : ");
                    money = scanner.nextInt();
                    account.deposit(money);
                    break;
                case 2 :
                    System.out.println("출금액");
                    money = scanner.nextInt();
                    account.withdraw(money);
                    break;
                case 3:
                    account.showBalance();
                    break;
                case 4:
                    System.out.println("종료되었습니다.");
                    stop = true;
            }
        }
    }
}
 
cs

 

 

1. 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드.

예) 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다.

 

-사과 수를 바구니로 나누고, 딱 나누어 떨어지지 않는다면 +1을 해준다. (나머지가 존재하면 +1을 해준다.)

1
2
3
4
5
6
7
8
9
10
11
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int numOfApples = 123;
        int sizeOfBucket = 10;
        int numOfBucket = (numOfApples/sizeOfBucket)+(numOfApples/sizeOfBucket !=0 ? 1 : 0);
 
        System.out.println("필요한 바구니의 수 :"+numOfBucket);
        }
}
cs

 

 

 

 

2. num 의 값에 따라 양수,음수,0을 출력하는 코드를 작성 하시요.

 

-삼항 연산자 사용.

1
2
3
4
5
6
7
8
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int num = 10;
        System.out.println(num > 0 ? "양수" : (num==0) ? "0" :" 음수");
    }
}
cs

 

 

 

 

3. num의 값 중 에서 100자리 이하를 버리는 코드를 작성 하시요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;
 
public class n0404_3 {
    //num의 값 중 에서 100자리 이하를 버리는 코드를 작성 하시요.
    //예를 들어 322인 경우 300 이 되며 234 인 경우에는 200 이 된다.
    //가장 어려움.
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        System.out.print("숫자 : ");
        String strNumber = scanner.next();
        int intNumber = Integer.parseInt(strNumber);
        
        int digit = strNumber.length();
        int number =1;
        
        for (int i =1; i<digit; i++) {
            number *= 10;
        }
        
        int goalNumber = intNumber / number * number;
        System.out.println("goalNumber = " + goalNumber);
    }
}
cs

 

 

4. ch 값이 영문자 이거나 숫자일 경우만 b b의 값이 true 가 출력되게 코드를 작성하세요..

1
2
3
4
5
6
7
8
9
10
public class Main{
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        char ch ='z' ;
        boolean b = ( ch >= 'A' && ch <='Z' ||  ch >= 'a' && ch <='z' || ch >='0'&& ch <= '9' );
 
        System.out.println(b);
    }
}
cs

 

 

 

5. 4개의 값을 입력받아 처리하시오.

Input name: 장윤정

Input gender: F

Input age:  25

Input tall: 173.3

(성별 : M 이면 "남자", 나머지 "여자" - 삼항연산자 이용)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class Main{
    //4개의 값을 입력받아 처리하시오
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        System.out.println("Input name :");
        String name = scanner.next();
        System.out.println("Input gender :");
        String gender = scanner.next();
        System.out.println("Input age :");
        int age = scanner.nextInt();
        System.out.println("Input tall :");
        double tall = scanner.nextDouble();
        
        System.out.println(name);
        System.out.println(gender.equals("f") ? "여자" : "남자");
        System.out.println(age);
        System.out.println(tall);
    }
}
cs

 

 

 

6. 다음과 같이 연산되도록 코드를 완성하세요..

1-2+3-4+5-6....=100이상

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Main{
    public static void main(String[] args) {
        int i=1, ans=0;
        while(ans<=100){
            if(i%2==1)
                ans += i ;
            else 
                ans -= i;
            i++;
        }
        System.out.println(i);
    }
}
 
cs
1
2
3
4
5
6
7
8
9
10
11
public class Main{
    public static void main(String[] args) {
        int i=1, ans=0;
        while(ans<=100){            
            ans+=i%2 == 0 ? -i : i;
            i++;
        }        
        System.out.println(i);
    }
}
 
cs

답 : 202

 

 

7. 두 개의 주사위를 던졌을 때 두 수의 합이 6 이 되는 모든 경우가 몇 개인지를 계산하는 코드를 생성 하시요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Main{
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int sum =0;
        
        for (int i =1; i<=6; i++) {
            for (int j =1; j<=6; j++) {
                if (i+j==6)
                    sum++;
            }
        }
        System.out.println(sum);
    }
}
 
cs

답 : 5

 

 

'풀스택 > java' 카테고리의 다른 글

자바_ 부모자식 클래스 상속 ~ 다형성까지  (0) 2022.04.14
자바 _ 상속관련 내용  (0) 2022.04.11
자바 메소드, 함수  (0) 2022.04.06
2일차 _ 이클립스 다운방법  (0) 2022.03.29
1일차 _ 자바(java) 설치방법  (0) 2022.03.28

1. 이클립스 다운

 

어제 홈페이지에서 파일 zip파일이다. 

압축을 해제한다. 경로는 어제 만든 javastudy 에.

 

 

이렇게 생성되고

 

.

eclipse.exe 파일을 클릭한다. 

 

경로는 우리가 만든 workspace에 하고, Lanch를 누른다. 

이 화면이 뜨고 기다리면 아래와 같이 뜬다.

 

welcom 왼쪽 버튼을 누른다.

Create a java project 클릭

바로 finish

 

 

src 오른쪽 new -> class

Name에 클래스 명을 쓰고

public static void main(String[] args) 체크한다.

 

 

main에 치고, 이렇게 치고 실행한다. 

실행 단축키는 alt + shift + x 를 누른 후에 j를 누른다. 

alt + shift + x 를 누르면 하단에 아래와 같이 뜬다. 

그런후에 j를 누르면 실행된다.

 

 

 

 

특정라인 움직임 

alt + 방향기

 

전체 들여쓰기 관리

ctrl+a 누른 후 ctrl + i 

 

여러줄 주석 

주석할 부분 드래그 후 Ctrl + Shift + / 

주석 해제 Ctrl + Shift + \

 

 

 

버전이 다를때

클래스 마우스 오른쪽 Properties 클릭

Java Build Path - Libraries ->JRE System Library[jre] 클릭 후 오른쪽에 edit 누르면 창이뜸.

Alternate JRE : jre로 변경후 Finish

그리고 컴파일러 확인하기 위해서 

Java Compiler에서 1.8인지 확인한다.

 

 


식별자 이름 규칙

 

클래스(main함수이름)는 대문자로 시작

메소드(함수)는 소문자로 시작

 

 


 

 

해당 파일에서 cmd 여는 방법

shift + 오른쪽 -> 여기에 PowerShell 창 열기

 

명령어 치기. 그러면 아래사진처럼 폴더에 다양하게 무언가 나타남.

'풀스택 > java' 카테고리의 다른 글

자바_ 부모자식 클래스 상속 ~ 다형성까지  (0) 2022.04.14
자바 _ 상속관련 내용  (0) 2022.04.11
자바 메소드, 함수  (0) 2022.04.06
7일차_조건, 반복문 예제  (0) 2022.04.04
1일차 _ 자바(java) 설치방법  (0) 2022.03.28

1. 자바 설치

 

 

 

<설치하기 전 파일 만들기_파일명과 경로는 자기가 원하는 대로 변경 가능하다.>

내 pc -> 로컬 디스크(C:)에 'javastudy'라는 이름을 가진 파일을 만들어준다. 

 

< 설치하기 전에 확인해봐야 할 것. > _ 완전 새로운 사람들은 확인 안 해도 된다. 

자바를 설치한 적이 있는 사람들은 cmd에 들어가서 java -version 이라고 친 후에 버전이 나오면

제어판과 C:\Program Files 에 있는 것들 중 java가 들어가는 것은 모두 삭제한다. 

그러면 'java'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.라고 나온다. 

 

 

 

 

 

<자바 설치 시작>

오라클 https://www.oracle.com/java/technologies/downloads/#java18

아래로 쭉 내려가서 8 버전 다운로드함. 

(최신 버전은 18이지만, 8이 가장 안전화된 버전이다. 사용자에 맞게 설치하면 된다.)

x64 버전. exe 파일 클릭

 


Tip) 자신의 컴퓨터 속성을 알고 싶다면 내 pc 아이콘에서 오른쪽 클릭을 한다. 

속성을 누른다. 

 

시스템 종류를 보면 x65 기반 프로세서라는 것을 확인할 수 있다. 

 

 

 

만약, 바탕화면에 내 pc가 없다면 바탕화면 아무 곳에 오른쪽 클릭을 한다. 

개인 설정을 누른다. 

 

테마를 클릭한다. 

 

아래로 내리면 관련 설정에 '바탕화면 아이콘 설정'을 클릭

 

 

 

컴퓨터 왼쪽 박스를 체크로 나타나게 하고, 확인을 누른다. 

 

그럼 바탕화면 내 pc가 있을 것이다.

 


 

 

다시 자바 설치 과정으로 돌아와서 

 

 

 

클릭하면 이런 창이 뜨고, 네모 박스를 체크 후 Download jdk-8u321-windows-x64.exe 박스를 누른다. 

 

 

 

그러면 로그인하라는 창이 나오고, 계정이 없다면 회원가입을 해야 한다. 

 

로그인을 하면 하단에 설치 중인 화면이 뜨고 1분 이내로 걸린다. 

(pc 성능에 따라 상이하다.)

 

 

설치가 다 되면 클릭을 한다. 

권한 부여가 뜨면 예를 누른다. 

 

10초 정도 경과하면 아래같이 뜬다. 

Next 클릭

 

 

change 클릭

 

파일 경로를 변경한다. 파일명 변경 Progame File만 내가 새로 만든 파일명(javastudy)으로 변경.

 

C:\javastudy\Java\jdk1.8.0_321\ 이렇게 변경한다. 

파란색 부분만 변경하면 된다. 

ok를 누르고 창이 꺼지고 next를 누른다.

기다린다~

 

설치가 되면 추후 새로운 설치를 하면 java가 생성되어있음. C:\javastudy\Java

java 파일 안에 jre8이라는 파일을 만든다. 

 

변경을 누른다. 

확인을 누른다. 

다음을 누른다. 

설치가 되기까지 기다린다. 

 

Close 누르면 끝.

 

 

완료가 된다면 cmd로 들어가서 'java -version'을 검색한다. 

설치가 완료되었다면 버전이 뜨고, 안되었다면 다른 내용이 뜬다. 

버전 숫자가 다른 것은 자신이 8 버전을 다운로드 안 하고 다른 버전을 했다면 상관없다. 

 

 

자바 설치를 완료되었다. 

 

 


 

 

C:\javastudy\Java\jre8\bin 을 복사 후에 시스템 환경변수에 들어가서 

환경변수 클릭

 

 

 

시스템 변수에 있는 Path를 클릭 후 편집을 누른다. 

 

 

 

 

새로 만들기를 누른 후에 아까 복사한 파일 경로를 붙여 넣는다. 

그 후 위로 이동을 눌러서 제일 위에 위치시킨다. 

 

 

 

 

이로서 자바 설치를 완료하였고, 다음 시간에 이클립스를 다운할 것이다. 

'풀스택 > java' 카테고리의 다른 글

자바_ 부모자식 클래스 상속 ~ 다형성까지  (0) 2022.04.14
자바 _ 상속관련 내용  (0) 2022.04.11
자바 메소드, 함수  (0) 2022.04.06
7일차_조건, 반복문 예제  (0) 2022.04.04
2일차 _ 이클립스 다운방법  (0) 2022.03.29

+ Recent posts