jdev

2016-07-04: JLPT5급 응시

어제는 JLPT5급 시험을 보고 왔다.

그저께에 이어 주말인데도 푹 잠자지 못하고 다음 날을 위한 준비로 평일과 같이 밤을 보냈다.

이번 JLPT는 접수만 해놓고, 책은 샀는데 한 번도 보지 않고(CD 리핑만 했으니..ㅎㅎ) 시험을 보러 갔다.

공부하는 데 스트레스를 극심하게 받았던 정보처리기사 실기와는 다르게,(심지어 시험날 시험을 보지도 못했지만…) 5월부터 지금까지 두달 간 배운 내용을 토대로 일본어 자격증이라는 것에 도전하게 되었다. 준비물은 OMR 컴퓨터용 사인펜이 아니라 HB연필이었다. ㅁㅁㅁ시절에 기념으로 받은(끝이 잘 깎이지도 않은 뭉툭한) 연필과 신분증, 수험표(A4용지)만 달랑 들고 이촌역으로 갔다. ㅅㅅ에서 사당까지, 그리고 사당에서 이촌까지 이동하는 데는 별 문제가 없었다.

살이 많이 쪄서 예전에 공항아울렛의 클라이드엔에 가서 샀던 티셔츠가 맞지 않아 답답했지만 파란 반바지와 마음에 드는 얇은 신발을 신고(나중에 내 모습을 봤을 때 그 기이함에 혀를 내두를 정도였다.) 가벼운 발걸음으로 시험장에 향했다. 습도가 MAX를 찍고 있는 여름이라 하늘이 뿌옇게 보였지만 공기는 나쁘지 않았다. 4호선 라인에 있는 중학교 치고는 나무가 많이 심어져 있어서 공기가 좋게 느껴졌다. 부산에서는 어딜 가든 공기가 그리 나쁘지 않아서 신경을 쓰지 않았지만, 여기서는 외출 시 공기 질(?)이 그날의 컨디션을 좌우한다.

시험장 입구에서 번호를 확인하고, 2층에 있는 3-9반에 들어갔다. 나도 중학교 시절 3학년 때 3-9반이었던 기억이 나는데, 요새 중학생들이 사용하는 높이 조절이 잘 된 의자와 책상에 앉아(발걸이도 튼튼하다.) 조금 남은 시간동안 Head First java 책을 펼쳤다. 책이 더러워서인지 아니면 먹은 음식에 문제가 있어서인지 손이 갑자기 가렵고 알레르기가 났다. 지난 번에 ㅎㅇ이와 서울에서 만났을 때 노래방에 가기 전 바나나주스를 먹은 이후 온몸이 가려웠던 기억이 나는데, 그때와는 달리 손등만 가렵고 벌겋게 달아올랐다.

JLPT시험은 처음에는 단어, 이후에는 독해, 마지막에는 듣기 평가가 있었다. 한자도 100개 외워야 하고, 예문도 외우고 자바 시험도 두 개나 준비해야 하고… 여러 모로 시험을 보는 시간이 아까웠지만, 시험을 보니 내가 어느 정도로 일본어를 공부한 것인지 확인 가능해서 나름 보람이 있었다. 시험에 응시하는 비용도 5만원 정도로 높다 보니 시험에 응시하지 않으면 큰 불이익일 것 같아서 (어쩔 수 없이) 치게 된 느낌도 있었지만.

결론을 말하면 시험 시간은 쓸데없이 길었고 문제 난이도는 매우 낮았다. 한 급수가 올라갈 때마다 많이 어려워지겠지만 일단 맨 아래 등급은 일본어를 많이 공부하지 않은 사람도 쉽게 합격할 수 있는 수준인 것 같다. 문제를 풀다 너무 쉬워서 피식 웃음이 나오는 것도 있었지만, 한자가 아니라 히라가나로만으로 된 문제에서는 오히려 히라가나를 읽는 시간이 오래 걸린다는 사실을 발견할 수 있었다. 그리고 모든 문제와 보기의 히라가나의 뜻을 다 아는 것도 아니라서 좀 더 많이 일본어를 접해야한다는 생각도 들었다.

시험을 보러 온 사람들은 남자가 3, 여자가 1 정도의 비율이었다. 그 중에서 내 왼쪽 분단의 앞쪽에 앉은 여성분은 고시생 느낌이 나는 머리 스타일에 커다란 NorthFace 가방을 옆에 걸어 놓고 있었고, 왼쪽 끝 분단과 우측 끝 분단의 여성분은 조금 가벼운 복장을 하고 와서 마실 나온 분위기임을 알 수 있었다. 내 앞 자리의 남성분은 머리가 많이 희끗희끗했는데, 나이가 좀 있어 보였다.

2016-07-04: JLPT5급 응시 더 읽기"

돈돈돈

KB: 500

보증금: 300 (추후 200더 받을거지만… 방빼기전엔 못받음)

800만원

치과: 200

남은 600만원으로,,, 방값

45*7=315

만약에 300만원 남았다고해도

300/7=42.8571

한달에 42만원 이상 쓰면 안된다.

