파이썬으로 알고리즘 공부 하다가..
파이썬으로 코테 보고 java로 작성하지 못하는 불상사를 저질렀다는 사람을 본 뒤
경각심을 느껴 나도 java로 코테 보기로 했다.
힘들긴 하겠다만, 그래도 java가 주력 언어이기 때문에 나중에 실보다는 득이 될 것같기도 하다.
이번달 내로 할 게 너무 많다. 힘들긴 하지만 화이팅해보자!
import java.util.Scanner; 를 추가해준다.
Scanner 객체명(stdIn) = new Scanner(System.in);
System.in 키보드에서 사용자로부터 키 입력을 받기 위해서 사용한다.
Scanner의 인스턴스를 stdIn이라는 이름으로 생성한다.
System.in : 표준 입력 스트림이다.
stdIn.nextInt()를 호출하면 입력한 정숫값을 얻을 수 있다.
실제로 실행할 연산을 나타내는 기호
제어 흐름을 나타내는 선 기호
프로그램 순서도를 이해하거나 작성하는 데 편리한 특수 기호
데이터
데이터 입력과 출력을 나타낸다.
처리
정보값, 자료형, 연산의 실행을 나타낸다.
미리 정의된 처리
서브루틴 및 모듈 등 다른 곳에서 이미 정의된 하나 이상의 연산 또는 여러 개의 명령어로 이루어진 처리를 나타낸다.
판단
정의한 조건을 평가하여 선택하는 판단 기능을 나타낸다.
루프 범위
루프의 시작과 종료를 나타낸다.
선
제어의 흐름을 나타낸다. 흐름의 방향을 분명히 할 때 나타낸다.
단말
외부 환경으로 나가거나 외부 환경에서 들어오는 것을 나타낸다. 흐름의 시작과 종료를 나타낸다.
while(제어식) {
명령문
}
int n = stdIn.nextInt(); 이렇게 값을 입력받아줘야 한다.
while문이 종료될 때 변수 i값이 n+1이 되어야 한다.
i값이 n보다 크면 최종 값은 i가 아니라 n+1이다.
가우스의 덧셈 : 1~10의 합 = (1 + 10) * 5 으로 구할 수 있다.
정수 a, b를 포함하여 그 사이의 모든 정수의 합을 구하여 반환하는 메서드를 작성하시오.
static int sumof(int a, int b)
여러개의 for문
for (int i = 1; i<= 5; i++)
sum += i;
for (int i = 1; i<= 7; i++)
System.out.prinln(i);
do while문 (제어식);
int no = Integer.toString(Math.abs(a)).length();
System.out.prinln(no);
Integer.toString(Math.abs()).length();를 이용하면 자릿수를 더 쉽게 구할 수 있다.
abs를 사용하면 음수를 입력했을 때에도 구할 수 있다.
괄호 안의 내용을 단순하게 출력한다. 개행문자 불가능
내용물을 출력할 때 개행문자가 포함되어 있기 때문에 출력한 뒤에 한 줄 띄워진다.
지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있다.
System.out.printf("출력 서식", 출력할 내용);
줄바꿈을 하지 않고, 줄바꿈을 하려면 %n을 넣어줘야 한다.
자릿수 지정을 안 했을 경우 왼쪽으로 정렬된다.
System.out.printf("%d", 1);
System.out.printf("%d", 10);
System.out.printf("%d", 100);
System.out.printf("%d", 1000);
자릿수 지정 할 경우 오른쪽으로 정렬된다. (남는 자릿수 공백)
System.out.printf("%4d", 1);
System.out.printf("%4d", 10);
System.out.printf("%4d", 100);
System.out.printf("%4d", 1000);
자릿수 지정 후 '-'를 사용하면 왼쪽으로 정렬된다.
System.out.printf("%-4d", 1);
System.out.printf("%-4d", 10);
System.out.printf("%-4d", 100);
System.out.printf("%-4d", 1000);
자릿수 지정 후 '0'을 사용하면 오른쪽으로 정렬
System.out.printf("%04d", 1);
System.out.printf("%04d", 10);
System.out.printf("%04d", 100);
System.out.printf("%04d", 1000);