단순한 어플리케이션을 만들때에는 굳이 사용할 필요가 없지만 논리적 연산을 많이 해야하거나, 조건이 많은 앱이라면 연산자가 필요할 때가 있습니다.

 저는 주로 이항, 관계, 동등, 논리 연산자를 많이 사용하고, 또 많이 사용됩니다.(아래참조)

다양한 연산자들

 

1. 산술 연산자(Arithmetic Operators)

 

산술 연산을 수행하는 연산자를 말하며, 다른 언어에서 사용되는 사칙 연산자와 기능 및 서식 형태가 큰 차이가 없다. 이러한 산술 연산자는 이항 연산자, 부호 연산자, 증감 연산자 등으로 구별된다.

 

 

이항 연산자(Binary Operators)

연산자

의 미

사용 예

+

덧셈 연산자(Additive operator)

a=b+c;

b와 c를 더한 값을 a에 대입

-

뺄셈 연산자(Subtraction operator)

a=b-c;

b에서 c를 뺀 값을 a에 대입

*

곱셈 연산자(Multiplication operator)

a=b*c;

b와 c를 곱한 값을 a에 대입

/

나눗셈 연산자(Division operator)

a=b/c;

b에서 c를 나눈 값을 a에 대입

%

나머지 연산자(Remainder operator)

a=b%c;

b에서 c를 나눈 나머지 값을 a에 대입

 

부호 연산자(Sign Operators)

연산자

의 미

사용 예

+

양수 연산자(Unary plus operator)

b = +a;

양수임을 의미

-

부호의 반전(Unary minus operator)

b = -a;

  <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix = o />

 

증감 연산자(Increment/Decrement Operators)

연산자

의 미

사용 예

++

증가 연산자(increment operator)

a++; 또는 ++a;

a=a+1; 과동일

--

감소 연산자(decrement operator)

a--; 또는 --a;

a=a-1; 과동일

 

산술 연산자의 우선순위와 결합성

연산자 우선순위

연산자

결합성

-(단항), ++, --

우에서 좌로

*, /, %

좌에서 우로

+, -

좌에서 우로

=

우에서 좌로

         ※결합성이란 동일한 우선순위를 갖는 연산자들이 어느 방향으로 결합하는가를 결정

 

 

 

 

 

2. 관계 및 논리연산자

 

자바에서는 C/C++언어와는 다르게 모든 비교 및 논리 연산 식에 대한 결과는 참(true)이나 거짓(false)으로 처리한다.

 

 

관계 연산자(Relational operators)

연산자

의 미

사용 예

<

~ 보다 적다.

a < b

a가 b보다 적으면 true, 그렇지 않으면 false

<=

~ 보다 적거나 같다.

a <= b

a가 b보다 적거나 같으면 true, 그렇지 않으면 false

>

~ 보다 크다.

a > b

a가 b보다 크면 true, 그렇지 않으면 false

>=

~ 보다 크거나 같다.

a >= b

a가 b보다 크거나 같으면 true, 그렇지 않으면 false

 

동등 연산자(Equality operators)

연산자

의 미

사용 예

==

~ 와 같다.

a == b

a와 b가 같으면 true, 그렇지 않으면 false

!=

~ 와 같지 않다.

a != b

a와 b가 같지 않으면 true, 그렇지 않으면 false

 

논리 연산자(Conditional Operators)

연산자

의 미

사용 예

&&

AND(논리곱)

a && b

a와 b가 참이면 true, 그렇지 않으면 false

||

OR(논리합)

a || b

a 또는 b가 참이면 true, 그렇지 않으면 false

 

논리 부정 연산자(Logical complement operator)

연산자

의 미

사용 예

!

NOT(논리 부정)

!a

a가 거짓이면 true, 참이면 false

 

instanceof 연산자

객체명 instanceof 클래스명

객체명 instanceof 인터페이스명




3. 비트 단위 연산자(bitwise operators)

 

시스템 프로그램이나 게임 프로그램 등을 개발할 경우에는 각 비트들을 조작해야 하는 경우가 발생할 수 있다. 따라서 java는 각 비트에 접근하기 위해 비트 단위 연산자를 제공하며 비트 단위 연산자는 연산의 대상이 비트(bit)단위로 이루어지므로 먼저 연산 대상을 2진수로 변환하여 연산을 해야 한다.

또한 비트 단위 연산자는 피연산자로 double 또는 float 형을 제외한 산술 형 데이터를 취한다.

 

 

비트 단위 부정 연산자(Unary bitwise complement)

연산자

의 미

사용 예

~

해당 비트를 반전(0→1, 1→0)

b = ~a;

a값을 비트 단위로 반전시켜 b에 대입

 

비트 단위 논리 연산자

연산자

의 미

사용 예

&

비트 단위 AND

c = a & b;

a 와 b를 비트단위 AND 연산 후 c에 대입

|

비트 단위 OR

c = a | b;

a 와 b를 비트단위 OR 연산 후 c에 대입

^

비트 단위 Exclusive OR

c = a ^ b;

a 와 b를 비트단위 XOR 연산 후 c에 대입

■ 비트 단위 논리 연산자의 진리표

a

b

a & b

a | b

a ^ b

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

 

비트 단위 이동 연산자

연산자

의 미

사용 예

>>

산술적 우측 Shift 연산자

c = a >> b;

a를 2진수로 변환 후 b 비트만큼 우측으로 이동

(이동으로 생긴 왼쪽 자리는 MSB(부호)로 채움)

<<

산술적 좌측 Shift 연산자

c = a << b;

a를 2진수로 변환 후 b 비트만큼 좌측으로 이동

(이동으로 생긴 우측 자리는 0으로 채움)

>>>

논리적 우측 Shift 연산자

c = a >>> b;

