JAVA 개념 정리 시리즈

자바 개념 정리 2

로밋코딩 2024. 11. 5. 22:22
반응형

 

 

 

안녕하세요. ! 로밋코딩 입니다.

오늘은 간단하게 배우는 자바 개념 정리 두번째 입니다.

오늘은 연산자, 문자열, 정수, 문자열 비교, 특수문자에

대해서 공부했던 내용을 정리 해봤습니다!

 

1. 연산자

- 연사자는 우리가 흔히 볼 수 있는 - , + 같은 기호들을 연산자 라고 합니다.

연산자에는 산술 연산자, 대입 연산자,  비교 연산자, 논리 연산자, 삼항 연산자로 나눌 수 있습니다.

앞에 정리된 표를 같이 봅시다.

 

1-1 산술 연산자

 

연산자 설명 예시 결과
+ 더하기 4 + 2 6
- 빼기 4 - 2 2
* 곱하기 4 * 2 8
/ 나누기 4 / 2 2
% 나머지 5 % 2 1
++ 증가 ++num
num++
num의 값 1 증가(전위 연산)
num의 값 1 증가(후위 연산)
-- 감소 --num
num--
num의 값 1 감소(전위 연산)
num의 값 1 감소(후위 연산)

 

 

1-2 대입 연산자

연산자 설명 예시 결과
= 오른쪽에 있는 값 또는 식을
왼쪽에 있는 변수에 대입
int num = 5;
num = num + 3;
num = num - 2;
5
8
6
+= (왼쪽 + 오른쪽) 결과를 왼쪽에 대입 num += 2; 7
-= (왼쪽 - 오른쪽) 결과를 왼쪽에 대입 num -= 2; 3
*= (왼쪽 * 오른쪽) 결과를 왼쪽에 대입 num *= 2; 10
/= (왼쪽 / 오른쪽) 결과를 왼쪽에 대입 num /= 2; 2.5
%= (왼쪽 % 오른쪽) 결과를 왼쪽에 대입 num %= 2; 1

 

1-3 비교 연산자

연산자 설명 예시 결과
> 왼쪽이 오른쪽보다 큰가? 7 > 2 true
>= 왼쪽이 오른쪽보다 크거나 같은가? 7 >= 7 true
< 왼쪽이 오른쪽보다 작은가? 7 < 2 false
<= 왼쪽이 오른쪽보다 작거나 같은가? 7 <= 2 false
== 왼쪽과 오른쪽이 같은가? 7 == 7 true
!= 왼쪽과 오른쪽이 다른가? 7 != 2 true

 

1-4 논리 연산자

연산자 설명 예시 결과
&& 왼쪽과 오른쪽이 모두 참인가? ( 7 > 2 ) && ( 5 < 1 ) true
|| 왼쪽 또는 오른쪽이 하나라도 참인가? ( 6 > 3 ) || (3 < 2 ) true
! (참 또는 거짓) 의 반대 ! (4 == 4) false

 

1-5 삼항 연산자

연산자 설명 예시 결과
조건 ? 참일 때 : 거짓일 때 물음표 왼쪽의 조건이
참이면 : 왼쪽
거짓이면 : 오른쪽
int x = 3;
int y = 5;
int max = ( x > y ) ? x : y ;
5

 

 

2. 문자열

문자열 : String s = "I like java"; 

위 부분의  I like java 부분이 문자열이 되고 문자열은 큰따옴표 ( " " ) 로 감싸주면 됩니다.

 

2-1 문자열 기능

String s = "i like java";* index num 은 0 부터 시작함ex) i_like_java = i 부터 0으로 시작해서 ( 띄어쓰기 포함) 10 까지 있고 길이는 총 ( 11 )

기능 설명 예시 결과
length 길이 s.length(); 11
toUpperCase 대문자로 s.toUpperCase(); I LIKE JAVA
toLowerCase 소문자로 s.toLowerCase(); i like java
contains 포함 여부 s.contains("Java"); true
indexOf 위치 정보 s.indexOf("Java"); 7
lastIndexOf 마지막 위치 정보 s.lastIndexOf("a"); 10

 

2-2 문자열 기능(2)

String s = "I like Java";

기능 설명 예시 결과
startsWith 문자열로 시작하는가? s.startsWith("I like"); true
endWith 문자열로 끝나는가? s.endsWith("."); false
replace 문자열 반환 s.replace("like","love"); I love Java
substring 문자열 자르기 s.substring(7);
(7번째 인덱스 번호부터 읽음)
Java
trim 앞뒤 공백 제거 s.trim(); I like Java
concat 문자열 결합 s.concat(" and Python");
I like Java +  and Python
I like Java and Python

 

3. 정수, 문자열 비교

3-1 정수 비교

 

int num1 = 3;

int num2 = 5;

int num3 = 3;

System.out.println(num1 == num2); // false

System.out.println(num1 == num3); // true

 

3-2 문자열 비교

 

틀린 문자열 비교

String s1 = "Java";

String s2 = "Java";

System.out.println(s1 == s2); // true

 

맞는 문자열 비교

String s1 = new String("Java");

String s2 = new String("Java");

System.out.println(s1==s2); // false

 

하지만 맞는 문자열 비교에서 s1 == s2 는 false 라는 결과가 나오게 됩니다.

왜 틀린걸까요? 그건 참조하는 주소가 다르기 때문인데요

 

s1 은 (주소1번지)라는 java에

s2 는 (주소2번지)라는 Java에 값이 저장된다고 생각하시면 편합니다.

s1 -> (Java) 1번지

s2 -> (Java) 2번지

그럼 서로 참조하는 주소가 다르기 때문에 s1 == s2 라는 것은 Java라는 글씨가 같아도

false 라는 값을 주는데요. 그래서 자바에서는 문자열의 값을 비교하려면 equals 라는 기능을 쓰면되는데요

 

String s1 = new String("Java");

String s2 = new String("Java");

System.out.println(s1.equals(s2)); // true(문자열 내용이 같음)

 

위에 처럼 참조하는 주소가 달라도 equals 라는 기능을 이용하면  문자열의 값이 같은지를 비교 할 수 있게됩니다.

 

 

4. 특수 문자 ( Escape Sequence ) 

특수 문자 설명 예시 결과
\n 줄바꿈 System.out.println("A\nB") A
B
\t 탭 ( 탭만큼 띄어쓰기) System.out.println("A\tB"); A       B
\\ 역슬래시 System.out.println("C:\\Java"); C:\Java
\" 큰따옴표 System.out.println("A\"B\"C"); A"B"C
\' 작은따옴표 System.out.println("A\'B\'C"); A'B'C

 

 

여기까지

자바 개념 정리 2 였습니다 !. 

자바는 확실히 배울수록 어렵다고 느끼고 있습니다 ㅠㅠ

개념을 정확히 잡고 가셔야지 뒤에서 헷갈리지 않는 것 같아요..

다 같이 열코 합시당 !

 

조금씩 추워지고 있습니다.

다들 따뜻하게 입으시고

감기 조심하세요 ㅎㅎ

반응형