이전 포스팅에서는 IF 조건문의 기본적인 부분(최하단 링크)만 다뤄봤습니다. 이번에는 IF 조건문을 다양하게 만들어보고, 성적을 넣었을 때 등급을 출력하는 프로그램을 만들어보도록 하겠습니다. 논리 연산자와 비교 연산자 논리 연산자와 비교 연산자는 IF 조건에 가장 많이 활용되는 연산자로 얼마나 이 연산자들을 이해하는가에 따라 많은 개발을 할 수가 있어집니다. 문제 예시 현재 나에게 오렌지가 5개가 있고, 사과가 4개가 있으며 멜론은 없다. 친구한테 오렌지 4개를 주고 사과를 2개를 주었다. 나한테 오렌지가 2개 이상이면, "오렌지가 2개 이상입니다"라는 문구를 출력한다. 사과가 2개 이상이고 멜론이 있으면, 사과와 멜론이 있습니다라고 문구를 출력하며, 사과가 없거나, 멜론이 없을 경우 각각 "사과가 없습..
크론탭(Crontab)에서 Shell을 만들어 Java 프로그램을 실행할 때, 위와 같은 에러가 나는 경우가 발생한다. 위 에러는 jarfile을 access(접근, 실행) 할 수 없다는 의미이며, 이유는 파일을 찾지 못했기 때문이다. 파일이란 내가 있는 위치에서 실행을 하면 문제가 없지만, crontab이나 다른 곳에서 실행을 하는 경우 위치를 못잡는다. 그럴 땐 jar 파일마저도 path를 모두 붙여서 실행하든지, change directory를 한 후 실행을 하면 문제가 없어진다. 기존 Shell 내용 변경해야 될 내용 jar가 있는 폴더가 /home/test 라는 폴더일 경우 cd /home/test java -jar xxx.jar 위와 같이 cd로 디렉토리를 이동하는 것을 java 실행 전에 추..
안드로이드로 Activity를 설정하고 프로젝트를 생성하였다면, 좌측에 아래와 같은 프로젝트 구조가 보일 것입니다. 아직 안드로이드 개발을 시작한지 얼마 안된 분들이라면 구조가 이질적으로 느껴지실 수 있으실텐데 오늘은 구조에 대해서 설명을 해보도록 하겠습니다. 프로젝트 구조 위는 제가 이제 막 프로젝트를 생성하여 만든 프로젝트의 모습입니다. 대분류로는 app과 Gradle Scripts가 있고, app 밑에는 manifests, java, res가 있습니다. Gradle Scripts 우선 Gradle Scripts에 대해서 설명을 하자면 프로젝트를 위해서 필요한 라이브러리나 빌드, 구성 등을 설정하는데 사용되는 정보들입니다. 즉 개발 코드와는 상관이 없이 개발을 위해서 서포트를 하는 스크립트들이라 볼 ..
자바(Java)에서 가장 많이 사용하는 것 중에 하나가 바로 IF 조건문이고 프로그램은 조건문과 반복문만 사용할 줄 알아도 개발을 할 수 있게 되며, 나머지는 필요한 로직만 그때 그때 익히면 됩니다. IF 조건문 if (조건문) { // 내용 1 } else if (조건문) { // 내용 2 } else { // 내용 3 } IF 조건문은 크게 3가지로 구분이 되는데 바로 필수로 적어야 하는 if (조건)과 필수가 아닌 else if와 else 입니다. 맨 처음 if 조건을 체크하는데 조건값이 참(true)일 경우 if 조건문 밑에 있는 내용 1을 실행합니다. 만약 if 조건이 맞지 않을 경우, 바로 다음에 있는 else if의 조건을 체크하고 마찬가지로 조건이 true일 경우 내용 2를 실행합니다. i..
비교 연산자(Comparison Operators) 비교 연산자는 A와 B라는 2개의 값을 비교할 때 사용하는 연산자입니다. 2개의 값이 동일하다던지 혹은 동일하지 않다던지, 숫자로 되어 있어서 둘 중에 특정 값이 더 큰가? 등을 구할 때 사용됩니다. 비교 연산자들 연산자 공식 예시 == 같다 a == b != 같지 않다 a != b > 좌측값이 더 크다 a > b >= 좌측값이 더 크거나 같다 a >= b b)); System.out.println("b >= c -> " + (b >= c)); System.out.println("a " + (a true a > b -> true b >= c -> t..
자바를 배우는 초창기에는 문자열의 비교시 ==를 사용하여 예상치 못한 에러가 발생하는 경우가 종종 발생한다. 대개 true로 문제가 없는 경우도 많지만, 간혹 false가 떨어지곤 하는데 이 이유에 대해서 설명해보고자 한다. 자바 예시 String str1 = "삼성전자"; String str2 = "삼성전자"; String str3 = new String("삼성전자"); System.out.println(str1 == str2); System.out.println(str1 == str3); System.out.println(str1.equals(str3)); 위 예시를 해보면, 결과가 아래와 같이 떨어진다. true false true 결과에 대한 원인 str1과 str2는 새로운 객체가 아니기 때문에..
증감 연산자(increment and decrement operators) 증감 연산자는 정수형 변수를 1씩 증가하거나 감소시킬 때 사용하는 연산자입니다. 사실 증감 연산자는 장단점이 명확하고, 대체 방법이 있기 때문에 해당 기능이 없는 언어(ex: Python)도 존재합니다. 증감 연산자 종류 증감 연산자 예시 예시 기반 설명 전위 증가 ++i - i의 값을 1 증가 시킨 후 연산을 수행한다 후위 증가 i++ - 먼저 연산을 수행한 후 i의 값을 1 증가 시킨다. 전위 감소 --i - i의 값을 1 감소 시킨 후 연산을 수행한다. 후위 감소 i-- - 먼저 연산을 수행한 후 i의 값을 1 감소 시킨다. 코딩을 잘 모르는 분들은 이게 무슨 소린가? 할 수 있는데 설명만 보고서는 증감 연산자를 이해하기 힘..
변수에 대해서 알아보았으니 이제 본격적으로 컴퓨터로 계산을 하기 위한 가장 기본적인 연산자에 대해서 알아보도록 하겠습니다. 자바에서는 다양한 연산자가 존재합니다. 다만 개발을 하면서 이것은 무슨 연산자가 명칭을 외울 필요는 없고 코딩을 하면서 스스로 습득을 하는 것이 가장 중요합니다. 산술연산자(arithmetic operator) 산술연산자는 사칙연산처럼 2개의 값을 계산하기 위해서 사용되는 연산자입니다. 산술 연산자 내용 예시 + 두개의 값을 더한다. 1+2의 경우 3 - 왼쪽 기준의 값에서 오른쪽 값으로 뺀다. 2-1의 경우 1 * 두개의 값을 곱한다. 2*2의 경우 4 / 왼쪽 기준의 값에서 오른쪽 값으로 나눈다. 4/2의 경우 2 % 왼쪽 기준의 값에서 오른쪽 값으로 나눈 후, 나머지를 가져온다..
자바(Java)를 배우기 위해선 우선 기본적으로 변수(variable)와 선언할 때 사용하는 자료형(type)을 알아야 됩니다. 자바는 정수값을 저장하기 위해서는 정수값을 선언해야 하고, 문자들을 다루기 위해서는 문자열을 선언해야 합니다. 최근에 나오는 언어들은 알아서 타입을 지정(ex: kotlin)해주거나 선언 자체를 하지 않는 (ex: python, javascript) 언어들이 등장하기 때문에 자바가 구식처럼 느껴질 수 있지만, 사실 이 방식은 장단점이 있는 방식이기 때문에 어떤 언어가 좋다라고 말을 하기가 애매합니다. 변수에 형태를 지정하지 않는다면 편리함이 있을 수 있겠지만, 예상하지 못한 데이터가 들어갔을 때 에러를 막지 못하는 단점도 존재할 수 있겠죠. 변수(Variable) 변수라는 것은..
본 포스팅은 자바를 이제 막 배우기 시작한 학생이거나, 취업을 목표로 공부를 하려는 비전공자분들을 위한 강의 포스팅입니다. 그렇기에 강의는 순서대로 되어 있으며, 너무 불필요한 내용들은 최소화 하는 것이 목표입니다. 자바 101 강의 시리즈이기 때문에 추후, 직업에 따라 확장되는 분야들은 그 포스팅에서 진행하게 됩니다. 예를 들어, 앱 개발자가 되고 싶을 경우 자바 101 강의를 듣고, 코틀린(kotlin) 포스팅을 보거나 안드로이드 개발 강의를 보면 됩니다. 본 강의의 정식적인 루트는 자바에서 웹개발까지의 가장 기본적인 루트를 따라갑니다. 물론 웹개발 부분은 강의명이 자바 101이 아니라 웹개발 101 혹은 프론트엔드 101 혹은 스프링부트 101 등의 명칭으로 가게 될 예정입니다. 참고로 제가 이미 ..
자바(Java)에서 문자열을 자르는 방법으로 substring을 제공하고 있다. substring은 2가지 방식의 인자값을 받고 있으며 방식은 아래와 같다. substring 사용법 String substring(int startIndex); String substring(int startIndex, int endIndex); startIndex는 시작지점의 인덱스 값이고, endIndex는 종료 지점의 인덱스 값이다. 두 방식 모두 return 값으로 문자열(String)이 리턴된다. 사용 예제 public class Main { public static void main(String args[]) { String example = "동해물과 백두산이 마르고 닳도록"; System.out.println..
자바로 파일을 생성하는 방법은 다양하게 많지만 그 중 가장 범용적이고, 성능도 뛰어난 방법을 소개해보고자 한다. 테스트를 위한 String 생성 public static void main(String args[]) throws Exception { List sampleList = new ArrayList(); for(int i = 0; i < 10; i++) { sampleList.add("test-" + i); } } 테스트를 위해서 10번의 루트를 실행하며, test-0 ~ test-9까지 문자열을 생성하고 sampleList 스트링 리스트 변수에 문자열 값들을 저장한다. 파일 생성 메소드 public static boolean createTextFile(String filePath, List sam..