본문 바로가기

Java

Java의 리플렉션 API java.lang.Class#forName 클래스명으로부터 Class 객체를 취득한다. java.lang.Class#forName 객체를 생성한다. java.lang.Class#getConstructor 생성자 객체를 취득한다. java.lang.Class#getMethod 메소드 객체를 취득한다. java.lang.Class#getField 필드 객체를 취득한다. 더보기
서식 문자의 종류 서식문자 출력 형태 %c 단일 문자 %d 부호 있는 10진 정수 %i 부호 있는 10진 정수, %d와 같음 %f 부호 있는 10진 실수 %s 문자열 %o 부호 없는 8진 정수 %u 부호 없는 10진 정수 %x 부호없는 16진 정수, 소문자 사용 %X 부호없는 16진 정수, 대문자 사용. %e e 표기법에 의한 실수 %E E 표기법에 의한 실수 %g 값에 따라서 %f, %e 둘 중 하나를 선택 %G 값에 따라서 %f, %E 중 하나를 선택 %% % 기호출력 * 서식 문자를 응용해, 필드 폭을 지정. 서식 문자 출력의 형태 %3d 필드 폭을 3칸 확보하고 오른쪽 정렬하여 출력. %-3d 필드 폭을 3칸 확보하고 왼쪽 정렬하여 출력. %+3d 필드 폭을 3칸 확보하고 오른쪽 정렬한 상태에서 양수는 +, 음수는.. 더보기
자바로 소수점 반올림하기 음수일 경우에도 정상작동하며, 로직은 곰곰히 생각하시면, 이해가실 겁니다~아래의 roundOff method 이용 한다. 예 : RoundOff.javapackage round; public class RoundOff {public static void main(String[] args) {for(int i=2; i< 9; i++){System.out.println(roundOff(3.146592416, i));} }/** * num : 반올림할 숫자. * point : 어디까지 반올림할 것인가?. */public static String roundOff(double num, int point){return String.valueOf(Math.floor(num * Math.pow(10, point) + .. 더보기
java코드를 이용하여, Fragment사용하기. 지난번에는, Fragment를 xml을 이용하여 Activity를 구성하는 방법을 알아봤고, 2011/12/04 - [Programming/android/tablet] - xml을 이용해 Fragment이용하기.이번에는, java파일을 이용하여, 화면을 구성하는 방법을 알아봅니다.위 아래 화면이 나누어져 있는 단순한 화면인데요,이를 Fragment2개를 이용하여, 만들어 봅니다.1. android sdk 3.0이상을 생성하여, 안드로이드 프로젝트를 생성하여 줍니다. 2. res에 fragment1.xml을 생성하여 줍니다.[ fragment1.xml ]  xmlns:android="http://schemas.android.com/apk/res/android"  android:orient.. 더보기
안드로이드 단말기 버전 알아오기 현재 단말기의 버전을 알아오고 싶다면, 다음의 코드를 이용하면 된다. 그리고, 아래와 같이 상황에 맞춰서 대처하여 보자. OS별 코드 버전 넘버는 전의 포스트 참조. (2011/11/17 - [Programming/android] - Android의 역사.) int version = android.os.Build.VERSION.SDK_INT; switch (version) { case 2: Log.d("VERSION", "? 1.1"); break; case 3: Log.d("VERSION", "CUPCAKE 1.5"); break; case 4: Log.d("VERSION", "DONUT 1.6"); break; case 5: Log.d("VERSION", "ECLAIR 2.0"); break; cas.. 더보기
소수점 올림 자바에서, 소수점 자르기 사용. 반올림을 하는 것이 아니라, 그냥 자르고 싶을 경우 사용한다. * 소수점 올리기. numberObj는 잘라줄 변수를 넣어준다. private String roundInSecond(Double numberObj){ return String.format("%.2f", numberObj); } 자바의 String.format을 사용하면, 깔끔하고 쉽게 코드를 사용 할 수 있기에, 공부가 필요하다. * 여기서 응용 소수점 셋째자리에서 자르고 싶다면? 다음과 같이 쓰면 되겠다. 적절히 응용해서 사용하자. 물론, String.format도 공부하는 시간을 가집시다. private String roundInSecond(Double numberObj){ return String.form.. 더보기
디렉토리 지우기 자바의 File에서 디렉토리를 지우게 될경우, 하위 디렉토리가 있다면, 지워지게 되지 않는다. 그래서, 디렉토리를 지워줄때엔 재귀호출을 이용하여, 지워주어야 한다. public boolean deleteFile(String filePath){ File file = new File(filePath); String[] subDirs = null; String path = filePath; if(file.isDirectory()){ subDirs = file.list(); int subDirsLenght = subDirs.length; for(int i=0; i 더보기
Volatile 에 대한 공부. volatile에 대한 단상, 이걸 꼭 알아야 하는가? 자바 개발자로서 모를 필요는 없겠지? 그렇다면, 공부해 보는게 어떨까? Wiki에서의 Volatile… http://en.wikipedia.org/wiki/Volatile In computer science: Volatile variables, variables that can be changed by an external process Volatile memory, memory that lasts only while the power is on (and thus would be lost after a restart) 무슨 말인지 모르겠다, 네이버 사전에서의 Volatile… http://endic.naver.com/enkrEntry.nhn?entr.. 더보기
Blank Final 이란? 자바에서 변수를 생성할때, 다음과 같이 생성하지요, private String name; 만약, 변수가 바뀌는걸 원하지 않는다면, 선언부에 final을 적게 되지요, private final String name; 여기서, 용어가 하나 나오는데, Blank Final이라는 것입니다. final 변수를 선언과 동시에 초기화를 해주는 것이 아닌, 생성자에서 초기화를 해주는 것을 말합니다. 즉, private final String name = "멍보"를 하는 대신, 생성자에서 초기화 시켜주는 겁니다. 예로는 다음과 같겠지요, class BlankFinal { private final String name; public BlankFinal(String name){ this.name = name; } } 다음 .. 더보기
inputStream to String inputStream을 String으로 출력한다. public String isToString(InputStream is) throws IOException { if (is != null) { Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader( new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { is.close(); } return writer.toString(); } else { ret.. 더보기