한달에 방세포함해 100만원씩 쓴다는 생각으로.

아 힘겹다.

치과진료비 나오면 6개월 이상으로 할부해야 할 듯.

————- 9/1/2016  update ————–

현재 자금상황

※ SC에는 555.41달러 : 620569.832원

현재 환율인 1,117.31844 원으로 계산함.

신한 728749
KB 5875303
SC 620569
IBK 116012
합계 7,340,633

내년 2월에 출발한다고 가정하면

6개월 더 살아야 한다.

고정 지출:

치과 1200000
방세 450000*6=2700000
카드누적(남은) 800000
통신비 23100*6=138600
전기세, 가스 50000*6=300000
지방세,건강보험 등 50000*6=300000
합계 5,438,600

잔액 – 고정지출 = 1,902,033

200만원으로 그 외 비용을 써야 함.

6개월이면 하루에 33만원?

더 받을 돈 생각하면 300만원 있으니

50씩 더 쓸 수 있다고 하면 한 달에 고정지출 제하고 80만원.

한 달에 50만원씩만 카드로 지출되면 성공.

좀 더 생각해 보자:

하루 밥값:

점심: 지하식당 4200*25=105000
아침, 저녁: 5000*25=125000
504번/5528번 2400*25=60000
합계 290,000

딱 되긴 하네. 30만원.

아침저녁을 5000원 안으로 먹어야 함.

점심을 지하식당 가격으로 먹고, 아침과 저녁을 5000원 안 선에서 해결하면…

더 받을 돈:

보증금 2000000
취업 후 2000000-1000000=1000000
합계 3,000,000

※ 보증금 잔액은 막판에 가서 자금부족시 미리 당겨서 받기(1월 정도)

※ 학원 부담금은 막판에 취업 지원금에서 절반을 납부

미리 돈 걱정하기 보다는 아껴 쓰고, 막판에 가서

돈돈돈 더 읽기"

2016-05-20: 진법과 자료형

imageimage

image

image

image

image

연산자에 들어가고 있다. 진법 변환과 자료형에 대해서 너무나 좋은 강의를 들었다. 미래에 관해서는 잘 모르겠지만… 학습 품질에 관해서는 선택을 잘 한 것 같다. 재미있게 배우는 중. 물론 과제나 시험에선 좀 괴롭겠지만… 지금은 일단 즐기고 있다.

2016-05-20: 진법과 자료형 더 읽기"

2016-05-20: 일주일째

image

어제 저녁… 사람만나고 벼락치기 공부하고. 오늘 처음으로 쪽지 시험(일본어)을 봤다. 1, 2장이 그렇게 어려운 내용은 아닌데도… 학습서에 있는 내용을 그대로 외우고 적는다는 것은 쉽지 않았다. 그래도 벼락치기로 공부해서 100점을 받아서 다행이라는 생각이 들었다. 다음 주 월요일에도 시험이 계속된다. 주말에도 공부해야 한다니 조금 슬퍼진다.

2016-05-20: 일주일째 더 읽기"

2016-05-19: 첫 시험준비

합정역에서 미팅(?)을 다녀온 후 허겁지겁 일본어 교재를 다시 쳐다보고 있다. 내일 처음으로 쪽지 시험을 치게 된다. 과연 한 방에 붙을 수 있을까? 첫 내용이라서 그렇게 어렵진 않다. 기초적인 한문을 외우는 것에 집중하면 의외로 쉽게 대비할 수 있을 것 같다.

IMG_20160519_182512

어서 공부하자! ㅋㅋ…. 옛날에 맞춤법 시험을 보는 기분이네. 초등학교 시절엔 받아쓰기도 여러 번 했었지…

2016-05-19: 첫 시험준비 더 읽기"

2015-05-19: 변수와 상수

변수: 값을 저장할 수 있는 메모리 상의 공간(기억공간)

variable 미국식 [|veriəbl;|vӕriəbl] 영국식 [|veəriəbl]
[형용사] 변동이 심한; 가변적인 참고 invariable
variable temperatures(가변적인 기온)
출처: http://endic.naver.com/enkrEntry.nhn?sLn=kr&entryId=205d8e9c40c7439da55eebd7e85c3507&query=variable

java_20160519

사용법

자료형 변수명; // 변수 선언
int num;
String name;
num=50; // 자료 저장(초기화)
name=”Hong”; // 문자열은 “”로 묶어준다.
num=30; // num이 30이 된다. ‘변수’ 값이 바뀜.

변수 선언과 초기화를 분리하는 것이 보기에 좋다.(취향의 문제)

자료형 종류는 8가지.

  • 실무에서 사용하는 것은 4~5가지 정도임
    • boolean, int, double, String 등

변수명은 마음대로. 선언은 한 번만!

int num = 50;
int num = 30; // 오류!

변수 선언 및 출력

자바의 정석 21쪽

class VarEx1 {
	public static void main(String[] args) {
		int year = 0, age = 14;

		System.out.println("Year:" + year);
		System.out.println("Age: " + age);
		
		year = age + 2000;	// age + 2000 = year
		age = age + 1;		// age + 1
		
		System.out.println("\nYear:" + year);
		System.out.println("Age: " + age);
	}
}

