Oracle을 설치하고 DB를 사용하기 위하여 sqldeveloper.exe을 설치 하였다.

 

java는 10버전을 사용하는 중 이었고, sqldeveloper 버전은 18.2를 사용 하고 있었다.

 

sqldeveloper 다운받을떄 jdk 미포함으로 다운 받았다.

 

이것이 실수 였다...

 

sqldeveloper은 java 10버전을 지원 하지 않았다.

 

이것을 모르고 강제로 java10 경로를 설정 하였는데

 

그후로 sqldeveloper가 먹토잉 되었다

 

다시 jdk 경로를 설정 해주고 싶었지만 방법을 몰랐다...

 

블로그를 찾아 보니 sqldeveloper.conf 파일의 SetJavaHome 경로를 변경 해주라고 되었지만

 

제대로 실행이 되지 않았다.

 

삽질 1시간 뒤 해결 방법을 찾았다.

 

C:\Users\[사용자명]\AppData\Roaming\sqldeveloper\18.2.0 경로의

product.conf 파일의 SetJavaHome 을 변경 해주니 정상 작동 되었다.

 

AppData 디렉토리가 안보일 경우에는 보기에서 '숨긴 항복' 체크를 하면 보이게 된다.

 

 

 

 

 

정상 작동 잘 한다

 

다른 분들은 삽질 하지 마세요!!!

'IT > JAVA' 카테고리의 다른 글

0810_반복문/입력받기/제어문  (0) 2018.08.12
0809_JAVA 레퍼클래스/오퍼레이터/조건문  (0) 2018.08.10
0808_JAVA 설치 및 println, 변수  (0) 2018.08.10

목 차

1. 반복문 [for(), while(), do-while()]

2. 입력 받기 [readLine()]

3. 제어문 [break, continue]



1. 반복문


1) for 문 (단일 for 문)


해당 조건에 만족 할때 까지 반복적으로 이벤트 실행

카운팅,길이,용량 등에 사용


for (변수; 조건; 증감) {

반복 실행 할 내용

}


for문에는 int를 사용하는 것이 가장 좋다 (권장사항)

ex)

for (int i = 0; i < 10; i++) {

System.out.println("i..."+i);

}





1-1) 다중 for문 


for문 안에 for문을 이용하여 반복작업을 실행


0123456789

0123456789

0123456789


위와 같은 문제를 해결 하기 위해서는

1) 0123456789 먼저 출력 해결 하고

2) 1)번과 같은 작업이 몇번 반복 되었는지 확인



인터넷에서 별찍기등의 연습을 통해

패턴, 규칙등을 빠르게 파악 하는 능력을 길러야 한다.


2) while()문


동작, 신호, 상황이 올때까지 무한반복

while 조건이 참일경우 무한 반복

거짓이면 while문 종료

어떨 때 쓰는것이 좋냐? => 특정 이벤트가 발생 하면  반복을 그만 둘 경우




if문의 블록{} 에서 break는 적용 되지 않는다

break 사용시 기억 해둘것!


<x를 입력 받으면 while문이 종료 되는 소스코드>




3) do-while()

최초 반복문이 1번은 실행 되고 그 다음 조건에 만족 하는지 체크 

while과 다른 차이점은 조건 검사를 반복분 시작전에 하냐 끝난 한후에 하느냐 차이


do {

} while (condition);


condition 조건이 참일 때만 반복문 실행


위의 소스를 실행 시켜 보면 key값은 "" 이지만 반복문의 aaa,aaa는 출력 되는것을 확인 할 수 있다.




2. 입력 받기 INPUT


1) readline()문

입력을 받기 위해서는 다음과 같은 코딩이 필요


BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


위와 같은 코딩을 하게 되면 소스코드 상단에 2개가 import 되는것을 확인 할수 있습니다.


코드에서 에러가 발생 한다면, import가 제대로 되었는지 확인 해야 한다.


자세한 내용은 object 시간 때 설명 현재는 외우기만!!!


<입력받은 정수에 100을 더 해주는 프로그램>



readLine() : 문장을 받아서 String으로 반환 해주는 메소드. Enter 치기 전 까지의 모든 문장을 받아 가져온다

String을 정수를 바꾸고 싶을때 parseInt 메소드를 이용하여 변환 해준다



3. 제어문 [break, continue]


1) break

break를 만나면 해당 블록을 나간다

단, if의 블록은 무시하고 그 다음블록을 나간다

if문 블럭을 제외한 가장 가까운 블록의 끝으로 이동!!



<아무런 제어문이 없을 경우>




<break문을 넣었을 경우>



2) continue

블록을 나가는것이 아니라 continue 밑으로는 실행 하지 않고 다음 반복문을 실행 한다

break문과 다른것은 블록을 끝내는것이 아닌 다음 인덱스(i)를 증가 시켜 다음 반복문을 진행 한다



