7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)

2024. 7. 23. 15:28·Java & Spring/Java

◇ 연산자

https://djhelloworld.tistory.com/24

 

생활코딩 - Java(연산자)

1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, in

djhelloworld.tistory.com

  1. 증감연산자[++, --]
    int a = 10;
    int b = 10;
    int val = ++a + b--;
    위 코드에서 int val = ++a + b--; 는 다음과 같이 진행된다.
  2. 형변환연산자[ (type) ]
    double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8


  3. 삼항연산자[ a 조건 b ? true : false]
    a > b ? a : b
    위와같이 사용하며 ' ? ' 앞 조건이 true이면 ' : ' 앞에있는 명령을, false면 뒤에있는 명령을 진행함
    만약 위 a > b ? a : b의 식에서 a > b가 true라면 a가 false라면 b가 실행됨

  4. 시프트연산자[ <<, >> ]
    a = 5
    a << 1 = 10 // 5 = 0101, 10 = 1010
    a >> 1 = 2  // 5 = 0101,  2 = 0010
    위와같이 시프트 연산자는 해당 숫자의 2진표현을 말 그대로 움직인 후 반환하는 연산이다.

◇ 조건문과 반복문

https://djhelloworld.tistory.com/26

 

생활코딩 - Java(조건문, 논리연산자, 반복문)

□ 조건문 1. if 조건문 □ 기본 □ if else, else if □ if 중첩 2. switch 조건문 □ 논리연산자 1. and( && ) &&(and)는 좌항과 우항의 값이 모두 참(true)일 때 참이 된다. 2. or( || ) ||(or)는 좌우항 중에 하나라

djhelloworld.tistory.com

 


◇ 배열

https://djhelloworld.tistory.com/30

 

생활코딩 - Java(배열)

1. 배열(Array) String[] : String(데이터타입) [](의 그룹) classGroup : 변수 2. for-each 잦은 반복문과 배열의 조화로인해 생겨난 문법 배열 members의 모든 요소들을 반복하여 변수 e에 대입 3. 반복문의 오류

djhelloworld.tistory.com

 

  1. 배열을 특정값으로 초기화 : Arrays.fill(arr, val) → arr배열의 모든 값을 val으로 초기화
  2. 얕은 복사 : 배열은 참조형 변수이며 실제 값이 아닌 실제 값의 주소값을 가진다, 따라서 배열 변수 간에
                      대입 연산자 ' = '를 사용해서 복사를 하게 되면 주소값만 복사된다.
    int[] a = { 1, 2, 3, 4 };
    int[] b = a; // 얕은 복사
    b[0] = 3;    // b 배열의 0번째 순번값을 3으로 수정. (1 -> 3)
    System.out.println(a[0]); // 출력 3  <- a 배열의 0번째 순번값도 3으로 출력.


  3. 깊은복사 : 참조가 아니라 진짜 새로운 배열을 똑같이 만드는 명령어들
    • for문을 사용한 복사 
      int[] a = { 1, 2, 3, 4 };
      int[] b = new int[a.length]; 
      
      for (int i = 0; i < a.length; i++) {
          b[i] = a[i]; // 깊은 복사
      }


    • .clone() 메서드 사용
      int[] a = { 1, 2, 3, 4 };
      int[] b = a.clone(); // 가장 간단한 방법. 
      // 하지만, clone() 메서드는 2차원이상 배열에서는 얕은 복사로 동작!!


    • Arrays.copyOf(a, a.length)
      import java.util.Arrays;
      public class Main {
      	public static void main(String[] args) {
      		int[] a = { 1, 2, 3, 4 };
      		int[] b = Arrays.copyOf(a, a.length);
       }



◇ 컬렉션

※ 컬렉션은 참조형 변수를 저장한다.

크기 자동조정 / 추가 / 수정 / 삭제 / 반복 / 순회 / 필터 / 포함확인 등의 기능을 가지고있다.

https://djhelloworld.tistory.com/50

 

생활코딩 - Java(Collection framework)

□ Collection framework 구성  - set : 중복을 허용하지 않음(순서가 보장되지 않음)- list : 중복 허용(순서 보장)□ ArrayList배열은 크기를 한번 지정하면 크기를 초과할 수 없지만ArrayList는 크기를 미리

djhelloworld.tistory.com

 

  1. List
    • ArrayList : 배열처럼 인덱스로 값을 조회할 수 있게 저장
    • LinkedList : 메모리 남는 공간을 요청해 여기저기 나누 실제 값을 담아놓고 주소값으로 목록을 구성하고 저장
                          조회속도는 느리고 값을 중간에 추가 삭제하는건 빠름
    • Stack : 데이터를 수직으로 쌓아놓고 넣었다 빼서 조회하는 형식, LIFO(Last-In, First-Out)
  2. Set
  3. Queue : 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
    → FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out)방식
    Queue<Integer> intQueue = new LinkedList<>();
     인터페이스가 없으므로 위와같이 선언

  4. Map

 

 

 

 

'Java & Spring > Java' 카테고리의 다른 글

8일차 - Java강의(객체지향 ☆)  (0) 2024.07.24
enhanced switch()문  (0) 2024.07.24
String, StringBuffer, StringBuilder의 차이점  (0) 2024.07.23
Scanner클래스 next()메서드 개행문자 처리  (0) 2024.07.22
6일차 - Java강의(변수, 형변환)  (0) 2024.07.22
'Java & Spring/Java' 카테고리의 다른 글
  • 8일차 - Java강의(객체지향 ☆)
  • enhanced switch()문
  • String, StringBuffer, StringBuilder의 차이점
  • Scanner클래스 next()메서드 개행문자 처리
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발로드맵
    Java this
    Java 생성자
    java 에라토스테네스의 체
    java super
    java two-pointer
    프로그래머스 java 기초트레이닝
    java 메서드
    java
    java arrays.copyofrnage()
    java기초
    데이터 크기
    java enhance switch
    데이터 타입
    java 멤버
    java 세수의합
    java 유클리드 호제법
    java 제어자
    자료구조
    프로그래머스 java 기초 트레이닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)
상단으로

티스토리툴바