자바 복습 1일차 저만의 우당탕탕 블로그 시작하겠습니다
( 너무기본적인 내용들은 생략 하였음)
원래 InteliJ 사용하다가 한달뒤쯤에 학원을 들어가는데 거기서는 Eclipse 사용한다고하여
적응할 겸 조금씩 해보겠어요 ~ 쌩 초보분들은 읽어보면 도움은 될거에요.
자바(Java) 란?
프로그래밍언어 , Pc프로그램을 만드는데 사용
실제환경(JRE) + 개발도구(JDK) + 라이브러리(API)
자바는 어디에쓰이냐?
가장 유용하게는 웹사이트를 만들 수 있다 .(Spring Boot)
또한 빅데이터를 사용가능(hadoop)
왜 자바(Java)를 쓰는가?
모던프로그래밍언어(객체지향 + 함수형)
실무에서 가장 많이 사용
자바의 특징
객체지향언어 , 자동메모리관리(GC(가비지컬렉션))
멀티쓰레드지원. , 수많은 라이브러리(개발을 위한 도구)
운영체제에 독립적(Mac OS , Window , Linux 모두에서 사용 가능) ==> JVM(자바가상머신 , 어디서든 실행)때문에 가능한 일
1.변수
1. 변수의 타입(Data type)
▶ 기본형(Primitive type)
- 8개 (boolean, char, byte, short, int, long,
float, double)
- 실제 값을 저장
▶ 참조형(Reference type)
- 기본형을 제외한 나머지(String, System 등)
- 객체의 주소를 저장(4 byte, 0x00000000~0xffffffff)
2.변수의 명명 규칙
1. 대소문자가 구분되며 길이에 제한이 없다.
- True와 true는 서로 다른 것으로 간주된다.
2. 예약어(Reserved word)를 사용해서는 안 된다.
- true는 예약어라 사용할 수 없지만, True는 가능하다.
3. 숫자로 시작해서는 안 된다.
- top10은 허용하지만, 7up은 허용되지 않는다.
4. 특수문자는 ‘ ’와 ‘$’만을 허용한다.
- $harp은 허용되지만 S#arp는 허용되지 않는다
3. 변수, 상수, 리터럴
▶ 변수(variable) – 하나의 값을 저장하기 위한 공간
▶ 상수(constant) – 한 번만 값을 저장할 수 있는 공간
▶ 리터럴(literal) – 그 자체로 값을 의미하는 것
int score = 100;
score = 200;
char ch = ‘A’;
String str = “abc”;
final int MAX = 100;
MAX = 200; // 에러
2.연산자
연산자 우선순위
(1등은 () : 괄호 )
연산자 종류**
산술 연산자: + , - , *, `/` , `%(나머지 연산자)
증감(증가 및 감소) 연산자: ++ , --
비교 연산자: `== , != , > , < , >= , <=
논리 연산자: `&&` (AND), `||` (OR), `!` (NOT)
대입 연산자: =, +=, -=, *=, /=` , `%=`
삼항 연산자: `? :`
연산 ex)
여기서 왜 나눗셈만 double 형으로 바꿨는지 생각을 해
int div = a/b
==> div =2;
double div = (double)a / (double)b
==> div = 2.5;
int형끼리의 계산은 소수점 무시
모두double형으로 형변환 후 계산
전위 후위 증감연산자
증감 연산자가 변수 앞에 오는 경우를 **전위 증감 연산자**라고 하며, 이 경우에는 증감 연산이 먼저 수행된 후 나머지 연산
이 수행된다.
증감 연산자가 변수 뒤에 오는 경우를 **후위 증감 연산자**라고 하며, 이 경우에는 다른 연산이 먼저 수행된 후 증감 연산이 수행된다
(d에 c값을 대입 후 c값만 증가시킴)
비교연산자
주의점 ( = 과 ==은 다르다)
= : 변수에값을 넣는 대입 연산자.
== : 동등한지 비교하는 비교연산자
문자열 비교
문자열이 같은지 비교할 때는 `==이 아니라 `.equals()` 메서드를 사용해야 한다.
`
문자열은 기본형이 아니라 참조형이다
인스턴스를 각각 만든다고 생각하면 된다. 다른 인스턴스이므로 == 로 비교시 false
eqauls 비교 = true
지금은 이 부분을 이해하기 어려우므로 지금은 단순히 문자열의비교는 `.equals()` 메서드를 사용해야 한다 정도로 알고 있자.
이 예제에서 1번째 sout문의 dong == gon 을 보면 false가 나온 것을 확인할 수 있다.
String(문자열)은 ==비교를 지양하고 eqalus 비교를 사용하자
주석에보면 문자열풀 이라는 단어가있는데
새로만드는 것이 아닌 그냥 단순하게 만들어진 인스턴스를 참조한다고 생각을 하자
논리 연산자
논리 연산자는 `boolean` 형인 `true` , `false` 를 비교하는데 사용한다.
논리 연산자**
`&&` (AND) : 둘다 참이면 참 , 아니면 거짓
`||` (OR) : 둘 중 하나라도 참이면 참 , 아니면 거짓
`!` (NOT) : 부정 ( 참이면 거짓 반환)
다음 예를 보면서 이해해보자 (최대한 간단하게 썼어요)
대입 연산자
**축약(복합) 대입 연산자**
산술 연산자와 대입 연산자를 한번에 축약해서 사용할 수 있는데, 이것을 축약(복합) 대입 연산자라 한다.
연산자 종류: `
+= , -= , *= , `/=` , `%=`
이 연산자는 연산과 대입을 한번에 축약해서 처리한다. 다음 왼쪽과 오른쪽의 결과는 같다.
( i = i + 3)` == ( `i += 3 )
예제로 손쉽게 이해해보자 !
깨알 예제 문제(간단한 합과 평균)
가장 기본적인것이다 설명에는 안적어놓은 scan 과 printf("%.3f)등은 대충 설명하자면...
Scanner : 숫자를 입력받는 함수
%.3f == 소수점3자리까지만 남긴다는 뜻
'Java공부(코딩)' 카테고리의 다른 글
코딩초보의Java (자바)4일차-2 (배열) (4) | 2024.12.10 |
---|---|
코딩초보의 Java(자바) 공부 4일차( 훈련과 Scanner ) (2) | 2024.12.09 |
코딩초보의 Java(자바)공부 3일차-2 (스코프와 형변환) (1) | 2024.12.08 |
코딩초보의 Java공부 3일차 (반복문) (1) | 2024.12.08 |
코딩초보의 Java공부 2일차 (조건문) (1) | 2024.12.07 |