<continue문을 넣었을 경우>



3) goto

지정한 위치로 이동하여 실행 한다

권장 하지 않는 코딩이다




목차

1. 레퍼 클래스

2. 오퍼레이터

3. 조건문


사용된 단축키


Ctrl + D

선택된 영역 삭제 EX) 커서가 라인에 있으면 라인삭제, 블록이 잡혀 있으면 선택된 블록 삭제

Alt + 화살표 

선택된 영역 화살표 방향으로 이동

Ctrl + Shift + C

선택된 영역 

Ctrl + Alt+ 화살표
선택된 영역 복사 + 붙여넣기 (바로 밑으로 붙여 넣기 됨)

Ctrl + shift + X


1. 레퍼 클래스

클래스 안에 변수 및 메소드가 정의 되어 있는 클래스

EX) System.out.println("abcd");


1) 각 정수들의 최대 최소 값 보는 방법


@ MIN_VALUE

@ MAX_VALUE




EX) byte 정수 변수에 담을수 있는 값들의 값은 

Byte.MIN_VALUE, Byte.MAX_VALUE 값들을 이용하여 확인 할수 있다





2) parseDouble

parseDouble는 String(문자열)을 Double 타입의 정수로 변환 해주는 메소드 이다.

Double 말고도 Integer, Float 등도 사용 가능 하다



문자열로 합쳐 졌기 때문에 첫번째 값은 100100 이다.

"100" 문자열을 doubel 형태로 변경 하였기 때문에 100+100 200값이 출력 되었다.


3) FINAL

한번 초기화된 변수는 절대 변경 할수 없다.

FINAL은 상수 고정값 이다.

대부분 FINAL 변수는 대문자로 선언 한다. (변수 선언시 여러 단어가 들어 갈시 "_"로 식별자로 구분 한다)


EX) final int KOSTA_KOR = 100;







메소드 인자 값에도 FINAL을 선언하여 전달받은 값을 고정으로 사용 할수 있다.






2. 오퍼레이터

1) 산술연산

+ ,-,*, /(정수연산자 몫 만), % (나머지 만)


EX) 10%3=1






2) 비트 연산

& | ^


& 비교값이 같으면 참

| 비교값이 하나라도 참이면 참

^ 비교값이 같으면 거짓, 다르면 참 (참이든 거짓이든 상관 없이 비교값이 같을경우 ex)true^true => 거짓)


EX) 8&2 

 0000 1000 : 8

  0000 0010 : 2

& 0000 0000 : 0


EX) 8|2

  0000 1000 : 8

  0000 0010 : 2

| 0000 1010 : 10


EX) 8^2  

0000 1000 : 8

  0000 0010 : 2

^ 0000 1010 : 10



3)논리연산

true, false : & | ^, &&,||

& : A & B A와 B 조건이 둘다 참일 경우 TRUE

| : A | B A와 B 조건 중 하나가 참일 경우 TRUE

&& : A && B A와 B 조건이 둘다 참일 경우 TRUE

|| : A || B A와 B 조건 중 하나가 참일 경우 TRUE


&,&& 차이점

|: 해당 조건들이 모두 만족 하는지 확인

||: 해당조건들 중 만족하는 조건이 나올시 바로 리턴


ex1) (a1 || b1)

a1이 참 이면 바로 true로 리턴

a1만 조건만 확인 하면 되므로 빠름


ex2) (a1 | b1)

a1,b1 이 모두 참 인진 확인 후 true 리턴

a1,b1의 조건을 확인을 해야 하기 때문에 시간이 오래 걸림


'|' 보다 '||' 가 성능이 더 빠르다





4)비교연산

결과가 반드시 boolean 타입

==(같니), !=(다르니), <(크냐), >(작냐), <=(이상), >=(이하)




5)대입연산(할당연산) 

=, +=, -=, *=, /=, %=, &=, |=, ^=

해당 연산을 한 후 대입

ex) x += 3 

x=x+3



6)시프트연

>>, <<, >>>(양수만으로 표현)

비트이동연산, 속도를 요구하는곳이나, 암호하 하는곳에서


8:1000 (2진수)

8>>2: 0010

1:0001

1<<2:0100




7)증감연

--,++

한번 이벤트가 발생시 1씩 증가 1씩 감소 하게 된다

증감연산자가 앞에 붙으면 우선순위가 높고, 

증감연산자가 뒤에 붙으면 우선순위가 낮다


EX) b=a++

=> b에 넣고 a를 증가 하여라 => b:10, a:11


EX) b=++a

=> a를 증가 하고 b에 넣어라 => b:10, a:10



8)삼항연산(분기처리용)

조건식(비교,논리) ? a : b

조건식이 참이면 a 실행, 조건식이 거짓이면 b 실행




3. 조건

1) if

