달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  



 

break

·         가장 가까운 반복문을 탈출 쓰이는 제어문입니다

·         break 만나면 반복문 내부 블록을 벗어납니다.

·         조건문이 참인 동안 계속해서 반복문 안의 내용을 반복적으로 수행하다가 강제로 반복문을 빠져나가고 싶을 사용합니다.

·         해당 반복문을 완전히 종료시킨 반복문 바로 다음에 위치한 명령문을 실행합니다.

 

 

 

break 수행 도식도

 


 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 9. 22. 07:43

continue 문 Development/Java



 

continue

·         반복문의 맨 처음(조건문)으로 다시 되돌아가게 만들고 싶은 경우에 사용합니다.

·         반복문을 탈출하기위해 사용되는 것이 아니라

·         continue 이하의 수행문들을 포기하고 다음 회차의 반복을 수행하기 위한 제어문입니다.

·         continue 이후 반복문 내부 블록을 수행하지 않고, 다음 아이템을 선택하여 내부 블록의 시작 지점으로 이동합니다.

·         for 안의 문장을 수행하는 도중에 continue문을 만나면 for문의 처음으로 돌아가게 됩니다.

 





'Development > Java' 카테고리의 다른 글

break문, break 수행 도식도  (0) 2019.09.22
Java - Loop control  (0) 2019.09.22
continue 문  (0) 2019.09.22
OpenJDK 설치하기 - zulu  (0) 2019.09.18
커넥션 풀의 장점  (0) 2019.09.11
ojdkbuild - 시스템 환경 변수 설정하기  (0) 2019.08.30
Posted by codedragon codedragon

댓글을 달아 주세요

   

    

자바의 자료형

어떤 프로그래밍 언어든 "그 언어의 자료형을 알고 이해할 수 있다면 이미 그 언어의 절반을 터득한 것이나 다름없다"는 말이 있습니다.

타입(data type)은 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 합니다.

 

int와 같이 변수의 특성을 결정짓는 키워드를 가리켜서 자료형이라고 합니다.

int num;

 

 

 

자바 자료형 유형

·       기본 자료형

·       참조 자료형

 

 

유형

설명

기본 자료형

(primitive data type)

·       자바 컴파일러에 의해서 해석되는 자료형

·       실제 을 갖는 자료형

·       자바에서 여러 형태의 타입을 미리 정의하여 제공

참조 자료형

(reference data type)

·       자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우

·       값이 아닌 객체의 주소를 가지고 있는 자료형

·       배열, 클래스, 인터페이스

 

 


   

 

기본 자료형의 종류(Primitive Data Type)

자료형

키워드

크기

기본값

표현 범위

논리형

boolean

1byte

false

true 또는 false (0또는 1아님)

문자형

char

2byte

\u0000

0~65,535

정수형

byte

1byte

0

-128~127

정수형

short

2byte

0

-32,768~32,767

정수형

int

4byte

0

-2,147,483,648~2,147,483,647

정수형

long

8byte

0

-9,223,372,036,854,775,808~9,223,372,036,854,775,807

실수형

float

4byte

0.0

-3.4E38~+3.4E38

실수형

double

8byte

0.0

-1.7E308 ~ +1.7E308

 

 



 

Primitive Data size is like the different size of cups.


https://bit.ly/2xLOShq

 


 

자료형 분류

정수 표현

byte, short, int, long

정수를 표현하는데 사용되는 바이트 크기에 따라서 구분

실수 표현

float, double

float는 소수점 이하 6자리

double 12자리 정밀도

문자 표현

char

참과 거짓 표현

boolean

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

2019. 5. 15. 15:43

for문 Development/Java




 

Java - for

·       특정한 명령들을 정해진 규칙에 따라 반복처리 사용하는 제어문입니다.

·       초기식, 조건식, 증감식을 모두 포함하고 있는 반복문입니다.

·        while 문보다는 간결하게 반복문을 표현할 있습니다.

 

 

 

 

 

 

 

for문의 구성형식

for(초기식 ; 조건식 ; 증감식){

수행문1;

수행문2;

}

 

 

