[ITWILL : JAVA]기본 반복문암기, String인지 체크(typeof), N개의 양수를 받아 최대값 출력, char와 String의 차이점 산술연산자

💡 핵심 요약 (TL;DR)

'기본 반복문암기, String인지 체크(typeof), N개의 양수를 받아 최대값 출력, char와 String의 차이점 산술연산자'에서 다루는 각 기술의 핵심 개념과 동작 방식의 차이점을 분석한 내용이다. 동작 원리와 장단점을 비교 파악하여 프로젝트 개발 상황에 적합한 방식을 선택할 수 있다.

ITWILL학원 : 5강 JAVA BY 윤미영강사

1. 기본 반복문암기

  1. 1~10까지 나열하기
1
2
3
for(int i=1; i<=10; i++){
System.out.print(i);
} //12345678910
  1. 누적합구하기
1
2
3
4
5
int sum = 0;
for(int i=0; i<=10; i++){
sum+=i
}
System.out.println(sum) //55
  1. 카운트세기
    자주 사용하는 카운트 세기 반복문
1
2
3
4
5
int count = 0;
for(int i=1; i<=10; i++){
count+=1;
}
System.out.println(count); //10

2. 자바에서의 String인지 체크(typeof)

자바에서는 typeof는 없고 각 데이터별로 체크할 수 있는 방법이 있다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 1. 사용자로부터 입력받아오자
String [] str = new String[3];
Scanner sc = new Scanner(System.in);

for(int i=0; i<str.length; i++){
str[i] = sc.next();
}

// 2. 사용자가 입력한 데이터가 string인지 체크

String s = Arrays.toString(str);
if( s instanceof String) {
System.out.println('참');
}else{
System.out.println("거짓");
}

3. N개의 양수를 받아 최대값 출력

scanner로 사용자로부터 양수 n개를 받아 그 중 최대값을 화면에 출력해보자
기본적으로 양수 n개를 받는 코드를 작성하면 아래와 같다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Scanner sc = new Scanner(System.in);
System.out.println("양수 5개를 입력하세요");
int [] num = new int[5];

for(int i=0; i<num.length; i++){ //1. 숫자 5개 입력받기
num[i] = sc.nextInt();
}

for(int i=0; i<num.length; i++){ //2. 양수인지 체크(정수전체에서 max를 구하고싶다면 이부분을 없애면된다)
if( num[i] > 0){
System.out.print(num[i]+ " ");
}else{
System.out.print("양수아님 ");
}
}System.out.println();

이제 두가지 방법으로 최대값을 구해보자

  1. 첫번째 방법 : 삼항연산자 사용
1
2
3
4
5
6
7
int max = num[0];

for( int i = 1; i < num.length; i++) { //최대값구하기
max = num[i] > max ? num[i] : max;
}

System.out.println("최대값은 : "+ max);
  1. 두번재 방법 : if문 사용
1
2
3
4
5
6
7
8
9
10
int max = num[0];

for(int i=1; i<num.length; i++){
if(max > num[i]){
max = max;
}else{
max = num[i];
}
}
System.out.println("최대값은 : "+ max);

위의 코드를 자세히보자. 리팩토링할 부분이 보인다.
max가 가장 큰 수 인 경우 굳이 동일값(max = max;)을 대입할 필요가 없다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int max = num[0];

for(int i=1; i<num.length; i++){
if(max < num[i]){
max = num[i];
}
}
System.out.println("최대값은 : "+ max);

// 위의 식을 간단하게 {} 중괄호를 생략할 수 있다
// 중괄호생략은 블록안의 내용이 한줄일때 생략가능하다

for(int i=1; i<num.length; i++){
if(max < num[i]) max = num[i];
}
System.out.println("최대값은 : "+ max);

중괄호를 생략하니 세상 간단간단해보인다

4. char와 String의 차이점 산술연산자

char는 연결연산자가 사용이 안된다.
String이 어느 한 변수 이상에 있는 경우에는 연결연산자가 사용이 된다.
캐릭터에서 연결연산자를 사용하고싶으면 변수들 사이에 “”를 입력해줘야한다.

1
2
3
4
5
char c1= 'a', c2= 'b';
System.out.println(a + b); //195

String c1= 'a', c2= 'b';
System.out.println(a + b); //ab

만약 char를 ab로 나타내고 싶다면 변수들 사이에 “”해주면 된다

1
2
char c1= 'a', c2= 'b';
System.out.println(a +""+ b); //ab

#TILITWILL(JAVA)

[ITWILL : JAVA]기본 반복문암기, String인지 체크(typeof), N개의 양수를 받아 최대값 출력, char와 String의 차이점 산술연산자

https://sowon-dev.github.io/2020/06/09/200610javai/

Author

sowon-dev

Posted on

2020-06-09

Updated on

2026-10-13

Licensed under

CC BY 4.0

댓글