실제로 수학에서는 age + 2000 = year 이지만 컴퓨터에서는 year = age + 2000 식으로 사용

  • 내부에서 ADD 명령 처리하는 과정

clip_image001

변수를 선언하여 값을 저장하고 출력.

누적 연산

age += 1; // age = age+1; 또는 age++; 과 동일

참고

= (대입 연산자)는 어떤 식보다도 늦게 수행된다.

임시 변수

입력/출력을 하지 않고 임시로 사용되는 것

보통 일반적인 경우 tmp, temp 라는 이름으로 사용됨

예: a, b의 값을 서로 교환할 때
temp = a;
b = a;
b = temp;

변수의 명명규칙

  • 숫자 시작(x)
  • 특수문자는 _와 $만 허용

권장하는 규칙

  • 상수의 이름은 모두 대문자로.

final int MAX=100; // C언어에서 const와 같이 JAVA에서는 final을 사용해 변수를 상수화 시킴. 값을 잠가 다른 값으로 변경할 수 없게 만듦. MAX 처럼 모두 대문자를 사용. 여러 단어로 이루어진 경우 _을 붙여준다.(MAX_NUMBER)

  • 변수명이 길어지더라도 그 변수가 어떤 역할을 하는지 유추할 수 있게 하면 좋다.

변수의 타입

  • 기본형(Primitive Type)

    논리

    문자

    정수

    실수

    boolean: 1

    char: 2

    byte: 1

    short: 2

    int: 4

    long: 8

    float: 4
    double: 8

  • 참조형(Reference Type)
    • 주소를 값으로 갖는다. 주소가 저장됨. 참조변수.

참고

printf

  • C언어의 printf처럼 JAVA에서도 실수의 소수점을 원하는 대로 표시 가능.(잘 사용하지는 않는다)

System.out.printf(“점수: %d \n”, score); // %d: score를 정수 형태로 찍어라, \n: 줄바꿈
System.out.printf(“a: %d, pi: %f \n”, a, pi); // 여러 개를 표시 가능.

  • printf(“%4.2f”, pi); // 아래와 같이 저장됨. 4칸을 가지고, 소수점도 칸을 차지.

    3

    .

    1

    4

만약 큰 값이 오면 정수부는 최대한 살리고 소수점이 영향을 받음.

입력 받기 – Scanner

Scanner는 java.lang (기본)에는 없고, java.util 패키지에 있음. 같은 일을 하는 패키지를 모음.

C언어에서 Header File을 Include 하듯, JAVA에서는 Import 하면 된다.

  1. package: 문서의 맨 위에 작성.
  2. import: Scanner를 사용하려면 import를 사용.
  3. class:

자바의 정석 p.41 입력 받고 출력하기

import java.util.Scanner;

class ScannerEx {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("input one number ");
		String input = sc.nextLine();
		int num = Integer.parseInt(input);
		
		System.out.println("value: " + input);
		System.out.printf("num = %d%n", num);
	}
}

clip_image002

실행 결과

import java.util.Scanner; // java.util.* 을 전부 임포트 하면 좀 그렇겠지??

Scanner scanner = new Scanner(System.in)

  • Scanner: 클래스
  • scanner: 변수
  • new: 명령어
    • 클래스를 로딩시키는 것

String input = sc.nextLine();
nextLine(); // 스페이스바 포함해 키보드로 입력받음(문자열)
next(); // 스페이스 바 이전의 단어만 인식(문자열). 거의 사용하지 않음.
sc.nextLine(); // 결과가 문자열로 나옴

int num = integer.parseInt(input);

  • integer 클래스 속의 parseInt() 함수
  • parseInt(); // 정수 형태의 문자열을 정수로 바꿔줌.

실습1 이름과 나이 입력받아 출력하기

import java.util.Scanner;

class TestScanner1 {
	public static void main(String[] args) {
		String name, tmp; // init name, tmp
		int age; // init age
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("input your name ");
		name = sc.nextLine(); // input name 
		
		System.out.print("input your age ");
		tmp = sc.nextLine(); // input age
		
		age = Integer.parseInt(tmp); // age (String to Integer)
		
		System.out.print("\nName: [" + name + "] and... "); // results
		System.out.printf("Age : [%d] ^_^", age);
	}
}

clip_image003

실행결과

실습2 두 개의 숫자를 입력 받아 출력

import java.util.Scanner;

class TestScanner2 {
	public static void main(String[] args) {
		int num1, num2, total; // init numbers, total variable
		String tmp; // init temp
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("input number one ");
		tmp = sc.nextLine(); // input num1
		num1 = Integer.parseInt(tmp); // num1 to Integer)
		
		System.out.print("input number two ");
		tmp = sc.nextLine(); // input num2
		num2 = Integer.parseInt(tmp); // num1 to Integer)
		
		total = num1 + num2; // 1+2
		
		System.out.println("one + two = " + total); // result
	}
}

clip_image004

실행결과

2015-05-19: 변수와 상수 더 읽기"