초기식

·       가장 먼저 수행하는 부분이며 다시 수행되지 않습니다.

·       다중 for문에서는 예외

·       반복문에 사용할 변수를 초기화

조건식

·       초기식 다음으로 수행하는 부분이며

·       loop 돌때마다 한번씩 비교하여 반복을 수행해야 할지 반복을 벗어나야 할지를 결정합니다.

증감식

·       증감식은 loop 수행할 때마다 조건식을 비교하기 전에 항상 수행하며( 반복이 끝날때 마다 수행)

·       조건식에 사용되는 변수의 값을 증가 시키거나 감소 시켜 loop 수행하거나 무한 루프를 방지하는 부분입니다.

 

 

 

 

 

 

 

 

 

for 플로우 차트

for(int i = 1 ; i <= 7 ; i++)

System.out.println(i+"번째 수행");

 




 

모든 반복문은 무한루프에 빠지지 않도록 주의!

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

변환(Type Conversion)

·       초기화 시에만 변환 적용됩니다.

·       하나의 타입을 다른 타입으로 바꾸는 것을 의미합니다.

·       타입 변환이라고도 합니다.

 

 

 

 

변환(Type Conversion) 종류

기본 자료형 값을 다른 자료형으로 변환할 있는 기능을 의미하며 가지 종류가 있습니다.

boolean형을 제외한 나머지 기본 타입 간의 타입 변환을 자유롭게 수행할 있습니다.

·       프로모션(promotion)

·       디모션(demotion)

 

 

 

 

 

프로모션(promotion)

·       자료형으로 변환

·       작은 자료형 -> 자료형

·       대입 연산자에서 왼쪽의 자료형이 오른쪽 결과의 자료형보다 발생합니다.

·       정보의 손실 없음

·       내부적으로 자동으로 형변환을 수행합니다.(자동 형변환; 묵시적 형변환; Implicit Type Conversion)

short s=7;

float f = s + 3.14f;

 

 

 

산술연산식에서 자동 형변환

산술연산식

연산 결과

정수 산술연산자 문자

정수

정수 산술연산자 정수

정수

정수 산술연산자 실수

실수

실수 산술연산자 정수

실수

실수 산술연산자 실수

실수

 

 

 

 

 

 

 

디모션(demotion)

·       작은 자료형으로 변환

·       자료형 -> 작은 자료형

·       경우에 따라 정보의 손실 발생

·       사용자가 형변환을 직접 지정합니다.(명시적 형변환; Explicit Type Conversion)

int i = 0;

short s=10;

i = (int)(10 + 3.5f);

 

 

 

명시적 형변환

·       자동 변환 발생지점을 표시하기 위해서 사용(의도한 변환임을 표시)

·       자동 변환의 규칙에 위배되지만 변환 필요한 상황에 사용(디모션)

·       중괄호 사용하여 표현하며 괄호를 타입 캐스트(type cast) 연산자라고 합니다.

 

(자료형)

(자료형)수식

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

자바(Java) 실행 구조

·       자바컴파일러는 자바 설치 디렉토리 바로 아래의 bin 디렉토리에 javac.exe 저장되어 있습니다.

·       자바컴파일러는 소스파일(.java) 컴파일 JVM 이해할 있는 언어로 변환하고 .class확장자를 가진 자바 바이트코드를 생성하게 됩니다.

·       다음 자바런처는 JVM위에서 .class파일이 실행될 있도록 일련의 작업을 주도하게 됩니다.

 


 

 

 

 

 


 

 

 

 

 

 

자바 컴파일러(Java compiler)

·       자바 컴파일러는 자바를 가지고 작성한 자바 소스 코드를 자바 가상 머신이 이해할 있는 자바 바이트 코드로 변환합니다.

·       자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치됩니다.

 

 

 

 

 

 

 

바이트코드(Byte code)

·       자바컴파일러로 컴파일된 클래스파일

·       자바 가상 머신이 이해할 있는 언어로 변환된 파일입니다.

·       소스코드가 정상적으로 컴파일되면 .class 확장자를 가지게 됩니다.

