오늘의하루

[JAVA 공부 2일차] if문, 반복문, 배열 본문

JAVA

[JAVA 공부 2일차] if문, 반복문, 배열

오늘의하루_master 2022. 7. 22. 16:54

if문과 반복문의 경우 Javascript와 다르지 않기 때문에 빠르게 넘어갔지만 배열의 경우는 완전 다른 모습을 보여준다.


1. if ~ else문

조건을 만들때 사용하며 가장 기본적인 문법이다.

// .java

public class Myclass{
	public static void main(String[] args){
    	int num = 4;
        
        // 가장 기본적인 if문 형태
        if( num > 4 ){
        	System.out.println("num은 4보다 작습니다.");
        }else if( num == 4 ){
        	System.out.println("num은 4입니다.");
        }else{
        	System.out.println("num은 4보다 큽니다.");
        }
    }
}

if와 else if의 경우 조건이 필수로 있어야 하지만 else의 경우는 위 조건에 맞지 않는 모든 경우를 의미한다.

1-1. 논리 연산자

boolean 타입으로 연산을 할 수 있는 문법이다.

Public class Myclass {
	public static void main(String[] args){
    
    	// (&&) 논리곱의 경우 ⭐모든 조건이 true일때만 결과가 true이다.
        int num = 5;
        if( num > 1 && num < 6 ){
        	System.out.println("두 조건 모두 true입니다.");
        }
        
        // (||) 논리합의 경우 ⭐하나라도 ture면 결과가 ture이다.
        if( num > 1 || num < 4 ){
        	System.out.println("하나의 조건이라도 true가 나왔습니다.");
        }
        if( num > 1 || num < 6 ){
        	System.out.println("두 조건 모두 true라도 결과는 true입니다.");
        }
        
        // (^) 배타적 논리합의 경우 ⭐true가 홀수 일때만 결과가 true이다.
        if( num > 1 ^ num < 4 ){
        	System.out.println("true가 홀수이므로 결과는 true입니다.");
        }
        if( num > 1 ^ num < 4 ^ num % 2 != 0){
        	System.out.println("true가 홀수이므로 결과는 true입니다.");
        }
        
        // (!) 논리 부정의 경우 ⭐true인건 false로 false인건 true로 바꿔준다.
        boolean T = true;
        if(!T){
        	System.out.println("원래 T는 false 였습니다.");
        }else{
        	System.out.println("원래 T는 true 였습니다.");
        }
        
    }
}

2. 반복문 ( for문 )

for문의 경우 개인적으로 가장 많이 사용하는 문법인거 같다.

public class Myclass {
	public static void main(String[] args){
    	int sum = 0;
        
        // 기본적으로 for문의 경우 (초기 조건; 범위 지정; 증감지정) 이렇게 되어있다.
        for (int i = 1; i <= 10; i++){
        	sum = sum + i;
        }
        System.out.println("1부터 10까지의 합은 "+ sum + "이다."); // 55
        
        
        // for문을 다른 형식으로 나타낼 수 있다.
        int[] arr = {1,2,3,4,5,6,7,8,9,10}; // 배열
        int sum2 = 0;
        
        // ⭐ forEach문 : 배열을 for문 돌릴때 쓰면 간편하다.
        // forEach => for(타입값을 받아줄 변수명 : 출력하고 싶은 자료구조)
        // 이러면 변수명에 자료구조에 있는 값이 차례대로 하나씩 나온다.
        for(int pick: arr){
        	sum2 = sum2 + pick;
        }
        System.out.println("1부터 10까지의 합은 "+ sum2 + "이다."); // 55
        
    }
}

3. 1차원 배열

지금까지는 Javascript와 거의 유사했지만 지금부터 확실히 달라진다.

public class Myclass {
	public static void main (String[] args){
    	
        int[] numArray = new int[5]; // 5칸짜리 배열을 만든다고 선언
        numArray[0] = 1;
        numArray[1] = 2;
        numArray[2] = 3;
        numArray[3] = 4;
        numArray[4] = 5;
        // numArray[5] = 6; 💥Error!! 5칸짜리 배열인데 6칸을 만들려고 하면 에러가 발생한다.
        System.out.println(numArray[1]); // 2
        // 현재 numArray = {1,2,3,4,5}
        
        // for문을 이용해서 배열의 값 넣기
        int[] numArray2 = new int[10];
        
        for(int i = 0; i < numArray2.length; i++){
        	numArray2[i] = i + 1;
        }
        System.out.println(numArray2[9]); // 10;
        // 현재 numArray2 = {1,2,3,4,5,6,7,8,9,10}
        
        // ⭐ 배열을 선언하는 여러가지 방법
        // ⭐⭐ 배열은 한번 몇칸짜리인지 정해지면 바꿀 수 없다!!!!
        int[] a = new int[5]; // 5칸짜리 빈배열이 생성된다.
        int[] b = new int[]{1,2,3}; // 3칸짜리 1,2,3이 들어가있는 배열이 생성된다.
        int[] c = {1,2,3,4}; // 4칸짜리 1,2,3,4가 들어가있는 배열이 생성된다.
        
        // 여러가지 타입으로 배열을 만들 수 있다.
        char[] d = {'a','b','c'};
        String[] e = {"aa","bb","cc"};
        boolean[] f = {true,false,false,true};
        
    }
}

4. 2차원 배열

public class Myclass {
	public static void main(String[] args){
    	int[][] arr = new int[3][4];
        // 아래와 같은 배열이 만들어진다.
        
        //	[[빈공간,빈공간,빈공간,빈공간],
        //   [빈공간,빈공간,빈공간,빈공간],
        //   [빈공간,빈공간,빈공간,빈공간]]
        // arr[0] = 1; 💥Error!! 2차원 배열의 경우 행과 열을 모두 지정해주어야한다.
        
        arr[0][1] = 10;
        
        //	[[빈공간,  10  ,빈공간,빈공간],
        //   [빈공간,빈공간,빈공간,빈공간],
        //   [빈공간,빈공간,빈공간,빈공간]]
        
        int[][] arr2 = new int[3][];
        // 열은 3으로 지정되어있지만 행은 아직 지정되지 않았다.
        // 행과 열 모두 있어야 배열이 생성된다.
        
        // arr2[0][0] = 10; 💥Error!! 아직 배열이 만들어지지 않았기 때문이다.
        arr2[0] = new int[1];
        arr2[1] = new int[2];
        arr2[2] = new int[3];
        
        //	[[빈공간],
        //   [빈공간,빈공간],
        //   [빈공간,빈공간,빈공간]]
        
        // 2차원 배열 바로 초기화하는 방법
        int[][] arr3 = {{1},{1,2},{1,2,3}};
        //	[[1],
        //   [1,2],
        //   [1,2,3]]
        System.out.println(arr3[1][1]); // 2
    }
}
Comments