[JAVA] TIL 003 - 23.07.14

유진·2023년 7월 14일

01_변수

* Scanner

cf) scanner '객체'는 RAM 구조 내 HEAP 영역에 생성된다.

* Scanner Class

사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스

* import 작성

import java.util.Scanner;

* Scanner 생성

Scanner sc = new Scanner(System.in);

* 키보드 입력값 받기

1. 정수 : sc.nextInt();
2. 실수 : sc.nextFloat(); 또는 sc.nextDouble();
3. 문자열 : sc.next(); 또는 sc.nextLine();

next()는 띄어쓰기 입력불가, 띄어쓰기를 구분인자로 생각하여 각각 저장, 줄 구분까지 저장하지 않음
nextLine()은 문자열에 띄어쓰기 가능, 줄 구분까지 저장

package edu.kh.variable.ex2;

import java.util.Scanner;

//import : 다른 패키지에 존재하는 클래스를 얻어오는 구문
//import java.util.Scanner; // java.util 패키지에서 Scanner 설계도 수입

public class ScannerExample {

	public static void main(String[] args) {
    	// Scanner : 프로그램 실행 중 키보드 입력을 받을 수 있게하는 역할
        
        // Scanner 생성
        // -> 프로그램 안에 스캐너라는 기계를 만드는 것
        Scanner sc = new Scanner(System.in);
        // 오류 원인 -> 만들고 싶은데 설계도(class)가 없어서 못만들고 있음
        // -> import 구문 작성시 오류 해결
        
        System.out.print("정수 1 입력 : ");
        int input1 = sc.nextInt(); // 입력받은 정수를 input1 변수에 대입, 10
        // nextInt() : 다음 입력된 정수를 읽어옴 (키보드로 입력된 정수를 읽어옴)
        
        System.out.print("정수 2 입력 : ");
        int input2 = sc.nextInt(); // 20
        
        System.out.printf("%d + %d = %d\n", input1, input2, input1 + input2); // 10 + 20 = 30
     }
}
package edu.kh.variable.ex2;

import java.util.Scanner;

public class ScannerExample2 {

	public static void main(String[] args) {
    
    	Scanner sc = new Scanner(System.in);
        
        // 사칙연산 계산기
        // -> 두 실수를 입력받아 사칙연산 결과를 모두 출력
        // -> 단, 출력된 결과값은 소수점 이하 2째자리까지만
        
        // 정수 : sc.nextInt();
        // 실수 : sc.nextDouble();
        
        System.out.print("실수 1 입력 : ");
        double input1 = sc.nextDouble(); // 1.5
        
        // nextDouble() : 입력받은 다음 실수를 읽어옴.
        
        System.out.print("실수 2 입력 : ");
        double input2 = sc.nextDouble(); // 2.7
        
        
        // +, -, *, /
        System.out.printf("%.2f + %.2f = %.2f\n", input1, input2, input1 + input2); // 1.50 + 2.70 = 4.20
        
        System.out.printf("%.2f - %.2f = %.2f\n", input1, input2, input1 - input2); // 1.50 - 2.70 = -1.20
        
        System.out.printf("%.2f * %.2f = %.2f\n", input1, input2, input1 * input2); // 1.50 * 2.70 = 4.05
        
        System.out.printf("%.2f / %.2f = %.2f\n", input1, input2, input1 / input2); // 1.50 / 2.70 = 0.56
     }
}        

실습문제 1

Q.
Package Name : com.kh.variable.practice2
Class Name : CastingPractice1
키보드로 문자 하나를 입력 받아 그 문자의 유니코드를 출력하세요.
ex.
문자 : A
A unicode : 65

A.
package com.kh.variable.practice2;

import java.util.Scanner;

	public static void main(String[] args) {
    	
        Scanner sc = new Scanner(System.in);
        
        System.out.print("문자 : ");
        
        //String input = sc.next(); // A
        //char result = input.charAt(0);
        
        char result2 = sc.next().charAt(0);
        
        System.out.printf("%s unicode : %d", result2, (int)result2);
    }
}    

실습문제 2

Q.
Package Name : com.kh.variable.practice2
Class Name : CastingPractice2
실수형으로 국어, 영어, 수학 세 과목의 점수를 입력 받아 총점과 평균을 출력하세요.
이 때 총점과 평균은 정수형으로 처리하세요.
ex.
국어 : 90.0
영어 : 90.0
수학 : 90.0
총점 : 270
평균 : 90

A.
package com.kh.variable.practice2;

import java.util.Scanner;

public class CastingPractice2 {

	public static void main(String[] args) {
    
    	Scanner sc = new Scanner(System.in);
        
        System.out.print("국어 : ");
        double input1 = sc.nextDouble(); // 90.0
        
        System.out.print("영어 : ");
        double input2 = sc.nextDouble(); // 90.0
        
        System.out.print("수학 : ");
        double input3 = sc.nextDouble(); // 90.0
        
        System.out.printf("총점 : %d\n", (int)(input1 + input2 + input3)); // 총점 : 270
        System.out.printf("평균 : %d\n", (int)(input1 + input2 + input3)/3); // 평균 : 90
    }
}    

cf) 실행클래스(main 메서드를 가지고 있는 클래스)는 추후에 따로 class를 하나만 생성할 것이다.

alpha_형상관리(Git)

