티스토리 뷰

1. 실습내용 :

 

Scanner 실습

ScannerMain01

 

 

 

 

  • 입력 받기 위한 변수는 Scanner 선언 : Scanner sc = new Scanner(System.in);

+ 여기서 오류나면 ctrl + space 누르면 import java.until.Scanner; 

  • 자료형 변수명 = sc.메소드();      =>  int  x = sc.nextInt();
  • nextInt() : 정수를 입력받는 메소드
  • nextDouble() : 실수를 입력받는 메소드 
  • nextLine() : 문자열 한 줄을 입력받는 메소드. 아래 것이 더 좋음. 이건 오류가 날 수 있음
  • next() :  문자열 한 줄을 입력받는 메소드. 엔터 버퍼를 처리

 

ScannerMain02

 

 

  • 입력받고 싶은 것에 따라서 사용하는 변수의 자료형과 메소드가 다름
  • 예를 들어 나이(정수)를 입력받고 싶다면 

System.out.println("나이 입력 : ");

int age = sc.nextInt();

 

  • 이름(문자)를 입력받고 싶다면

System.out.println("이름 입력 : ");

String name = sc.next();

 

 

ScannerMain03

 

  • 문자를 하나만 입력받고 싶을 때, 특정 메소드가 없으면 변형한다. 

char  ch1  = sc.next().charAt(0);

 

 

연산자

OperatorMain01

 

  • 대입 연산자 (=) 
  • 변수 = 값; => 오른쪽 값을 변수라는 상자에 담아둔다
  • 산술 연산자 ( + , - , / , %) => 연산자간의 우선순위가 있다. 다만 괄호가 있다면 괄호가 가장 우선시 됨.

int num1 = 246 + 234 +100 / 10;

 

int num1 = (246 + 234 +100) / 10;

 

* 괄호가 없을 땐 곱하기 ,나누기 먼저, 괄호가 있다면 괄호 먼저 계산한다.

 

  • 소수점 출력시 주의! 

System.out.printf("소수점 6자리 출력 : %.6f", (246 / 100.0));

 

* 1) println => printf 사용함

* 2) %.6f => 소수점 6번째 자리만 출력함

* 3) (정수) / (정수) 의 몫을 소수점으로 출력하고 싶으면 반드시 (정수) / (실수) 로 변형해줘야함

 

 

OperatorMain02

 

  • 복합 대입 연산자 ( += , -= , *= , /= , %= ...  )
  • (변수) = (변수) + 1    => (변수) += 1   같은 거임

int age = 16;

age = age + 1; 

age += 1;

 

중복되는 변수는 왼쪽에 산술 연산자 + 대입연산자 순으로 사용

 

 

OperatorMain03

 

  • 증감연산자 : 변수의 값을 1증가 or 1감소할 때 사용하는 연산자
  • 변수의 앞(prefix)과 뒤(suffix)에 사용
  • 증감연산자가 왼쪽에 앞에 붙으면, 증감 후 연산

int num3 = 100;

int result = ++num3 + 5;

System.out.println("num3 = " + num3); //증감연산자로 101

System.out.println("result = " + result); //증감연산자가 앞에 붙으면 우선 순위가 달라진다. 101 + 5 = 106

 

* ++num3 + 5 면 (++num3) = 101 증감 후, 101 + 5 = 106  

따라서 출력된 result 값은 106 

  • 증감연산자가 뒤에 붙으면, 선 연산 후 마지막에 증감

int num4 = 100;

result = num4++ +5;

// 합 연산자(+) 먼저 실행, num4(100) + 5 가 먼저 실행되고, result 값에 저장

// 다음으로 num4를 1 증가시켜서 num4 = 101이 저장됨

System.out.println("num4 = " + num4);

System.out.println("result = " + result);

 

* (num4 + 5) = 100 + 5 = 105 를 result 에 저장하고 num4++ = 101 

따라서 출력된 result 값은 105 

 

OperatorMain04

 

  • 비교 연산자 ( > , < , == , != ) 
  • 비교 연산자는 큰가? 작은가? 같은 값인가? 다른 값인가? 에 대한 대답이므로 True, False 로만 나온다

 

  • 논리연산자 ( &&, ||, !  )
  • 논리 연산자는 true = 1 , false = 0 으로 생각하자

boolean A = true; // 1

boolean B = false; // 0

System.out.println(A && B); // 곱 연산자(and),0

1 * 0 = 0 이므로 false

 

System.out.println(A || B); // 합 연산자(or),1

1 + 0 = 1 이므로 true

 

System.out.println(!B); // 부정연산자(not),1

0을 부정하므로 1 , 따라서 True

 

 

  • 위 코드에서 dead 코드가 발생한 이유, 10>0 = T 일 때, 항상 True이기 때문에 의미없는 코드
  • A && B 를 계산할 때 A가 false이면, B를 계산하지 않음
  • A || B 를 계산할 때 A가 true이면, B를 계산하지 않음

 

OperatorMain05

 

 

반복문

 

 

if_01

 

 

  • 조건문 : if , if - else , if - else if - else , switch
  • 반복문 : for , while , do - while

 

 

 

 

if_02

 

 

 

 

 

if_03

 

 

 

 

if_04

 

 

  • ** 순서대로 진행함!! 처음 if 조건문에 부합하면 거기서 끝, 부합하지 않으면 다음 else - if  조건문으로 순차적으로 가기 때문에 && 연산자 사용하지 않아도 됌!!

 

 

 

 

 

 

 

 

2. 문제상황 / 어려운 부분 : 오늘 github 계정 생성 , git 생성 , eclipse 연동하기 

 

연동하는게 제일 어려움 !! 

 

3. 해결방법 : 

'백엔드 교육과정 > 1월' 카테고리의 다른 글

2024.01.30_Java/eclipse 설치, 자료형, 형변환  (0) 2024.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함