Java

Java 개발 공부 2일차 (21.08.18)

Pearl_mini 2021. 8. 19. 00:35
728x90
연산자

 

연산자와 연산식

 

연산 (operations) : 프로그램에서 데이터를 처리하여 결과를 산출하는 것

연산자 (operator): 연산에 사용되는 표시나 기호

피연산자 (operand): 연산되는 데이터

연산식 (expressions): 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것

java에서 제공하는 연산자

- 산술( +, -, *, /, %), 부호(+, -), 문자열연결(+), 대입(=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=), 증감(++, --)

- 비교, 논리, 조건, 비트, 쉬프트

 

다항 연산자(피연산자가 여러개), 단항 연산자 (피연산자가 1개)

 

단항 연산자

- 정수타입의 피연산자에만 사용되고, 산출 타입은 int 타입이 됨!

- 비트 반전 연산자(~) : 2진수 표기 숫자를 1은 0으로 0은 1로 반전시켜 변경시켜준다.

(비트반전 연산을 확인하려면 2의 보수를 진행)

2의 보수는 1) 1의 보수 (0과 1을 바꿔줌), 2) 더하기 1을 한다. 로 진행함

 

 

문자열 연결 연산자 (+)

String 은 클래스이다. String 에서 + 는 문자를 연결해주는 연산자로 사용됨.

덧셈은 왼쪽에서부터 진행된다. 뒤에 int타입이나 double타입이 더해져도 문자열로 인식하여 더해줌

 

비교연산자

비교 연산자는 결과로 boolean을 return한다. 즉, True나 False로 값을 리턴한다.

(종류: ==, !=, >, <=, <, >=)

 

연산자 우선순위

연산자에는 우선순위가 존재한다.

보통 대입연산자가 제일 낮고, 증감 연산자가 제일 높다.

증감 연산자에서 (++A 와 A++은 차이가 있다! 주의!)

 


** eclipse에서 작업한 자료를 백업하여 옮기는 방법 팁! **

eclipse workspace에 src폴더에는 .java파일이, bin폴더에는 .class파일이 저장된다.

따라서 옮길 시에는 .java 파일만 압축하여 옮겨가는 것이 현명! (자료의 양이 많아질 경우 .class파일까지 굳이 가져갈 필요X)

 

**workspace 관련 **

한 pc를 공유해서 여러 개발자가 사용할 경우 workspace를 각자 나눠서 사용하면 프로젝트관리가 유용하다.


데이터 타입
  • 정수형 데이터 타입

- byte (1 byte)

- char (2 byte)

- short (2 byte)

- int (4 byte) : 기본 10진수, 0으로 시작-8진수, 0x로 시작-16진수

- long (8 byte) : 숫자 뒤에 L 붙어줘야 long타입으로 인식

그냥 숫자만 들어가면 java에서는 integer 타입으로 인식한다.

int타입을 long에 넣을 수 있지만 반대의 경우는 컴파일 오류 발생함 (작은 메모리에 큰 메모리를 넣으려고 하니, overflow)

short 타입에 마이너스가 붙으면 integer 타입으로 바뀐다 (자바의 특성임, 그냥 알아두기) 

 

char type 은 문자 저장 (2byte) 

- 문자열이 아닌 문자 1개를 저장함

 

char c1 = 'A';
char c2 = 65;

System.out.println(c1);
System.out.println(c2);

//출력결과는 둘 다 A 나옴

 

출력이 같은 이유는 문자는 아스키코드표를 보면 A가 65을 의미함.

(아스키 코드는 검색하면 나옴)

아스키코드를 다 외울 수는 없으니, "대문자A가 65다 소문자a는 97이다." 정도만 외워두기

형변환은 값 앞에 ()로 바꿔준다.

ex) (double) 5 / 2; - 명시적 형변환 (5가 int 에서 double로 변경된다)

 

  • 실수형 데이터 타입

- float (4 byte), double (8 byte)

