본문 바로가기

java12

코드업 기초 100제 C++/Java (78~92) 코드업 78번 부터는 기초 종합이다. 지금까지 배웠던 것을 사용해서 다양한 문제 풀이를 해볼 수 있다. 78번~92번 : 기초 종합 (배열X) #1078 #include int main() { int a; std::cin >> a; int res = 0; for (int i = 2; i b; for (int i = 1; i a >> d >> n; for (int i = 0; i a >> b >> c >> d; for (int i = 0; i a >> b >> c; i = 1; while (true) { if (i % a == 0 && i % b == 0 && i % c == 0).. 2023. 12. 21.
코드업 기초 100제 C++/Java (65~77) 문제집 / C언어 기초 100제 codeup.kr 코드업 기초 100제 C++/Java (1~37) 1~8번: 기초 출력 스탠다드 인풋 없이 스탠다드 아웃풋만 내는 방식이다. C++의 경우 cout을 사용하였다. (물론 printf도 가능은 하지만) using namespace std;를 외치지 않은 경우, 그냥 cout이 아니라 std::cou mylittlenotepad.tistory.com 코드업 기초 100제 C++/Java (38~46, 49~58, 63~64) 코드업 기초 100제 바로가기 문제집 / C언어 기초 100제 codeup.kr 38번~46번 : 기초 산술 연산 (작성중) 49번~52번 : 기초 비교 연산 if else block 사용 #1049 #include int main() .. 2023. 12. 17.
JavaFX - 개요 및 라이프사이클 JavaFX란? 크로스 플랫폼에서 실행하는 Rich Client Application을 개발하기 위한 그래픽과 미디어 패키지다. 자바7부터 JDK에 포함되어 있음. 자바7 이후 버전을 사용한다면 (대부분 그렇겠지만) 별도 SDK 설치 없이 바로 사용 가능하다. JavaFX 어플리케이션에서 UI 생성, 이벤트 처리, 멀티미디어 재생, 웹 뷰 등과 같은 기능은 JavaFX API로 개발하고, 그 이외 기능은 자바 표준 API를 활용해서 개발한다. JavaFX는 화면 레이아웃 스타일과 어플리케이션 로직을 분리할 수 있다. 디자이너와 개발자들이 분업/협업할 수 있다는 것은 정말 큰 장점이다. 그래프 디자이너가 CSS로 작업할 동안 개발자들은 로직에 좀 더 집중할 수 있으니까. (심지어 내 회사에서는 CSS파일을.. 2022. 10. 20.
메이븐으로 자바 프로젝트 생성하기 (실습 - 2) 메이븐 관련 세 번째 글이다. 첫 번째 글은 메이븐이 무엇인지에 대해 설명하였다. 앤트 빌드가 아닌 메이븐 빌드에 가진 장점과 특징에 대해 설명했다. 두 번째 글은 직접 IDE를 사용하여 메이븐으로 조그만 프로젝트를 만들어 보았다. 새 메소드 (mockito)를 사용하기 위하여, 기존 junit 외에 새 라이브러리를 다운받는 과정이 나와있다. 세 번째 글 역시 실습이다. 이번에는 서브 모듈 프로젝트를 생성하여, 프로젝트 프로젝트 간 의존성이 있을 때, 어떻게 pom.xml이 기록되고 라이브러리가 다운받아지는지 작성하고자 한다. 메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 .. 2022. 10. 3.
메이븐으로 자바 프로젝트 생성하기 (실습 - 1) 지난 번 글에선 메이븐이 무엇인지 설명했었다. 이미 만들어져있는 프로젝트나 폼파일을 가지고 설명했었다. 메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 했다. 정말정말정말정말!!!! 코드가 아무리 맞게 짜여져 있어도 메이븐 mylittlenotepad.tistory.com 이번 글에선 실습이다. 직접 텅빈 폴더에서, 폼파일도 작성하고 라이브러리도 다운받으며 메이븐 프로젝트의 생성 과정을 지켜보자. 학습/실습 목표 IDE(예: 인텔리제이)를 활용하여 메이븐 프로젝트를 생성할 수 있다. pom.xml에 적힌 태그들을 이해할 수 있다. plugin, dependency, versi.. 2022. 9. 24.
메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 했다. 정말정말정말정말!!!! 코드가 아무리 맞게 짜여져 있어도 메이븐이 꼬여 있으면 ㅠㅠ 프로그램이 작동하지 않는다..... (아무리 apple.java, banana.java, kiwi.java가 알맞게 짜여있어도) 처음에는 이것이 도무지 이해가 가지 않았었다. 아니 난 옆자리 분과 토씨하나 틀리지 않고 똑같은 코드를 가지고 있는데, 내 컴퓨터에선 작동 자체가 되지 않는 것인가? 처음엔 이 순간만 모면하면 되겠지, 어떻게든 run만 되면 되겠지 란 마음으로 대충 환경을 설정하고 새로고침하고 생활하다가... 왜 이게 작동되는지 모르고, 왜 이게 안되는지 모르니깐 버리는 시간이 많더라. 그.. 2022. 9. 18.
이것이 자바다 확인 문제 풀이 5장, 챕터5, Chapter5 [신용권의 이것이 자바다 챕터 4 조건문과 반복문 확인 문제 풀이] ■ 문제1 답 : 4번 ① ㅇㅇ. 참조 타입에는 배열, 열거, 클래스, 인터페이스가 있다. ② ㅇㅇ. 참조 타입 변수는 스택에 생성되며, 변수가 참조하는 객체가 힙에 생성된다. ③ ㅇㅇ. 참조 타입에서 비교 연산은 주소값 비교이다. ④ ㄴㄴ. 참조 타입은 null 값으로 초기화 할 수 있다. 아직 참조할 게 없다는 뜻. ■ 문제2 답 : 3번 ① ㅇㅇ. 로컬 변수는 스택에 생성되고 코드 블록이 끝나면 지워진다 ② ㅇㅇ. 메소드 코드, 상수, 열거 상수는 정적 메소드 영역에 생성된다. (변수가 스택, 객체가 힙) ③ ㄴㄴ. JVM이 알아서 가비지 콜랙터로 지워버리니, 개발자가 굳이 코드 짤 수고 불필요 ④ ㅇㅇ. 배열 및 객체는 힙에 생성.. 2021. 8. 8.
이것이 자바다 5장 복습 : 참조 타입 (2/) String, 배열 ◆ String 사실 문자열을 스트링 변수에 저장한다는 말은 틀린 표현이다. (일반적으로 이런 식으로 표현하긴 하지만..) 문자열은 기본 타입이 아니라 참조 타입이기 때문에, 직접 변수에 저장되는 것이 아니라 String 객체로 생성되고 변수가 String 객체를 참조하는 셈인 것이다. ◆ new new 연산자는 힙 영역에 새로운 객체를 만들어 낸다. 만약 아래와 같이 작성한다면, 둘이 가리키는 객체는 같지만. public class MyTest { public static void main(String[] args) { String name1 = "Justin"; String name2 = "Justin"; char ans = (name1==name2) ? 'T':'F'; System.out.print.. 2021. 8. 8.
자바 개념 노트 [5]: 참조 타입[1] : 데이터 타입 분류, 메모리 사용 영역, Null Pointer ■ 데이터 타입 분류: #기본형변수와 참조형변수 자바가 가지는 데이터 타입 크게 두 가지: Primitive vs Reference int age = 25; age는 기본타입이다. (원시타입이라고도 말한다) 그래서 age는 25란 값을 실제로 가지는 것이다. 25란 값을 age에 바로 저장한다. (참고로 25는 스택 영역에 있다) String hobby = "독서"; String은 참조타입이다. hobby가 가지는 값은, "독서" 자체가 아니라, "독서"란 값을 가지는 객체의 주소이다. ( 그래서 참조 타입 변수를 비교할 때는 살짝 더 깊게 생각해야 한다. 아래 그림을 보자 price의 값은 100.5이다. age의 값은 25이다. 하지만 name의 값은 100이 아니라 100번지로 보아야하고, hobb.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 3장, 챕터3, Chapter3 [신용권의 이것이 자바다 챕터 3 연산자 확인 문제 풀이] 문제1 답: ③ 연산식은 하나 이상의 값을 산출 할 수 없다. 예를 들어, 1+1은 무조건 2만 가능하다. 1==3의 결과는 무조건 false이다. 문제2 답: 31 ++x의 x는 바로 +1이 적용되어서 11이고 y--의 y는 이후 -1이 적용되어서 여전히 20이다. 11+20을 하므로 31이 답이다. public class Exercise02 { public static void main(String[] args) { int x = 10; int y = 20; int z = (++x) + (y--); System.out.println(z); } } 문제3 답: 가 삼항 연산은 아래처럼 진행된다. (조건)? 맞을때의결과 : 아닐때의결과 !scor.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 2장, 챕터2, Chapter2 ■ 문제1 - 답: 4 ① ㅇㅇ. 변수는 하나의 값만 저장 ② ㅇㅇ. 변수는 선언할 때 지정한 타입의 값만 저장할 수 있음 (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ③ ㅇㅇ. 변수가 선언된 중괄호를 벗어나면, 그 변수 못씀. (그래서 for/if 블록 안 변수 들은, 해당 블록 밖 main() 블록에서 못 쓸 수도 있으니, 변수 선언/초기화 시점을 잘 지정해야함.) ④ ㄴㄴ. 변수는 초기화 안되면 못 읽음. 디폴트로 0으로 지정되어 읽을 수 있는 거 아님. (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ■ 문제2 답: -변수 이름 사용 불가한 것: 6hour (.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 1장, 챕터1, Chapter1 ■ 문제1 - 답 4번 ① 그렇다. JDK는 JRE와 컴파일러 등의 개발 도구를 포함한다. ② 그렇다. JDK의 full name은 JAVA *Development* Kit이니, 당연히 개발할 때 필요하다. ③ ㅇㅇ. 읽는 것만 하려면 JRE만 있어도 된다. 코드 수정/작성 할 때 JDK가 필요. ④ ㄴㄴ. JRE는 코드를 읽고 실행하는 것만 가능하다. 컴파일을 한다는 것은 JDK가 필요. - JRE: JVM+라이브러리 API - JDK: JVM+라이브러리+API + 컴파일러에 필요한 개발 도구 ■ 문제2 - 답 4번 ① 그렇다. JVM(자바 버츄얼 머신)은 java.exe 명령어에 의해 구동. ② 그렇다. JVM은 바이트 코드를 기계어로 변환/실행한다. ③ ㄴㄴ. 운영체제별로 다르다. JVM은 운영체제.. 2021. 8. 8.