분류 전체보기

    [경향신문 여적] 기본값의 위력 / 차준철 논설위원

    기본값이란 사용자가 따로 지정하지 않으면 자동으로 선택되는 초기 설정을 말한다. 흔히 ‘디폴트’로 불린다. 문서작성 프로그램의 글자 크기 ‘10포인트’, 인터넷 연결 때 뜨는 특정 브라우저 같은 것들이다. 행동경제학에서는 대다수의 사람들이 기본값을 바꾸지 않는 것으로 본다. 특별한 이득이 없는 한 현재 주어진 상황을 고수하려는, ‘현상유지 편향’이 작용한다는 것이다. 지정좌석제가 아닌데도 늘 앉던 자리에 앉고, 항상 다니던 길로 출퇴근하는 식이다. ‘아무러면 어때’ 하는 가벼운 심리일 수 있지만, 어찌 보면 ‘귀차니즘’이나 타성이라 할 수도 있다. 이런 성향을 겨냥한 마케팅은 이미 주위에 친숙하다. 영화·동영상 사이트 등의 ‘1개월 무료 체험 이벤트’가 대표 사례다. 무료 기간이 끝나고도 무심결에 구독을..

    커맨드 라인을 통해 입력받기

    커맨드 라인을 통해 입력받기

    커맨드 라인 입력 커맨드 라인에 입력한 값이 문자열 배열에 담겨 전달 입력값을 참조변수 String[] args에 전달 public static void main(String[] args) { System.out.println("args Length: " + args.length); for(int i = 0; i < args.length; i++) { System.out.printf("args[%d]: %s\n", i, args[i]); } } 출력물 args Length: 3 args[0]: 123 args[1]: abc args[2]: Hello World

    [한겨레 유레카] 징벌적 손해배상과 형사처벌 / 박용현 논설위원

    유엔을 비롯한 국제기구와 표현의 자유 옹호단체들은 명예를 훼손하는 언론 보도에 대한 민형사 제재와 관련해 많은 기준을 제시하고 있다. 특히 형사처벌은 정당한 보도마저 주저하게 만드는 ‘위축 효과’가 가장 크기 때문에 민주주의 사회에서 용인될 수 없다는 입장이다. 유엔인권위원회는 2011년 “회원국들은 명예훼손을 범죄로 다루지 않는 것을 고려해야 하며, 특히 징역형은 결코 적절한 제재 수단이 아니다”라고 밝혔다. 유엔 ‘표현의 자유 특별보고관’은 지속적으로 “형사적 제재, 특히 징역형은 절대 가해져서는 안 된다”고 강조하며 우리나라를 비롯해 명예훼손죄를 두고 있는 국가에 폐지를 권고해왔다. 이에 따라 세계적으로 명예훼손에 대한 형사처벌을 폐지하는 나라들이 늘고 있다. 영국에서는 1970년대 이후 명예훼손으..

    배열(Array)

    배열 같은 타입의 여러 변수를 하나로 묶어 사용 e.g.) int nNum1, nNum2, nNum3; ➡ int[] nNum; 배열의 선언과 생성 e.g.) int[] nNum = new int[3]; 배열의 선언은 배열을 다루기 위한 참조변수(nNum) 선언 배열의 생성(new)과 함께 배열의 저장공간 생성(int[3]) 배열은 인덱스가 생성되며 번호는 0번부터 시작(nNum[0], nNum[1], nNum[2]) 참조변수는 인덱스의 0번 주소를 참조(nNum ➡ int nNum[0] , int nNum[1], int nNum[2]) 배열의 저장구조 참조변수는 Stack영역에 생성되며 Heap영역에 있는 인덱스의 0번 주소를 참조 참조변수의 크기는 주소를 담는 공간으로 OS비트 x32(4byte), ..

    분기문(break, continue)

    break switch 조건식과 반복문에서 사용 중첩 반복문에서는 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문 continue 반복문 내에서만 사용 가능 특정 조건을 건너뛸 때 주로 사용 자신이 포함된 반복문의 끝으로 이동하여 다음 반복으로 넘어감 for문의 경우 증감식으로 이동, while(do~while) 문은 조건식으로 이동 break문 예제1 사용자에게 문자열을 입력받고 문자열 길이 출력 exit 입력 시 프로그램 종료 public void method1() { String sInput = ""; Scanner s = new Scanner(System.in); while(true) { System.out.printf("Insert String: "); sInput = s.nextLine()..

    난수 생성 Math.random

    Math.random() 0.0 ~ 1.0 사이의 임의 double값 반환 유효범위는 0.0 ~ 0.99999... 로또 번호 생성, 음수 범위 난수 생성 public void method3() { int nNum = 0; for (int i = 1; i

    반복문 do ~ while

    do ~ while 문 스코프 { }를 최소한 한 번 이상 반복 사용자 입력을 받는 경우 주로 사용 do { // 처음 한 번은 무조건 실행 // 조건식이 만족할 시 반복 수행 } while (조건식); 1 ~ 임의의 수(1~10)까지 의 합계 public void method2() { int nRandom = ((int)(Math.random()*10)+1); int nSum = 0; int i = 0; do { i++; nSum += i; System.out.println("nRandom: " + nRandom); System.out.printf("i: %d, nSum: %d\n", i, nSum); } while(i < nRandom); System.out.println("Total: " + nSu..

    반복문 while

    while 문 조건을 만족시키는 동안 스코프 { }를 반복 수행 반복 횟수를 모를 때 주로 사용 while (조건식) { // 조건에 만족할 시 반복 수행 } exit 입력 시 프로그램 종료 public void method2() { String sInput = ""; Scanner s = new Scanner(System.in); while(sInput.equalsIgnoreCase("exit")) { System.out.printf("Insert String: "); sInput = s.nextLine(); System.out.println(sInput); } System.out.println("Bye~!"); } 출력물 Insert String: asdf asdf Insert String: EXIT..

    중첩 for 문

    중첩 for 문 for문 안에 또 다른 for문 포함 for(초기화; 조건식; 증감식) { for(초기화; 조건식; 증감식;) { // 1, 2번째 for문 조건에 만족할 시 반복 수행 } // 1번째 for문 조건에 만족할 시 반복 수행 } 구구단 세로로 출력 public void method2() { for(int nDan = 2; nDan

    반복문 for

    for 문 반복하는 횟수를 알고 있을 때 주로 사용 for(1️⃣초기화; 2️⃣조건식; 4️⃣증감식) { // 3️⃣조건에 만족할 시 반복 수행 } 예제 public void method1() { for(int i = 0; i 0; i--)System.out.println(i); } 출력물 0 1 2 3 2 1 1 ~ 20 까지 짝수 출력 public void method1() { for(int i = 2; i

    반복문(제어문)

    반복문 프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 조건을 만족하는 동안 스코프 { }를 반복 수행 종류 for 문 중첩 for문 while 문 do ~ while 문

    조건문 switch

    switch 문 조건식 하나로 처리해야 하는 경우의 수가 많을 때 사용 조건식의 결과는 정수 또는 문자열 case문의 값은 정수, 상수(문자 포함), 문자열만 가능 default는 모든 조건식이 불일치 시 실행하며 생략가능 break문이나 switch문의 끝을 만나면 조건문 종료 예제 switch (조건식) { case 값1 : // 조건식의 결과가 값1과 만족할 경우 수행 break; // switch문을 벗어난다. ... default : // 조건식이 모두 만족하지 않을 때 수행 } 과일 가격 출력 public void method1() { String sFruit =""; int nPrice = 0; Scanner s = new Scanner(System.in); System.out.printf(..