·       자바 바이트 코드는 자바 가상 머신만 설치되어 있으면, 어떤 운영체제에서라도 실행될 있습니다.

 

 

 

 

 

실행(Execute, Run)

·       컴파일된 클래스파일을 운영체제에서 실행시키는 과정

·       자바 프로그램 실행시 운영체제에 자바가상머신(JVM) 설치되어 있어야 합니다.

·       자바 실행프로그램은 자바컴파일러가 설치된 디렉토리와 동일한 위치에 java.exe 저장되어 있습니다.

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

패키지이름(Package Name)

·         애플리케이션을 구분하는 고유한

·         여러분이 만든 앱이 디바이스에 설치되었을 다른 앱들과 구분하는 역할을 하므로 유일무이해야 합니다.

 

 

 

 

 

패키지 명명 방법

명명방법

com.회사이름.프로그램이름

com.codedragon.goodapp

com.회사이름.플랫폼.프로그램이름

com.codedragon.android.goodapp

 

com.codedragon.ios.goodapp

kr.co.회사이름.프로그램이름

kr.co.codedragon.goodapp

kr.co.회사이름.플랫폼.프로그램이름

kr.co.codedragon.android.goodapp

 

 

 

 

 

명명 규칙

·         회사 이름이나 혹은 도메인(웹사이트주소)등은 유니크하기 때문에 사이트명으로 많이 구분합니다.

·         웹사이트 주소를 반대로 기재한 모양으로 패키지 이름을 부여합니다.

·         명칭 소문자 사용

·         패키지명에 대문자는 사용하지 않는게 좋습니다.(권고)

·         소스 파일들을 각각의 그룹으로 구분하기 위해 (.)으로 구분

·         패키지 이름으로 소스가 들어가는 폴더가 자동으로 만들어 집니다.

 




Posted by codedragon codedragon

댓글을 달아 주세요


 

eclipse - JRE 경로 변경하기

 

프로젝트 선택 >> 마우스 우클릭 >> [Build Path] >> [Configure Build Path…] >>

[Libraries] >> 에러 표시가 있는 [JRE System Library [jre1.x.x_xxx](unbound)] 항목 선택 >> [Edit…]


 

 

[Workspace default JRE(jdk-xx)] 항목 선택 >> [Finish]


 

 

[Apply and Close]


 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

 

에러메시지

Failed to post notificaiton on channel "null"

 


 

 

 

 

 

 

해결방법

안드로이드 API 26 (오레오) 버전 부터 알림 생성시 기존의 Notification 방식을 사용할 경우 Error 발생합니다. API26이상이면 Notification Channel 사용하여 알림을 구현해야 합니다.

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

version name

 

Version

image

특징

Android 1.0

Astro/Applie Pie

(API level 1)


·         최초버전

·         2008 9월 발표

Android 1.1

Banana Bread

(API level 2)


·         2009 2월 발표

·         구글지도 상세정보 추가

·         API 변경

·         통화기능 수정

Android 1.5

Cup Cake

(API level 3)


·         2009 4월 발표

·         AVD지원,

·         홈스크린 위젯,

·         애니메이션 화면효과,

·         다국어 지원

·         소프트 키보드 지원,

·         블루투스 지원,

·         동영상 녹화

Android 1.6

Donut

(API level 4)


·         2009 9월 발표

·         UI 프레임워크 강화,

·         TTS,

·         제스처,

·         WVGA 해상도 지원,

·         다중 선택/삭제 지원,

·         안드로이드 마켓 개선,

 

 

Android 2.0/2.1

Éclair

(API level 5/Level 6)


·         2010 1월 발표

·         Exchange지원,

·         다중계정,

·         블루투스 2.1

·         홈화면,

·         음성인식 지원,

·         하드웨어 최적화,

·         가상 키보드 개선

Android 2.2

Froyo

(API level 8)

·         2010 5월 발표

·         Adobe flash 10.1지원,

·         USB 테더링 지원,

·         업데이트 기능,

·         버그 수정, 기능 개선

·         푸시 메시지 지원

·         SD카드에 앱 설치 가능

