TIL 3일차. git. 연산자

김기현·2025년 2월 13일

0. GitHurb 사용법 마무리 정리

다른 pc에 원격(리모트) 레파지토리에 있는 코드 내려받는 법
**원하는 폴더에 git실행 후 git clone https://github.com/kimkihyun123455/01_Java.git

이후 이클립스 실행 후 내려받은 코드폴더에 Launch한 후 import project 실행 후 01_Java에 적용한다

이후 코드를 변경 후 원격 레파지토리에 업데이트 하기 위해서는 다음과 같은 순서를 따른다
1) git add .
2) git commit -m”메세지”
3) git push

로컬 레파지토리에 원격 레파지토리의 업데이트 된 코드를 내려받기 위해 git pull 실행

git의 간단한 명령어 목록

ls : 하위 폴더 목록
cd 디렉토리명 : 해당 디렉토리로 이동
git init : 새로운 레파지토리 초기화(설정)시 사용
git status : 현재 스테이징 되어 있는 파일 상태 확인
git add : 해당 코드를 스테이징
git commit : 변경된 스테이징된 코드를 로컬 레파지토리에 기록
git push : 로컬 레파지토리에 기록된 코드 원격 레파지토리에 업데이트
git pull : 원격 레파지토리에 업데이트된 코드 로컬 레파지토리에 업데이트
git clone 주소 : 원격 레파지토리에 올라가 있는 파일 복사해서 같은 형식 폴더 만들기

1.출력 메소드

출력메소드의 종류
System.out.println() : 한 줄 출력용 메서드로 출력 후 줄바꿈이 자동 실행된다
System.out.print() : 단순 출력용 메서드로 출력 후 줄바꿈이 없다
System.out.printf() : 정해진 형식으로 값을 줄바꿈 없이 출력

System.out.printf() 의 형식에는 다음과 같은 종류가 있다
%d : 정수형, %o : 8진수, %x : 16진수, %c : 문자, %s : 문자열, %f : 실수, %e : 지수형태
%g : 대입값 그대로, %A : 16진수 실수, %b : 논리형

예제로

int iNum1 =10;
int iNum2 =5;

System.out.printf(“%d+%d=%d\n”, iNum1, iNum2, iNum1+iNum2); ** \n은 줄바꿈을 실행한다

10+5=15 가 출력된다
boolean isTrue = false;
	char ch ='가';
	String str = "안녕하세요";
	
System.out.printf("%b / %c / %s\n", isTrue, ch, str);
	
false / 가 / 안녕하세요 가 출력된다

출력문자의 정렬방법

%5d : 5칸 공간 확보후에 오른쪽 정렬
%-5d : 5칸 공간 확보후에 왼쪽 정렬
%.2f : 소수점 2자리까지 표시
*** % 이후의 숫자와 형식은 얼마든지 바꿀 수 있다

escape 문자 : escape 시퀀스를 따르며 \ 로 이를 고지한다
\n : 줄바꿈
\t : tab 역할
\u : 유니코드 상 문자 ex) \u0041 = A
\ : \를 출력한다


2.Scanner Class

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

Scanner Class 를 불러오기 위해서는 다음과 같은 절차가 필요하다
import java.util.Scanner; : java.util 안에 있는 Scanner 클래스를 import(들여오기)한다
Scanner sc = new Scanner(System.in); : 내 프로그램 안에 스캐너라는 기계를 새로 만드는 것

Scanner를 사용한 구문의 예시는 다음과 같다

System.out.print("정수 1 입력 : ");
int input1 = sc.nextInt();

다음 코드들은 Scanner 를 이용하여 만든 예시이다

package edu.kh.variable.ex2;
import java.util.Scanner;
// ctrl + shift + o : 현재 파일에서 import 되지 않는 클래스 모두 import 해주는 단축키
public class ScannerExample2 {
public static void main(String[] args) {
	// 사칙연산 계산기
	// 두 실수를 입력 받아 사칙연산 결과를 모두 출력
	// 단 출력된 결과값은 소수점 이하 2째자리까지만 표현
	Scanner sc = new Scanner(System.in);
	
	System.out.print("첫번째 실수 입력 : ");
	double input1 = sc.nextDouble();
	
	System.out.print("두번째 실수 입력 : ");
	double input2 = sc.nextDouble();
	
	System.out.printf("%.2f + %.2f = %.2f\n", input1, input2, input1 + input2);
	System.out.printf("%.2f - %.2f = %.2f\n", input1, input2, input1 - input2);
	System.out.printf("%.2f * %.2f = %.2f\n", input1, input2, input1 * input2);
	System.out.printf("%.2f / %.2f = %.2f\n", input1, input2, input1 / input2);

nextInt(); 사용 직후 nextLine();을 사용하게 될 경우 정수값 이후 문자열을 입력 할 수 없는 문제에 빠진다. 이는 정수값과 함께 입련된 Enter값(\n)이 입력버퍼에 남아있어 nextLine();이 이를 인식하여 입력되는 것으로 발생하는 문제이다. 이는 두 구문의 사이에 sc.nextLine(); 을 추가하여 Enter값을 한번 사용하는 것으로 해결 가능하다

3.연산자

연산자의 종류와 우선순위

직접 접근 연산자 : () . []
단항 연산자 : + - ~ !(부정연산자)
산술 연산자 : / %
산술 비교연산자 : < > <= >=
일반 논리 연산자 : &&(그리고) ||(또는)
상향 연산자
순수 대입 : =
산술 대입 : += -=
= /= %=
나열 연산자 : ,

논리부정 연산자(!) : 논리값을 부정하여 반대값으로 변경한다

증감 연산자(++, –) : 피연산자의 값에 1을 더하거나 빼는 연산자로 위치에 따라 결과 값이 다르게 출력된다
** 전위연산은 진행되는 코드 안에서 먼저 연산이 이루어지며 후위연산은 가장 늦게 이루어진다

다음 예시는 주어진 문제를 풀어본 것이다

    int a = 3;
	int b = 5;
	int c = a++ + --b;
	
	// 최종적으로 a,b,c는 각각 얼마로 출력될 것인가 a: 3 b: 5 c: 7
	
	System.out.printf("%d / %d / %d\n", a, b, c); // 4 4 7 값이 출력된다

**나는 int a와 int b이후 int c의 값에서 연산된 a와 b의 값을 고려하지 못하여 a=3 b=5 c=7이라는 값을 도출하였다
하지만 최종적으로 출력되는 값은 int c에 있는 a++과 –b연산을 거친 이후의 a,b값이므로
a=4 b=4 c=7이라는 값이 옳다.

** int c = a++ + –b; 라는 연산은 a++ + –b한 값을 c에 대입한다고 생각하기보다는
‘나는 a++ 과 –b를 연산하면서 a++ + –b라는 값을 c에 대입할게’라고 생각하는게 좋다
즉 c만을 위한 독립적인 연산이 아닌 전체적으로 적용되는 연산이라는 것이다

4.클래스의 분리

코드가 작성되어 있는 기능용 메서드와 기능용 메서드를 통해 메인 메서드를 실행하는 실행용 클래스를 분류하여 사용해본다

profile
모든게 처음

0개의 댓글