본문 바로가기

자바

(12)
안드로이드 스튜디오에서 자바 선택이 안될 경우 조치방법(자바 변경 방법) 증상 이전 버전에서는 안드로이드 스튜디오에서 프로젝트를 만들 때 언어 선택이 가능해서 코틀린을 선택할지 자바를 선택할지 선택할 수 있었는데 플라밍고 버전부터는 안뜨는 경우가 있다. 해결방법은 생각보다 간단한데 인터넷에서 생각보다 관련 정보를 찾기가 어려웠다. 한참 찾다가 스택오버플로우에 영어로 질문올리고 답변 한 것을 발견해서 해결했다. 해결방법 해결방법은 간단하다 아마 위의 증상이 나타나는 사람은 프로젝트 템플릿을 선택할 때 Empty Activity를 선택했을 것이다. Empty Activity를 선택하면 언어를 선택하는 메뉴가 안나온다. 대신 다른 액티비티를 선택하면 언어를 선택할 수 있다. Empty Activity를 선택하고 싶으면 대신에 Empty Views Activity를 선택하면 된다. ..
[JAVA 자바] File 클래스 자바에서는 파일과 디렉터리를 다루는 File클래스를 제공한다. 이 클래스에서 접근권한, 마지막 수정일자, 경로, 길이, 디렉터리에 존재하는 파일의 이름, 새로운 디렉터리 생성, 파일과 디렉터리의 삭제, 이름 변경 등을 제공한다. 생성자File(String directoryPath) directoryPath를 경로로 가지는 File 객체 생성File(String directoryPath directoryPath를 경로로 가지고 filename을 파일이름으로 가지는 File 객체 생성,String filename) File(File dirObj, dirObj의 경로를 가지고 filename을 파일이름으로 가지는 가지는 File 객체 생성String filename) 주요 함수canRead() 파일이 읽기 가..
[JAVA 자바] 랜덤함수(Random) - 난수 발생기 자바에서 Random 클래스는 난수 발생 기능을 제공한다. 생성자Random() 현재시간을 초깃값으로 하는 난수 발생기 생성Random(long seed) seed값을 초깃값으로 하는 난수 발생기 생성 주요 함수nextFloat() float형의 난수 리턴nextInt() int형의 난수 리턴nextLong() long형의 난수 리턴nextDouble() double형의 난수 리턴nextGaussian() 평균 0, 표준편차 1인 Gaussian형의 난수를 double형으로 리턴setSeed(long newseed) seed값을 newseed값으로 초기화nextInt(int n) n미만의 int형 난수 리턴 예제소스import java.util.Random; public class JavaTestMain..
[JAVA 자바] super 자바에서 super는 상위 클래스의 생성자를 호출할 때 사용하거나 상위 클래스의 멤버 변수나 메소드에 접근할 때 사용한다. super로 멤버 변수나 메소드를 호출하기 위해서는 해당 변수나 메소드의 제한자는 protected, public이어야 한다. 예약어 super 상위 클래스의 생성자 호출 super(매개변수) 상위 클래스의 멤버 변수 호출 super.변수명 상위 클래스의 메소드 호출 super.메소드명(매개변수) 예제소스 JavaTest.java class Mother { protected String name; public Mother(String name) { this.name = name; } public void display() { System.out.println("name : " + n..
[JAVA 자바] 매개변수 매개변수 전달방식에는 call-by-value방식과 call-by-reference방식이 있다. call-by-value는 매개변수를 전달할 때 값을 복사하여 넘겨주는 방식이고 call-by-reference는 매개변수를 전달할 때 값이 아닌 해당 변수의 주소값을 넘겨주는 방식이다. 보통 int나 double같은 일반적인 변수타입은 call-by-value방식을 사용하고 배열이나 클래스같은 메모리를 많이 차지하는 타입은 call-by-reference를 사용한다. C++나 다른 언어에서는 매개변수 방식을 프로그래머가 선택하여 사용한다. 하지만 자바에서는 컴파일러가 자동으로 매개변수 방식을 지정하여 준다. 즉 프로그래머는 일반적인 call-by-value이냐 call-by-reference이냐를 고민할 필..
[JAVA 자바] StringTokenizer 자바에서는 String을 token단위로 끊어주는 StringTokenizer 클래스를 제공한다.예를들어 "this is my string" 이라는 스트링을 this, is, my, string 4개의 스트링으로 끊어주는 기능을 제공한다.그리고 공백말고도 다른 구획문자(delimiter)를 사용할수도 있다. 예를들어 this%is%my%string을 delimiter에 %를 넣어 StringTokenizer를 사용하면 마찬가지로 this, is, my, string으로 읽어준다.this$%^is$my%string^일때 구획문자를 "$%^"라고 설정해주면 this, is, my, string 으로 끊어준다. 생성자StringTokenizer(String str) 구획문자(delimiter)를 인자로 받지않..
[JAVA 자바] Thread(쓰레드, 스레드) 자바에서 쓰레드(Thread)를 사용하는 방법은 2가지가 있다. 1. Thread를 직접상속 받아 사용하는 방법.2. Runnable 인터페이스를 구현하는 방법. 두 가지 모두 알아보겠지만 자바에서는 다중 상속이 불가능하기 때문에 1번 방법을 사용하면 다른 클래스를 상속받을 수 없다.따라서 왠만하면 2번 방법을 추천한다. 1. Thread를 직접상속 받아 사용하는 방법.쓰레드public class MyExtendThread extends Thread { public void run() { //구현 System.out.println("Thread1"); } } 메인public class JavaTestMain { public static void main(String[] args) { Thread t = ..
[Eclipse] 이클립스 이클립스는 다양한 플랫폼에서 다양한 언어를 지원하는 통합개발환경이다.주로 윈도우에서 JAVA와 Android개발에 사용되지만 윈도우를 제외하고도 리눅스 맥OS등 다양한 플랫폼을 지원하고 JAVA이외에도 C++나 웹개발등도 제공한다. [Eclipse] 이클립스 설치하기