printf 를 통하여 출력할 때 실수형 데이터타입의 정수 부분 혹은 소수점의 자릿수를 정할 수 있다

 

%는 서식지 정의 , d는 10진수를 뜻하고 3d는 최소 3자리로 인식하는 숫자

%d는 10진수 숫자

%4.3f 는 정수는 4자리, 소수점은 3자리 실수형 숫자를 받음.

%s는 문자를 받음

 

format관련은 뒤에 더 나올 때 다시 봐야할 것 같다!

 

  • 논리 데이터 타입

- boolean (1 byte) : true, false

 

 

 

명명 표기법 종류

 

프로그래밍하면서 명명하는 표기법들이 몇 가지 있다.

역시 구글링하면 나오지만 몇 번씩 봐왔던 것들 정리.

 

헝가리안 표기법

프로그래밍에서 변수나 함수 등을 명시하는 표기법

ex) int iAge = 34;  / / .     chName = 'B''

앞에 데이터 타입을 적고 변수명을 적어주어서 코드가 길어질 때 변수의 타입을 한번에 확인할 수 있다.

 

카멜 표기법

단어가 여러개일 때 맨앞자를 제외하고 다음 시작 단어의 앞자를 대문자로 작성

 

파스칼표기법

모든 단어의 앞자리를 대문자로 작성

(클래스 네임 등)

 

c나 c++에서는 _를 이어서 작성

 

 


 

 

 

(자바 교재 1017 page)

Scanner 클래스 : 사용자 입력을 받는 방법
Scanner scanner = new Scanner(System.in);

 

보통 위 형태로 쓰여짐, 그러나 오류가 뜨는경우, import작업을 해줘야 함. (Scanner Class를 사용할 수 있도록 가져오는 작업)

class 위쪽에 import java.utill.Scanner; 형태로 선언되어야 함.

(import utill.java.*) *의 의미는 모든 클래스를 가져오겠다는 의미

그리고 항상 사용 후 scanner.close(); 로 닫아줘야함.

교재에 있는 예제! (nextInt, Line, double)

 

 

 

<강사님께서 자바 관련 추천해준 서적>
1. 자바의 정석
2. 이것이 자바다 (학원 교재)
3. Head first 시리즈  (초심자에게 좋은 책)

 

 

 

NaN, Infinity 타입

5/0 -> ArithmeticExcemtion 예외 발생

5%0 -> 위와 동일한 예외 발생

 

결론적으로 우리는 예외가 나오지 않도록 개발해야함.

NaN 의미는 (Not a Number)

 


<각종 알아둬야할 것들>

 

** Mac에서 터미널에서의 명령어

ls :  내부 디렉토리 파일을 알려줌 (윈도우 dir와 동일)

 

** 자바의 실수 계산은 정확하지 않을 수 있다.

(0.3 을 소수점 자리를 여러자리로 보면 0.222222222229 일 경우가 있음)

 

** 이클립스에서 refactor 누르면 파일 명을 변경해준다!

 

** overflow

작은 메모리 저장 가능 타입에 큰 메모리 저장 가능 타입을 넣을 때 나타나는 에러 현상

 

** 디버그 하는 중에 expressions를 켜서 변수를 추가할 수 있고, 변수를 계산할 수 있다. 단 선언되고 난 뒤의 변수만 활용 가능함

 

** diff tool

실무에서 편하게 자주 사용함.

양쪽 코드를 비교하면서 다른 부분을 표시해주는 툴

beyond compare (유료 툴)

acro diff (네이버 검색) - 무료 툴

 

728x90

'Java' 카테고리의 다른 글

Java 개발 공부 5일차 (21.08.23)  (0) 2021.08.28
Java 개발 공부 4일차 (21.08.20)  (0) 2021.08.22
Java 개발 공부 3일차 (21.08.19)  (0) 2021.08.22
Java 개발 공부 1일차 (21.08.17)  (0) 2021.08.17
Java 기초 공부 (변수)  (0) 2021.08.09