.(하위 연산자)
A.b : A 안의 b, A 의 b
System.out,println()
System 클래스 안의 out, 그 out 안의 println()
입력
사용자가 개발자에게 데이터를 넘겨주는 행위
입력상태
개발자가 사용자에게 데이터를 넘겨달라고 기다리는 상태
값이 입력되지 않으면 다음으로 진행이 불가하다.
개발자가 할 수 있는 일은 사용자에게 입력상태로 만들어주는 것 까지이다.
그 아래 코드들은 사용자가 값을 입력했다고 가정하고 작성한다.
입력상태에서는 사용자가 잘 입력할 수 있도록 먼저 출력을 해준다.
입력 메소드
Scanner sc = new Scanner(System.in);
sc.next();
next()
메소드 사용부분 통째로 사용자가 입력한 문자열 값
공백 또는 엔터를 구분점으로 판단하고 분리하여 입력받는다.
이 하승 : "이", "하승" 으로 분리하여 "이"만 입력 받는다.
nextLine()
메소드 사용부분 통째로 사용자가 입력한 문자열 값
공백도 문자로 입력받는다.
앞에 nextLine()이 아닌 다른 입력이 있다면 의미없는 nextLine()을
하나 미리 써주어야 한다.
nextInt()
메소드 사용부분 통째로 사용자가 입력한 정수 값
형변환
자동 형변환(묵시적, 암시적)
정수 +(연산) 실수 = 실수
10 + 0.0 = 10.0 / 10 * 1.0 = 10.0
문자 + 정수 = 정수
정수, 실수, ... + 문자열 = 문자열
강제 형변환(명시적)
(자료형) : 형변환연산자
(자료형)값
(double)10
연산자
기능이 있는 특수문자 또는 단어
우선순위
한 문장안에 다양한 연산자가 있을 때 먼저 연산하는 순위
최우선 연산자
단항 연산자
산술 연산자
쉬프트연산자
관계 연산자
논리연산자
삼항 연산자
대입 연산자
결합성
한 문장안에 우선순위가 같은 연산자가 여러개 있을 때
알맞은 방향으로 결합되어 연산되는 성질
(1+2)3+4
(3+3)+4
6+4
10
산술 연산자
+ - * /
a%b : a를 b로 나눈 나머지 (10%3 --> 1)
쉬프트 연산자
1 bit : 컴퓨터 용량의 최소단위, 0 또는 1이 담길 수 있는 최소 용량
1 byte : 8 bit / 메모리의 최소단위, 데이터의 최소단위, 의미를 가지는 최소 단위
(니블 - 4bit)
a<<b a를 b만큼 좌측으로 비트이동
17 << 1 --> 10001 << 1 --> 100010 --> 34
a>>b a를 b만큼 우측으로 비트이동
17 >> 1 --> 10001 >> 1 --> 1000 --> 8
조건식
조건을 제시하는 식, 조건을 나타내는 식
주장하는 식
결과가 참 또는 거짓, 둘 중 하나로 나오는 식
관계 연산자를 이용하여 만들어진다.
자바에서는 0과 1 대신 false, true 라는 값을 사용한다.
논리형 boolean 1byte true, false
관계 연산자
>, < : 초과, 미만
>=, <= : 이상, 이하
== : 같다
!= : 다르다
논리 연산자
조건식들의 관계를 설정해주는 연산자
(A, B는 조건식으로 가정)
A && B : 양 옆의 조건식의 결과 값이 둘 다 true이면 true
A || B : 양 옆의 조건식 중 하나라도 결과 값이 true이면 true
단항 연산자
!A : 뒤의 조건식의 결과 값이 true라면 false, false라면 true로 변경
과제
두 정수를 문자열로 입력을 받아(sc.next() 로 입력받기)
두 수의 덧셈, 뺄셈, 곱셈, 나눗셈 결과 출력하기
나눗셈의 결과는 소수점 셋째자리까지 출력
package day03;
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("----입력----");
System.out.print("첫번째 정수 : ");
String num1 = sc.next();
System.out.print("두번째 정수 : ");
String num2 = sc.next();
System.out.println("----결과----");
System.out.print("덧셈결과 : ");
int num3 = Integer.parseInt(num1);
int num4 = Integer.parseInt(num2);
System.out.println(num3+num4);
System.out.print("뺄셈결과 : ");
System.out.println(num3-num4);
System.out.print("곱셉결과 : ");
System.out.println(num3*num4);
double data1 = num3;
double data2 = num4;
System.out.printf("나눗셈결과 : %.3f\n",data1/data2);
}
}
실행 결과