혜니니의 공부방

[국비지원] 210126 자료형과 연산자 본문

공부 기록/자바 프로그래밍 기초

[국비지원] 210126 자료형과 연산자

니니혜 2021. 1. 26. 18:05

21. 01. 26 

===INDEX ===

 

1. 연산자

2. Casting(형변환)

부록- String format 

 

 

 

01. 연산자

 

 산술연산자 관계연산자 대입연산자 비트 연산자

-
*
/
%
>
<
>= 크거나 같다
<= 작거나 같다
! = 같지 않다
== 같다.
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
| :or
& :AND
^: XOR 양쪽이 같으면 F,다르면 T
논리 연산자 증감 연산자 조건 삼항 연산자
|| :OR 양쪽 중 하나만 TRUE면 T
&& : AND 양쪽이 모두 TRUE면 T
A++ 선대입 후 증가
++A: 선증가 후 대입
A--: 선대입 후 감소
--A: 선감소 후 대입

조건식 ? 결과 참일 경우: 거짓일 경우

EX) long seed=0
  Random r= (seed == 0)? new Random: new Random(seed);

> 변수 R에 있는 seed가 0과 같을 경우 참이면 Random 객체 생성 : 거짓이면  seed가 있는 random 객체 생성..? 이부분 헷갈리네..ㅜ 

**지난 자바 특강때 정리한 것을 가져왔다. 추가한 부분이 있다면

 

+)덧셈 = 산술 연산자로 숫자를 더하는 것 과 연결 연산자로 String을 더할때 결과물은 String을 반환한다. 

자바에서 연산은 같은 데이터끼리만 가능하다는 것!

 

++) 문자열 String = 문자열을 담는 타입으로 "더블 따옴표"를 사용한다. ex) String name= "name";  

 

 

 

 

오늘의 Point  // 엔지니어의 최소 단위가 bit / 개발자의 최소 단위는 byte 이다.

 

byte  1 byte  
|-128~127 / 0~255 의 숫자 |
- 보통 비트를 다뤄야할 때 주로 사용
short  2byte
| -23768~32767 / 0~65535 |
-C언어와의 호환을 다룰때 주로 사용 
 *byte와 short는 자주 사용하지 않으나 개념 파악
int -4byte
long -8byte
int 와의 구별을 위해 리터럴 뒤에 L을 붙인다
ex) long a= 15000L;
char -2byte
- ' ' (싱글 따옴표) 사용 , 한글자만 받을 수 있으며, 아스키코드로 변경 가능
boolean - 1byte
- 논리 연산자 True or False
float -4byte 
- double과 구별하기 위해서 리터럴 뒤에 long처럼 대문자 F 혹은 소문자 f 를 붙인다.
-실수형

double 
-8byte
-실수형

 

 

 

 

02 형변환

: 변수 또는 상수의 타입을 다른 타입으로 변환하는 것이다.  

 

방법 : (타입) 피연산자

(타입) << 캐스트 연산자, 형변환 연산자 라고 하며 , 이를 캐스팅이라고 한다. 

그저 피 연산자인 변수 d의 값은 형변환 후에도 아무런 변화가 없다.

특징 ⬇
- Primitive 타입 끼리만 가능하다.
- 단, boolean 타입은 제외
- 수의 표현의 갯수가 더 많은 것이 기준이다.

 


1. 자동 형변환(묵시적 형변환)
 - 작은 것에서 큰 것으로 변환하는 경우 자동 형변환
 - 형변환 할 데이터타입 표시를 삭제 가능
 - 데이터 변환이 없음.

- 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환한다. 

- 기본형과 참조형은 서로 형변환할 수 없다. 

A= (형변환 할 데이터타입) B;
ex) int num= 0;
    long num2= 0'
     num2= (long)num;
 
2. 강제 형변환
- 큰 것에서 작은 것으로 변환하는 경우
- 형변환 할 데이터타입은 무조건 표시해야함.
- 데이터의 변환이 있을 수 있다.

* 컴퓨터는 소수점 표현을 정확하게 할 수 없음. 따라서 근사치를 제공한다

 

03 String format ( ) 

 

http://docs.oracle.com/javase/8/docs/api/index.html 
>> Java API 문서 확인하는 링크 

 

오늘 소수 둘째자리 까지만 출력하는 코드에서 String format을 사용했다. 

 

 

 

 

^_^ ) / 오늘 백준의 알고리즘 사이트를 알려주셨다. 이미 알고있던거기는 하지만^^... 진짜 이제 코딩 많이해야하는구나를 느꼈던 순간.... 이라고 해야하나 껄껄. 강사님께서 타인의 코드를 보고 스스로 많이 생각하는 시간을 가질 것, 그건 곧 시야가 넓어지는 일이라고 하셨다.  코테사이트랑 알고리즘 사이트도 정리해야겠다.  코테에서 매번 무너지는데 일주일에 알고리즘 문제 몇개 풀기 정도 할 수 있을까 ??.. 네니요... 몰라몰라 자격증도 바빠죽어... 

 이번 달은 독서할 책도 많고 블로그 글도  많이 올릴 것 같다. 내 기억은  유한하기 때문에.. 사람이라 잘 까먹으니까 기록용으로 잘 남겨두어야지. 제게 피와 살이 되게 해주세요 뭐 있겠니 그냥 하자. 

 

^_^ ) /  오늘은 연산자와 형변환에대해서 하고 간략한 문제를 풀었다.  생각보다 진도를 빨리 나가지 않는다는 점이 장점인지 단점인지는 아직 모르겠다. 우리 기수는 비전공자가 많다고하는데^^.. 흠 잘 모르겠다. 나만 비전공자인 이 기분,,, 

Comments