KOSTA 1일차) 기본 문법 / 연산자 / 조건문

해버니·2023년 2월 15일
0

KOSTA

목록 보기
17/32
post-thumbnail

🐰 후기 🐰


오늘은 if문까지 나갔다.
OT 진행하고 진도를 나갔다.
천천히 나가는 것 같은데 수업 시간이 길어서 진도가 많이 나가게 되는 것 같다.
지금은 괜찮지만 조금 더 어려워지면..!
못 따라가면 안 되니까 성실하게 따라가야지 👊





자바 기본

프로그램 : 명령어의 집합

명령어 : 영어 단어로 이루어져 있다

변수 : 값을 저장하기 위한 메모리


= : 대입 연산자 (같다 아님)

== : 같다

소스파일의 확장자 : ~.java



❓근데 이 소스파일 실행을 어디서 어떻게 할까❓

실행을 하기 위해서는 컴퓨터가 이해 할 수 있게 0과 1로 만들어야 한다.
0과 1로 만들어주기 위해서 컴파일을 하는 것이다.
그리고 자바는 바이너리(2진수)로 번역하지 않고 바이트(16진수)로 번역한다.
(다른 언어는 바이너리로 번역 하는건가?)






자바코드 작성법

  1. 모든 코드는 클래스 안에 있어야 함
  2. 소스 파일의 이름은 public 클래스 이름과 동일해야 함
  3. 실행하려면 main() 메서드 하나는 꼭 있어야 함
  4. public 클래스는 한 파일에 하나만 만들 수 있다.
  5. 소스파일 이름과 클래스 이름이 같아야 함

원래 패키지도 이름 설정을 해줘야 하는데 설정을 안해주면 그냥 프로젝트 이름을 가져다 쓴다.

패키지 : 소속 이름

클래스와 변수는 동일하면 에러가 난다

패키지 분리를 여러개 해주면 파일 명이 동일해도 패키지만 다르면 상관 없다




단축키

주석 단축키 : Ctrl + Shift + /
자동 줄맞춤 : Ctrl + Shift + F







문법


① 변수

값을 저장할 메모리이다
사용하기 전에 선언 해야 함
(값을 담기 위한 메모리 자리를 할당)


1) 타입 : 데이터 종류 (정수형, 실수형, 불형 등등)


숫자타입 : 정수타입 (byte(1B), short(2B), int(4B), long(8B))
              실수타입 (float(4B), double(8B))


문자타입 : 문자 1개 타입 char(2B)
              → 스펠링 한 개만 담을 수 있다 'a'
              문자열 타입 String(4B) "abc"
              String은 첫 글자가 대문자 → 이것은 클래스 타입?
              소문자랑은 약간 다르다고 생각하면 됨


불타입 : boolean (1B) (true, false)



2) 변수, 함수, 클래스 이름 규칙

영어, 한글, 숫자, $, _ 를 조합하여 만듦
대소문자 구분함
숫자로 시작할 수 없음
예약어 사용 불가






② 연산자

1) 산술 연산자

+, -, *, /, %(모드 연산자)



2) 단항 연산자

++, --

int a = 5, b; 

b = a++; // 후위연산자 (++을 나중에 실행. 5를 b에 할당한 뒤 a가 증가)
b = ++a; // 선위연산자 (++을 먼저 실행. a를 먼저 증가시킨 뒤 그 결과를 b에 할당)



3) 비교 연산자

">, >=, ==, <=, <, !="

비교 연산자는 두 값을 비교한 결과를 true, flase로 반환한다.



4) 관계 연산자

&& : 둘 다 트루여야 트루

|| : 하나라도 트루이면 트루

! : 반전

int a=10;
!(a>10) → true



5) 대입 연산자

= 오른쪽의 값을 왼쪽에 할당

+=, -=, *=, /=, %=






③ 제어문

프로그램의 흐름을 제어하는 것

1) 조건문 : 조건을 따져서 특정 문장을 실행 할지 말지 결정

if문, if-else문, if-else if-else문, switch문




❓ ‘==’로 문자 비교 ❓

그렇게 되면 이 문자열의 참조값(아마도 주소값만 비교한다)만 비교
스펠링 하나 하나를 비교하는게 아니다
문자열 상수의 참조값? 으로 비교하기 때문에 정확하지 않다

그럼 어떻게 해야 돼?
equals를 쓰면 된다!



2) 반복문

(반복문부터 내일 나갈 예정)




0개의 댓글