목록languages/java (13)
Written by coh at home
for는 c언어랑 똑같음. 이 글을 쓴 이유는 for-each때문이다. 순회할 배열이나 collection에서 사용된다. 배열의 끝까지 알아서 돌아주기 때문에 종료조건을 따로 할 필요가 없어서 무지 편리하다. 진짜 자바는 최고다. 파이썬은 신이고. int sumOfArray = 0; for (int num : multiOf4) { sumOfArray += num; } 순회하는 동작이 필요해서 사용할 수 있으면 사용하는 것이 좋다. 만약 짝수번째 홀수번째 이런 건 그냥 기존 for문을 사용하면 된다.
c++의 템플릿처럼 자바에서도 타입을 명시하지 않은 var라는 자료형이 있다. 초기화를 해준 값을 보고 컴파일러가 자료형을 추론한다. // 변수만 선언하거나 null값으로 초기화하면 Error!! 상황에 따라 가독성이 좋을 수도 안 좋을 수도 있다. 지역변수에서만 사용 가능하고 배열에서는 초기화할때 타입을 알려줘야한다. var char[] = new char[13] {'a', 'b'}
-문자열 formatting. 13버전 이전 String.format(str, ...) 17버전 str.formatted(...) system.out.printf(str, ...) format의 방식은 여러가지가 있다. "%d", // 1. 기본 "%13d", // 2. n 자리수 확보, 오른쪽 정렬 "%013d", // 3. 빈 자리수 0으로 채움 "%+13d", // 4. 양수는 앞에 + 붙임 "%,13d", // 5. 쉼표 사용 "%-13d", // 6. 자리수 확보, 왼쪽 정렬 "%+,013d" // 7. 혼합. 각각은 float(%f), string(%s)에도 적용가능하다. 문자열 자료형은 원시 자료형이라 그 값이 변할 수 없다. 따라서 변화된 문자형을 원한다면 변화된 문자열을 만든 후 참조하면..
3-6 문자열 ! 객체의 변수는 메모리 공간을 가리킨다. literal 문자열은 heap의 string constant pool이라는 영역에 저장이 된다. String str1 = "hello"; String str2 = "hello"; 따라서 둘은 같은 메모리 공간을 가리킨다. 따라서 글자의 비교는 "hello".equals(str1) 과 같은 메소드를 사용하는 것이 좋다. -문자열을 이어붙이는 방법. + 연산자를 사용. (연산자 재정의) -해당 값을 문자열로 넣는 방법 값 + "" 또는 valueOf() 메소드 사용 -문자열을 값으로 변환 int a = Integer.parseInt("123") 같은 방식으로 사용. - \으로 특수문자 의미 지우기 3-7 문자열 상 -length() //갯수 -isE..
자바 지식기록. JVM, JDK, JRE 용어. java virtual machine 소스코드를 컴퓨터가 실행하기 위해선 기계어로 바꾸어주어야 한다. 이때 번역(컴파일)과 통력(interpreter)방식이 있다. 이것은 한번에 자국어로 번역해주느냐 실시간으로 통역해주느냐의 차이이다. 따라서 실행속도나 안정성에 차이가 있다. c/c++/자바는 compile해주는 언어에 속한다. 근데 이 번역본은 컴퓨터의 종류마다 번역의 차이가 발생한다. 따라서 c/c++은 윈도우에서 컴파일 한 것을 맥북에서 돌릴 수 없다. 반면에 자바는 JVM이 번역본을 읽고 각 컴퓨터에 알맞게 실행하게 된다. 즉, JVM은 현지에 파견된 주방장이다. JRE, Java Runtine Environment JRE는 주방장이 파견되어 일하는..