a를 2진수로 변환 후 b 비트만큼 우측으로 이동

(이동으로 생긴 왼쪽 자리는 0으로 채움)

 

 

 

 

 

4. 대입 연산자(assignment operators)

 

대입 연산자 『=』는 그 좌우의 값이 서로 같다(equal)는 수학적인 의미가 아닌, 우측의 값을 좌측에 대입(assign)한다는 의미를 갖고 있다.

 

연산자

의 미

사용 예

=

우변의 값을 좌변에 대입

a=b;

 

+=

좌변과 우변의 값을 더해서 좌변에 대입

a+=b;

a=a+b; 와 동일

-=

좌변에서 우변의 값을 뺀 후 좌변에 대입

a-=b;

a=a-b; 와 동일

*=

좌변과 우변의 값을 곱해서 좌변에 대입

a*=b;

a=a*b; 와 동일

/=

좌변에서 우변의 값을 나눈 후 좌변에 대입

a/=b;

a=a/b; 와 동일

%=

좌변에서 우변의 값을 나눈 나머지를 좌변에 대입

a%=b;

a=a%b; 와 동일

<<=

좌변 값을 우변 수만큼 비트단위로 좌측 이동한 값을 좌변에 대입

a<<=b;

a=a<<b; 와 동일

>>=

좌변 값을 우변 수만큼 비트단위로 우측 이동한 값을 좌변에 대입(빈 공간은 MSB로 채움)

a>>=b;

a=a>>b; 와 동일

>>>=

좌변 값을 우변 수만큼 비트단위로 우측 이동한 값을 좌변에 대입(빈 공간은 0으로 채움)

a>>>=b;

a=a>>>b; 와 동일

&=

좌변과 우변의 값을 비트단위 AND 연산 후에 좌변에 대입

a&=b;

a=a&b; 와 동일

^=

좌변과 우변의 값을 비트단위 배타적 OR 연산 후에 좌변에 대입

a^=b;

a=a^b; 와 동일

|=

좌변과 우변의 값을 비트단위 OR 연산 후에 좌변에 대입

a|=b;

a=a|b; 와 동일

 

 

조건 연산자(Conditional operator)

 

조건 연산자는 삼항 연산자 또는 선택 연산자라 하며, 자바 언어 중 유일하게 피연산자(오퍼랜드)가 3개 필요한 연산자이다.

 

변수 = 조건식 ? 값1 : 값2;

조건식을 판단하여 조건식이 참이면 『값 1』을, 조건식이 거짓이면 『값 2』를 갖는다.

 

■ 사용 예

max = x > y ? x : y;

x 변수의 값이 y 변수의 값보다 크면 x를, 그렇지 않으면 y를 max에 대입한다.

일부 출처 : http://goldenpig.egloos.com/3032166 


도움이 되셨나요?
그럼 손가락을 눌러주세요:)
 


때로는 (네이버)블로그나 카페에 달린 동영상을 다운로드 받고 싶을때가 있습니다. 윈도우같은 경우에는 다운로드 받게 해주는 툴이 널렸지만 맥은 그런것 같지 않습니다.
이와 같이 FLV의 플래시(네이버) 동영상을 다운로드 받기 위해 툴이 있습니다.


 
맥에서 플래시 동영상(네이버 동영상) 다운로드 받기(추출하기) - FLV Spider

1. 아래 사이트에 들어가 "Download"를 눌러 FLV Spider를 다운로드 받아 줍니다.
http://home.flvspider.com/osx/index.php?pid=1 


2. FLV Spider 앱을 어플리케이션 폴더에 옮겨 설치해줍니다.


3. 앱을 실행하면 도우미 툴이 필요하다고 합니다. 이 툴은 플래시 추출할때 사용되는것 같으므로 암호를 풀어 허용해줍니다.


5. 현재 "Capture"부분이 초록색이면 동영상 캡쳐 준비가 되어있다는 뜻입니다. 초록색이 아닌 경우에는 "Capture" 버튼을 눌러 캡쳐를 시작하게 해주세요.

 
6. 이렇게 해 놓은 다음에 플래시(네이버) 동영상을 재생하면 자동으로 동영상을 다운로드 받는걸 알 수 있습니다.



 

 7. 동영상 캡쳐가 완료되면 자신이 캡쳐한 비디오에서 "Save Movie As"를 누른 다음에 자신이 원하는 저장 위치에다 저장시키면 완료됩니다.

 
이렇게 저장한 동영상은 언제든지 바로 볼수 있으며 컨버터를 통해 음악으로 들을 수도 있습니다.


도움이 되셨나요?
그럼 손가락을 눌러주세요:) 
안드로이드의 어떤 앱은 "공유(Share)"이라는 기능이 있는데, 이 기능은 데이터를 다른 앱들에게 나누어 쓰게 하는 것입니다.
 자신이 지정한 데이터를 다른 앱으로 보내고 싶을때 사용할 수 있습니다.


안드로이드 개발 - 공유(Share) 기능 추가하기

 다음과 같은 소스를 추가하면 공유할 앱을 지정하는 선택화면이 뜨게 할 수 있습니다.

Intent msg = new Intent(Intent.ACTION_SEND);

msg.addCategory(Intent.CATEGORY_DEFAULT);

msg.putExtra(Intent.EXTRA_SUBJECT, "주제");

msg.putExtra(Intent.EXTRA_TEXT, "내용");

msg.putExtra(Intent.EXTRA_TITLE, "제목");

msg.setType("text/plain");    

startActivity(Intent.createChooser(msg, "공유"));

 
이렇게 해서 카카오스토리에 공유해 본 결과 결과값은

"주제 - 내용" 이렇게 결과값이 나왔습니다.




도움이 되었나요?
그럼 손가락을 눌러주세요:)