-
[JAVA 공부 2일차] if문, 반복문, 배열JAVA 2022. 7. 22. 16:54728x90반응형
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 } }
728x90반응형'JAVA' 카테고리의 다른 글
[JAVA 공부 5일차] 객체지향 Part 3 (0) 2022.07.27 [JAVA 복습] 객체지향, 배열, 연산 (1) 2022.07.26 [JAVA 공부 4일차] 객체지향 Part 2 (0) 2022.07.26 [JAVA 공부 3일차] 객체지향 Part 1 (0) 2022.07.25 [JAVA 공부 1일차] JAVA 실행 순서 및 타입, 연산, 문자열 (1) 2022.07.21