·         백업 API지원

 

Android 2.3

Gingerbread

(API level 9)


·         2010 12월 발표

·         UI기능 개선,

·         향상된 응용 프로그램 관리,

·         인터넷전화 지원(SIP),

·         NFC지원,

·         자이로스코프 센서 지원

·         기압계 센서 지원

·         전면 카메라 제어 지원

·         인터넷 전화 지원

Android 3.0/3.1/3.2

Honeycomb

(API level 11)

 

Android 3.1 (Level 12)

 

Android 3.2 (Level 13)

 


·         2011 2월 발표

·         2011 5월 발표

·         2011 7월 발표

·         태블릿 지원 및 최적화

·         화면분할 지원

·         HTTP 라이브 스트리밍 지원

·         태블릿용으로 스마트폰에서 동작안함

Android 4.0

Ice Cream Sandwich

(API level 14)

 

Android 4.0.3 (Level 15)


·         2011 10월 발표

·         2011 11월 발표

·         진저브래드와 허니콤을 통합,

·         스마트폰과 태블릿 디바이스를 함께 지원,

·         일부모델 Adobe Flash 기능 삭제,

·         안면인식을 통한 잠금해제,

·         보이스 메일, 음성인식 텍스트 입력 기능,

·         NFC빔 공유와 WiFi 다이렉트 지원

Android 4.1

Jelly Beans

(API Level 16)

 

Android 4.2 (Level 17)

 

Android 4.3 (Level 18)


·         2012 6월 발표

·         2012 11월 발표

·         2013 7월 발표

·         구글크롬을 기본 브라우저로 채택,

·         그래픽 성능 향상,

·         위젯 기능과 네트워크 기능 강화,

·         Adobe Flash Player 미지원

·         확장 가능한 알림 메시지 지원

Android 4.4

KitKat

(API level 19)


·         2013 10월 발표

·         저사양 단말 지원,

·         메모리 관리,

·         GPU 가속화,

·         UI변경

·         프린팅 프레임워크

·         저장공간 접근 프레임워크 보강

·         배터리 소모가 적은 센서 포함

Android 4.4

KitKat Wear

(API level 20)

·         스마트 워치,

·         웨어러블 기기 지원

Android 5.0

Lollipop

(API level 21)

 

Android 5.1 (Level 22)


·         201410월 발표

·         새로운 Material Design 도입

·         달빅(Dalvik)이 빠지게되었고 Android Runtime(ART)  기본 런타임

·         Guest Mode

·         배터리 기능의 향상

·         보안과 해제 간편

·         앱 숨기기

·         장치 공유

·         64bit 지원

·         시스템과 그래픽 성능 향상

·         멀티미어 기능 강화

Android 6.0 Marshmallow

(API level 23)


·         2015 10월 발표

·         지문인식

·         안드로이드 페이

·         나우온탭

·         스마트폰의 홈 버튼

Nougat 7.0

API level 24

 

Nougat 7.1

API level 25


·         가상현실(VR)플랫폼 ‘데이드림’ 지원

·         알림 메시지 창에서 답장을 곧바로 보내기

·         동일한 앱에서 온 알림을 묶어서 보여주기

·         창을 분할해 사용하면서 오갈수 있는 멀티태스킹 기능 등 250개의 기능이 

탑재


Oreo 8.0

(API level 26)

 

Oreo 8.1

(API level 27)


 

·       알림 채널

·       픽쳐 인 픽쳐 (Picture-in-Picture)

·       폰트를 리소스에 추가하고 레이아웃에 적용하는 것이 가능

·       적응형 아이콘 (Adaptive icon)


Pie 9.0

API level 28


 

·       스크린샷 편집기 추가

·       접근성 설정 - 진동 설정, 애니메이션 효과 끄기 기능 추가

·       OS 닮은 텍스트 기능 추가

·       전원 버튼에 스크린샷 버튼 추가

·       기계 학습을 활용해 밝기 슬라이더를 조정하는 적응형 밝기 기능 추가

 

  


images.google.com 키워드 검색

Posted by codedragon codedragon

댓글을 달아 주세요