3일차(연산자의 개요및 연산자종류)
c:\webtest
java
|
3일차(연산자의 개요및 연산자종류)->3일차.txt
================================
1장 프로그램설치-->2장 변수,자료형->Eclipse
Editplus
package(패키지)->탐색기의 폴더처럼->예제를 관리->0828
PrefixTest
bin->
|
-j0828
PrefixTest.class
src->소스파일
|
-j0827
OpTest.java
-j0828
PrefixTest.java
...
1.패키지를 따로 작성->우리가 예제를 하나씩 추가=>그래픽
2. j0827.aa.bb=> jo827
aa
bb->OpTest.java
===========================
산술연산자(+,-,*,/,%->나머지를 구해주는 연산자)
증감연산자
앞에 있으면(prefix)->먼저 계산이 되고
뒤에 있으면(postfix)->나중에 계산이 된다.
int b=a++;
int b=a;//int b=
a=a+1;
===========
관계연산자
=>대소비교를 해주는 연산자
<,>,>=,<=
==(변수에 저장된 값이 서로 일치하는지 확인)
!=(변수에 저장된 값이 서로 같지 않은지 확인)
ex) int a=5;
int b=10;
==========>변수(집)
<주의 할점>
1.a==b=>a의 값과 b의 값이 같은지 확인
2.a!=b=>두개의 변수값이 서로 같지 않은지 확인
3.a=b==>b의 값을 a에 저장하라
========================
논리연산자=>참과 거짓을 판별할 수 있는 연산자
&&(and)=>그리고->두개의 값이 참이 되는 경우
||(or)->또는-->둘중에 하나라도 참이 있으면 T
==>조건평가->첫항의 결과에 따라서 두번째항을 체크할지
말지 결정해주는 계산방식
(2>3) && (5<7)
F T--->F
F---->F
T------->T----->T
F----->F
============================
!(not)=>부정 =>!T-->F !F->T
=>명제
&&(and) ||(or) ! xor
T T T T ---->F F
T F F T F T
F T F T F T
F F F F T F
============
&(and)==>모두평가방식->양쪽항을 무조건 체크해서 결과
| (or)
^(xor)->배타적인 결합->두개의 값이 같으면 False
두개의 값이 다르면 참
================
LogicalTest.java
boolean result=(num1==10) && (num2==20)
(3+5)*7==>3+5*7
==============
비트연산자
쉬프트연산자
=========
배정연산자
=========
삼항연산자=>제어문과 연관(if)
big=(num1>num2)? num1:num2;
형식)
변수명=(조건식)?참인값:거짓인값;
=>조건식의 계산결과에 따라서 값을 다르게
변수에 저장시킬때 관여하는 연산자
=>삼항연산자
ThreeTest.java=>삼항연산자
====================
형변환연산자(Cast Operator)->캐스트연산자
변수앞에 (변환시키고자하는 자료형)
p64 자료형의 변환
정수,문자,문자열,논리적인값 저장
소수점
=============================>자동형변환
byte->short->int->long->float->double
1 2 4 8 4
char
2
<===========================강제형변환
float f=3.5f;
int num=(int)3.15; ==>(강제로 부여하는 자료형)변수명 or 숫자
=======================================
연습문제 풀이=>CastTest.java
==================
논리형->boolean(1byte)
문자형->char(2byte)
정수형->byte->short->int->long
실수형->float(4byte), double(8byte)
=======================
2-2)
long regNo=3456781234567L;//13자리
System.out.println("regNo="+regNo);
2-3)
int i=100;
long l=100L;
final float PI=3.14f;
-리터럴->데이터저장부분
100,100L,3.14f
-변수=>i,l
-상수->PI->변수명 앞에 final단어가 붙으면
상수=>대문자로 사용
-키워드(예약어)->int,long,final,float
=======================
2-4]
a. int
b.Byte->Wrapper class
c.double
d.boolean
2-5]
System.out.println("1"+"2");//문자열+문자열=문자열->"12"
System.out.println(true+"");//boolean(1byte)+String(4byte)
"true"+""->"true"
System.out.println('A'+'B');//문자+문자->int로 변환
65+66=>131
System.out.println('1'+2);//문자(char)+2(int)=>int+int
49+2=51
System.out.println('1'+'2');//문자+문자=>int로 변환
49+50=>99
System.out.println('J'+"ava");//문자(char)+문자열(String)
"Java"
System.out.println(true+null);//오류
2-6] 키워드가 아닌것은?(모두)
a. if->키워드임
b. True->true
c. NULL->null
d. Class->class
e. System->키워드가 아님
항목이 아님
2-7] 변수의 이름으로 사용?
a. $ystem=>가능(_,$만 가능)
b. channel#5=>#은 사용불가
c. 7eleven=>첫글자는 숫자오면 에러유발
d. If->가능하다(단 if->예약어이기때문)
e. 자바->한글도 가능
f. new ->예약어
g. $MAX_NUM=>사용가능
h. hell@com=>@때문에 에러유발
========================>
1,2,3일차->공부
자료형변환->명시적인 형변환 ,배정연산자,비트,쉬프트연산자
제어문->if,switch
1.boolean=>자료형변환이 없다.(배제)
=========
자료형변환-->수식연산사이에 일어나는 과정
형변환의 종류
1.자동형변환->계산을 하다보면 자동적으로 형변환
숫자를 저장하면서 그 자료형에 맞게 데이터를 변환->저장
1) byte su=2; 00000010
short su=2; 00000000 00000010
int su=2; 00000000 00000000 00000000 00000010
2) 3.5(double)+12(int)=>3.5+12.0=15.5
->ex) byte su;//자료형 변수명부여(규칙->식별자규칙)
su=27;//변수명=저장할값;
int num2=35;//선언하면서 데이터를 저장시켜라
//su변수의 값=27
//byte sum=su(byte)+num2(int);=>int+int->int
int sum=su+num2;
2.명시적인형변환(=강제형변환)
=>개발자(사용자)가 따로 명확하게 어떤형으로 변환을 할지
강제적으로 지정해주는 경우