* 형상 관리란?

* 형상관리

  • 소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 것.

* 형상 관리 시스템

  • 개발 중 발생하는 모든 산출물들이 변경됨으로써 점차 변해가는 소프트웨어 형상을 체계적으로 관리하고 유지하는 시스템.

  • 개발 산출물들의 버전 관리와 변경 내역 조회 가능.

* Git

  • 대표적인 형상 관리 툴
  • 프로젝트(소스 코드)를 저장하고 이력을 관리하는 저장소 (repository)
  • 원하는 시점에 소스 코드를 저장하거나 저장 지점으로 돌아가는 기능을 제공하여 프로젝트의 버전을 관리할 수 있음.
  • 여러 PC에 소스 코드를 저장시키거나 여러 PC에서 작성한 내용을 하나로 병합(merge)하는 것이 가능함.

* GitHub

https://github.com/

  • 코드 저장소 Git을 웹으로 이용할 수 있게 만든 원격 저장소(remote repository)
  • 인터넷이 제공되는 환경에서 소스 코드의 공유 및 버전 관리가 가능.
  • 여러 개발자가 하나의 원격 저장소(= 클라우드)에 있는 소스 코드를 받거나 변경한 코드를 병합하는 것이 가능 -> 협업 가능

* 저장소(Repository) 종류와 관련 용어 ★

Working Directory

: 작업이 진행되는 폴더

  • 프로젝트 폴더를 의미하며, 소스코드 변경 후 git add(그냥 save, ctrl + s) 시 Staging Area로 전달됨.
  • Local Repository에 저장된 소스코드를 현재 프로젝트에 병합(merge) 가능.

Staging Area

: 준비 영역, 중간 영역

  • 변경된 코드가 Local Repository에 저장하기 전 머무르는 중간 영역.
  • Local Repository에 저장될 코드를 선택하고 commit을 통해 저장할 수 있음.

Local Repository

: 내 PC 내에 있는 저장소

  • 소스 코드의 추가/변경 사항을 기록하는 저장소.
  • Local Repository에 저장된 내용은 Remote Repository에 push를 반영할 수 있음.
  • Remote Repository에 저장된 소스 코드를 fetch를 통해 얻어와 Local Repository에 저장 가능.

Remote Repository

: 원격 저장소(GitHub)

* Branch (팀 프로젝트 시 사용할 예정)

-> '협업' 시 사용

* GitHub ★

[ 순서 ]

1. 학원PC -> GitHub
2. GitHub -> 집PC
3. 집PC -> GitHub
4. GitHub -> 학원PC

1. 학원PC -> GitHub

  • https://github.com/yujinjjang2?tab=repositories 사이트 접속하여 New 버튼 클릭

  • Repository name, Description 작성 후 Create 버튼 클릭

  • CLI 코드 복사

  • 파일 내 빈창 우클릭 후 Open Git Bash here 실행시키기

  • 복사한 코드 붙여넣기 (Shift + Insert = 복사 단축키)

    • 해당 단계에서 처음 실행 시 error 발생할 수 있음
      이와 같은 경우,
      git config --global user.email "자신의 깃허브 주소"
      git config --global user.name "자신의 깃허브 아이디" 입력하기
      (위 과정은 처음 실행 시에만 딱 한 번 입력하면 됨!)
  • git status 입력 (안올라간 파일 빨간색)

  • git add . 입력 (.은 모든 파일을 의미)

  • git status 입력 (올라간 파일 초록색)

  • git commit -m"test commit" 입력 (m 뒤 쌍따옴표 적고, 원하는 문구 적기)

  • git status 입력

  • git push 입력

  • github에 하단과 같은 사진이 떴다면 완료

2. GitHub -> 집PC

  • 해당 HTTPS 주소 복사
  • 파일 내 빈창 우클릭 후 Open Git Bash here 실행시키기
  • git clone 복사한 코드 붙여넣기
  • homeworkspace 폴더에 하단과 같은 사진이 떴다면 완료

3. 집PC -> GitHub

  • 해당 경로로 eclipse 실행
  • Project Explorer 빈창 우클릭 후 Import - Import - Existing Projects into Workspce 더블클릭 - Browse 클릭 - testProject1 경로복사 (src를 포함하고 있는 파일을 불러와야 완료!)
  • 집에서 하단 사진과 같이 코드 수정이 이루어질 경우
  • 파일 내 빈창 우클릭 후 Open Git Bash here 실행시키기
  • git status 입력 (수정된 파일 빨간색)
  • git add . 입력
  • git status 입력 (수정완료된 파일 초록색)
  • git commit -m"update homeworkspace" 입력
  • git push 입력
  • GitHub에 하단과 같은 사진이 떴다면 완료

4. GitHub -> 학원PC

  • 학원 파일 내 빈창 우클릭 후 Open Git Bash here 실행시키기
  • git pull 입력
    (공유된 파일 내 수정이 이루어질 경우, git pull / 새로운 파일을 가져올 경우 git clone "주소")
  • 해당 경로로 eclipse 실행
  • 학원 PC에서도 집에서 수정한 코드와 동일한 화면이 나타남

cf)
Git Bash
cd ..
: 파일 위로 이동
ls
: 하위 폴더를 보여줌
cd 01_variable
: 01_variable 파일로 이동

0개의 댓글