조건에 대한 분기처리

조건에는 비교,논리 만 와야 한다



2) if-else

조건에 대한 분기처리

참일 경우에는 if문의 블록이 실행

거짓일 경우에는 else의 블록이 실행



3) if-else if

조건이 여러개일 경우 사용

if (조건1) {

조건 1일때 실행

}

else if (조건2){

조건 2일때 실행

}

.....

else{

만족 하는 조건이 없을때 실행

}





4) switch

key 값으로 사용 될수 있는 타입

정수,문자형 7버전 부터 문자열 허용


break 문 밑에는 코딩 하면 안됌


break문을 작성하지 않으면 다음 case도 실행

break문이 있는 case 까지 실행

break문이 없는 case 문을 어디에 사용될지 생각해보았다

EX)

1등에게는 양말 옷 상금

2등에게는 양말 옷

3등에게는 양말


break문이 없는 case문의 실제 코딩 장면


평균을 10으로 나누어 몫이 10 (전부 100점), 9일 경우에는 A등급이므로 break문을 없에 코딩을 간소화





switch은 키값이 들어오면 바로 몇번째 케이스인지 알기 때문에 속도 측면에서 if-else if 보다 성능이 좋다

같은 로직으로 구현이 가능 하다면 switch로 구현 하자

'IT > JAVA' 카테고리의 다른 글

Oracle sqldeveloper JDK 경로 변경 방법  (0) 2018.08.22
0810_반복문/입력받기/제어문  (0) 2018.08.12
0808_JAVA 설치 및 println, 변수  (0) 2018.08.10

목차

1. JAVA 설치

2. Eclipse 설치

4. Java Println 사용법

5. 변수


1. JAVA 설치

오라클 홈페이지에서 다운로드 가능

오라클 홈페이지 : https://www.oracle.com/index.html


다운로드 페이지 : https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html




JAVA는 10버전을 설치 해보고 이상이 있을시 다운그레이 할 예정




다운이 완료 되면 프로그램을 실행 하여 "Next"만을 눌러 진행 한다



해당 옵션을 체크 하고 설치 한다



2. eclipse 설치

이클립스 다운로드 :

https://www.eclipse.org/downloads/download.php?file=/oomph/epp/photon/R/eclipse-inst-win64.exe



해당 주소에 접속하여 eclipse를 다운로드 한다 



여러 개발을 진행 할것이기 때문에 두번째 메뉴 Java EE Developers를 설치 한다




eclipse 설치할 경로를 설정 해준다.

기본 경로에 설치해도 되지만 나중에 찾기 쉬운 경로로 변경 해줘도 된다.




'Accept'를 눌러서 설치를 진행 한다.




설치가 완료되고 eclipse를 실행하게 되면 프로젝트가 생성될 경로를 지정해주고 Launch를 눌러 실행 한다




4. Java Println 사용법

1) Project 생성

첫번째 문자는 소문자 구분 단어는 대문자
ex) korProject




네이밍 룰에 맞게 이름을 작성하고 실행 될 java 버전 선택(보통 기본으로 설정되어 있는 값으로 사용)을 

선택 하고 Finsh를 누른다



2) Package 생성

모든 문자를 소문자로
ex) com.test





네이밍룰에 맞게 이름을 생성 하고 Finsh를 누른다



3) Class 생성

첫번째 문자는 대문자 구분 단어는 대문자

ex) TestHello



public static void main(String[] args) 옵션 체크시 Class 생성시 main 메소드가 코딩 되어 생성 된다.

main 메소드는 java에서 실행 되는 (처음 시작 되는 이벤트) 부분이다.



4) println 사용하기

sysout 타이핑 후 ctrl + space 을 누르게 되면 println 메소드가 나오게 된다





5. 변수

유형,그릇>> 데이터를 담는 곳

기본 변수 타입에는 총 8개 이다


byte su = 10; //1byte>8

short su2=10;

char su3 =73;

int su4=10;//default

long su5=10L;

//long은 끝에 L을 붙여서 표시 해줌

double d1 = 3.14;//default

float d2 = 3.14f;

//float은 끝에 f를 붙여서 표시 해줌

boolean b = true;


자세한 내용은 다음 블로그 참조

http://hyeonstorage.tistory.com/135


char 경우에는 문자 1개를 담을수 있다.



위의 코딩에는 char 타입 su3 변수에 73이라는 값을 넣고 출력 했다

결과는 I라는 대문자가 나왔다

73이 출력 되지 않고 문자 I가 나온 이유는 I의 아스키 값이 바로 73이기 때문이다.


char같은 경우에는 문자를 담을 경우 ' ' 묶어 줘야 내가 원하는 문자로 출력이 가능 하다






java에서 보라색으로 표시되는 단어는 예약어!!! 예약어는 절대 변수명으로 사용 하면 안된다



+ Recent posts