전위 : 값이 증가 한 뒤 연산
후위 : 연산을 한 뒤 값이 증가
int : num1 = 2 , num2 = 3;
++num1 + ++num1 + ++num1 = 12
3 4 5
num1을 출력하면 5가 출력된다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
num2++ + num2++ + num2++ = 12
3 4 5
마지막 수식에 5로 계산되고 값이 증가해 num2를 출력하면 6이 된다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
num2++ + ++num2 + ++num2 = 14 // num2 = 6
3 5 6
System.out , System.in , System.err
System.in = c언어의 scanf와 같은 기능 값을 프로그램 안에 저장할 때 사용
System.out = c언어의 printf과 같은 기능을 하고 표준 입력 작업을 수행한다.
System.err = out과 같은 출력을 담당하고 있다
System out과 err의 차이는 버퍼의 속도 차이가 있다.
ex )
System.out.println(1);
System.err.println(1=1);
의 출력값은1=1 1이 된다. out , err 둘다 자체적으로 버퍼가 있지만 서로 다른 타이밍에 flush 하기 때문에 out은 출력하기전 한 곳에 모아둔 뒤 출력하지만 err은 크리티컬한 상황(아마 에러나 그런 상황같다.)때문에 바로바로 flush 되기 때문에 출력이 out 보다 빠르게 된 것이다.
그래서 대부분의 자바스크립트 개발자들은 out만 쓰거나 err을 매우 조심히 쓰곤 한다
new 함수는 새로운 객체를 만드는데 사용한다.
function User(age, sex, month) {
this.age = age;
this.sex= sex;
this.month = month;
}
const user1 = new User(20, 'girl', 8);
//새로운 user를 생성해 user1에 넣는다.
console.log(user1.age);
user1에 저장된 age의 값을 불러온다.
// https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/new
스캐너의 작동 세부
import java.util.*;
//Scanner를 쓰기 위해 쓰는 선언문
class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
//scanner라는 새로운 객체를 생성//프로그램 안에 넣겠다는(System.in)
System.out.printf("내용 입력 : ");
String input = scanner.nextLine();
//받은 내용을 'input'에 넣음
System.out.println("출력내용 : "+input);
//받은 내용을 출력, 하지만 숫자가 아닌 문자열로 저장(출력도 문자열)
int num = Integer.parseInt(input);
//num에 입력받은 문자열을 넣어 정수로 변환
System.out.printf("정수로 변환한 값 :%d",num);
//입력받은 문자열을 정수로 변환한 값을 출력
}
//출력값은 다 같아 보이지만 첫번째 출력값은 '문자열'이고 두번째 출력값은 '정수'이다.
}