본문 바로가기
반응형

분류 전체보기256

chap_02. 변수 변수는 일반적으로 '변할 수 있는 자료'이며 값을 저장할 때 사용하는 식별자이다. ①변수를 선언하고, ②변수에 값을 할당하고, ③변수를 참조하는 방식으로 변수를 활용한다. 복합대입연산자 복합대입연산자는 자료형에 적용하는 기본 연산자와 = 연산자를 함께 사용하는 연산자이다. += : 숫자 덧셈 후 대입 -= : 숫자 뺄셈 후 대입 *= : 숫자 곱셈 후 대입 /= : 숫자 나눗셈 후 대입 %= : 숫자의 나머지를 구한 후 대입 **= : 숫자의 제곱 후 대입 사용자입력: input() 파이썬은 명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 input() 함수를 사용한다. input("인사말을 입력하세요>") 위 코드를 실행하면 "인사말을 입력하세요>" 문자열이 뜨고 프로그램이 잠시 멈춘상태로 대기하고.. 2023. 7. 31.
chap_02. 자료형 자료형 자료형 : 자료의 형식, 개발자들이 기능과 역할에 따라 자료를 다룰 수 있도록 구분한 종류 (문자열 String,숫자 Number ,불 Boolean) 파이썬에서 자료의 형식을 확인할 때는 type() 함수를 사용한다. 문자열 일반적으로 문자열은 문자들은 큰 따옴표 (") 혹은 작은 따옴표 (')로 감싸서 만든다. 큰따옴표나 작은따옴표를 포함한 문자열을 생성하는 경우를 대비해 두가지 방법으로 문자열을 만들도록 지원한다. (Ex. 나는 "안녕"이라고 말했어 문자열을 생성하고 싶을 때 → "나는 "안녕"이라고 말했어" : 구문오류(Syntax Error) / '나는 "안녕"이라고 말했어' → 정상) 이러한 방법이 불편한 경우 이스케이프 문자를 사용해 문자열을 만들 수도 있다. \" : 큰따옴표, \'.. 2023. 7. 31.
chap_1. 파이썬 시작하기 프로그램이란? 영어로 Program은 Pro와 Gram이 합쳐져 만들어진 단어로 'Pro'는 미리, 먼저를 의미하고 'Gram'은 작성된 것을 의미한다. 국어사전에서 '프로그램'은 '진행 계획이나 순서'로 표기되어있다. 프로그램 : 미리 작성된 진행 계획 프로그래밍 : 프로그램을 만드는 것 컴퓨터 프로그램 : 컴퓨터가 무엇을 해야할지 미리 작성한 진행 계획 이진코드 : 컴퓨터가 이해할 수 있는 값인 이진 숫자(0, 1)로 만든 코드 프로그래밍 언어 :프로그램을만들려는 목적으로 사람이 이해하기 쉬운 언어를 이용해 만들어진 언어 소스코드 : 프로그래밍 언어로 사람이 쉽게 읽고 이해할 수 있도록 만든 코드 개발환경 : 프로그래밍을 할 수 있는 환경 텍스트에디터 : 파이썬 코드를 작성한다. 코드 실행기 : 코드.. 2023. 7. 14.
chap_13. 파일/폴더 다루기 Java를 통하여 파일을 만들고 정보를 불러오는 방법을 학습해보자. file.createNewFile() 을 통해 파일을 생성한다.(이미 해당 파일이 존재하는 경우 생성하지 않음) file.exists() 파일 존재 유무를 확인한다. file.getName() 파일의 이름을 불러온다. file.getAbsolutePath() 파일의 절대 경로를 불러온다. file.getLength() 파일의 크기 Byte 를 불러온다. 이번시간에는 폴더에 대하여 학습해보자. folder.mkdir() 을 통해 해당 폴더를 생성한다. folder.mkdirs() 를 통해 하위폴더를 생성할 수 있다. filesAndFolders.listFiles() 를 통해 해당 경로 내에 파일/폴더 리스트를 확인할 수 있다. file.i.. 2023. 7. 13.
chap_13. 출력 Java는 System.out.format()이나 System.out.printf() 출력 결과물의 포맷을 다양하게 설정할 수 있다. 아래 예제를 통해 정수를 다양한 포맷으로 출력하는 방법을 학습해보자. 위 예제에 대하여 실수로 출력하는 포맷을 학습해보자. (Math.PI 원주율을 이용하여) 이번에는 문자열을 다양한 포맷으로 출력해보자. 위의 학습한 출력포맷을 이용해 다음 예제를 학습해보자. System.out.println() 을 이용해 학생들의 점수를 출력하였다. 그런데 출력물을 보면 공백이 맞지 않아 가독성이 떨어지는 단점이 있다. 위에서 학습한 포맷을 통해 정리해보자. System.out.printf()를 활용하여 정돈된 결과물을 확인할 수 있다. 2023. 7. 12.
chap_13. 입력 사용자로부터 데이터를 입력받아 처리하는 로직을 작성해보자. 위 코드를 실행하면 사용자에게 이름을 입력받은 후 입력받은 정보를 출력하는 것을 확인할 수 있다. 아래 예제를 통해 다양한 데이터 타입에 대하여 데이터 입력 및 출력을 학습해보자. 위 구문을 실행하고 "Java", "좋아요"를 입력할 때 실행되는 결과이다. 이 때 sc.next()의 특성상 띄어쓰기를 입력하면 예상치 못한 오류가 발생될 수 있다. 예를들어 "무슨 프로그래밍 언어를 배웠나요?" 라는 질문에 "Java를 배웠어요" 라고 답변했다고 해보자. 첫 질문에 "Java를 배웠어요" 라고 입력하자 "Java를" / "배웠어요" 로 나뉘어서 답변 처리가 된것을 볼 수 있다. 이는 sc.next() 메소드는 띄어쓰기로 구분해서 값을 입력받는 형식이.. 2023. 7. 11.
chap_12. 동기화 기존 쓰레드 시간에 학습한 예제를 볼 때 직원 1, 직원 2 가 각각 방을 청소하면서 방 청소 순서가 섞여서 진행되었다. 이번에는 방을 순차적으로 청소하도록 동기화를 활용해보자. 위와 같이 Room 클래스를 별도로 생성하여 직원 1, 2가 5개의 방씩 순차적으로 청소하도록 하였다. 하지만 실행결과를 보면 아래와 같이 1번방이 두번 청소된 것을 볼 수 있다. 두개의 쓰레드가 동시에 실행되면서 발생하는 오류이다. 동기화를 활용해 한 쓰레드가 실행중이면 다른 쓰레드가 접근하지 못하도록 개선 해보자. Room 클래스의 clean() 메소드 앞에 synchronized 를 추가해주면 동기화되어 여러개의 쓰레드가 동시에 접근하지 못한다. 2023. 7. 11.
chap_12. Thread와 Runnable, Join, MultiThread 일반적으로 실행가능한 프로그램은 .exe 형태로 만들어져있다. 그리고 프로그램을 실행함으로써 현재 돌아가고 있는 상태를 프로세스라고 한다. 해당 프로세스 자원을 이용해 작업을 수행하는 것을 쓰레드라고 한다. 일반적으로 프로세스는 여러개의 쓰레드를 가질 수 있지만, 따로 쓰레드 처리를 해주지 않으면 Java는 하나의 프로세스가 하나의 쓰레드만을 가지며 순차적으로 수행한다. 위와 같이 1명이 1~10번방 청소를 혼자 순차적으로 진행하도록 하였다. 이번에는 청소를 할 사람 2명으로 늘려서 2개의 쓰레드를 처리해보자. 우선 CleanThread 라는 클래스를 별도로 생성하여 직원이 홀수방을 청소를 수행하는 메소드를 생성하였다. 그리고 사장님이 짝수방을 청소하는 cleanByBoss() 메소드를 생성하였다. cl.. 2023. 7. 11.
chap_11. 예외처리미루기(Throws) 위와 같이 test.txt 파일을 불러오기를 시도하는 구문을 생성하였다. 오류가 발생되면 "파일 쓰기에 실패했습니다.", "writeFile 메소드 내에서 자체해결하였습니다."가 출력된다. writeFile() 메소드를 실행하는 동안 오류가 발생하였을 때 해당 메소드 내에서 자체적으로 예외처리 할 수도 있고 throws를 이용해 메소드를 호출한 위치에서 예외처리하도록 만들 수도 있다. 2023. 7. 10.
chap_11. 사용자 정의 예외 이전 시간에 throw를 학습하면서 위와 같은 예제를 학습하였다. 이는 age 값을 17로 설정하고 age 2023. 7. 10.
반응형