코드 그라데이션

후발대 2일차 본문

Java/후발대

후발대 2일차

완벽한 장면 2023. 1. 14. 01:05

형변환, 전위연산자/후위연산자, ==과 equals, 배열, ArrayList, 실습

  • 아스키코드
  • 형변환 (명시적 형변환이란?)
  • (묵시적 형변환이란?)
  • 삼항연산자
  • 전위연산자/ 후위연산자
  • == equals
  • 배열
  • ArrayList
  • Random 클래스
  • 거꾸로 출력하기
  • 최소값 구하기

수업 내용

package com.sparta.hbd04.prac100;

import java.util.*;

public class Prac02 {
    public static void main(String[] args) {

//아스키코드

//묵시적 형변환
//자료형의 크기가 서로 다른 자료의 연산 결과는 크기가 큰 자료형으로 자동 변환된다.
        System.out.println(5 + " / " + 3 + " = " + 5 / 3);
        System.out.println(5 + " / " + 3 + " = " + 5 / 3.);
        System.out.println('A' + " + " + 32 + " = " + ('A' + 32));
        System.out.println('a' + " - " + 32 + " = " + ('a' - 32));
        System.out.println("===============================");

//명시적 형변환 => casting
//프로그래머가 그 순간의 자료형을 지정할 수 있다.
//아래 주석코드는 궁금하면 해보시고 코드를 이해하셔도...! 좋습니다.

// System.out.println(5 + " / " + 3 + " = " + (int) 5 / 3.);
        System.out.println(5 + " / " + 3 + " = " + (double) 5 / 3);
        System.out.println('A' + " + " + 32 + " = " + (char) ('A' + 32));
        System.out.println('a' + " - " + 32 + " = " + (char) ('a' - 32));
        System.out.println("===============================");

        //삼항연산자
        int c = 5;
        // 조건식 ? 참 일때 수행코드 : 거짓일때 수행코드;
        String result = (c < 10) ? "10보다 작습니다." : "10보다 큽니다.";
        System.out.println(result);

        // 실습. 01
        // 삼항연산자를 이용하여 12시 보다 작으면 오전, 크면 오후를 출력

        int hour = 10;
        String result1 = (hour < 12) ? "오전입니다." : "오후입니다.";
        System.out.println(result1);


// 실습 1 (같이해봅시다) 
        // 문자를 숫자로
        

        Scanner sc = new Scanner(System.in);
        System.out.println("알파벳을 입력하세요: ");

//        char alpha = sc.nextLine().charAt(0);
        char alpha = sc.nextLine().charAt(0);
        int ialpha = (int) alpha;

        System.out.println(ialpha);
        System.out.println("=================");

        String str = "안녕하세요";
        System.out.println(str.charAt(1));



        int a = 10;
        int b;

        b = a++; // 연산자우선순위가 낮음
        //        // 후위증감연산자
        System.out.println(b);
        System.out.println("a=" + a + " b=" + b);

        b = ++a; // 우선순위 높음
        // 전위증감연산자

        System.out.println("a=" + a + " b=" + b);


        // == 과 equals
        //reference type
        String text1 = "sample"; //리터럴 타입으로 생성
        String text2 = text1; 
 
        String text3 = new String("sample"); //new 연산자를 이용한 방식
        String text4 = new String("sample");


        System.out.println(text1 == text2);            //true
        System.out.println(text1.equals(text2));    //true
        System.out.println(text3 == text4);            //false
        System.out.println(text3.equals(text4));    //true




        // 배열
        // 원격강의자료 복습

        // 배열요소에 값을 넣으려면 어떻게 해야할지 작성을 해보세요.
        // 이 문제는 배열을 생성한 후에 데이터 값을 입력하는 방법에 대해 아는 문제 입니다.

        //[1]배열선언
        int[] num = new int[5];
        //[2] 선언한 배열공간에 값 입력하기
        num[0] = 3;
//      num[0] = 35; //배열변수[인덱스] = 값 의 형태로 기존 요소의 값을 덮어쓸 수 있습니다.
        num[1] = 11;
        num[2] = 22;
        num[3] = 33;
        num[4] = 44;

        //[3] 값출력하기
        System.out.println(num[0]);
        System.out.println(num[1]);
        System.out.println(num[2]);
        System.out.println(num[3]);
        System.out.println(num[4]);
        System.out.println(num[num.length - 1]);
        // 길이를 구할때
        System.out.println(num.length);

        
		// 실습 

        String[] seasons = {"봄", "여름", "가을", "겨울"};
        System.out.println(seasons);
        System.out.println(Arrays.toString(seasons));
        System.out.println(seasons[seasons.length - 1]);

				
  

        //arraylist

/* 정보를 묶을 때 List 라는 녀석을 사용합니다. 세 가지를 기억하시면 돼요.
1. 순서가 중요한 녀석이에요!
2. 같은 자료형만 넣을 수 있어요
3. 넣을 때는 add, 조회할 때는 get, 제거할 때는 remove를 사용합니다.
*/
        List<String> fruits = new ArrayList<>();
        fruits.add("감");
        fruits.add("배");
        fruits.add("감");
        fruits.add("딸기");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("딸기");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("감");
        System.out.println(fruits);

//        과일 목록 차례대로 인쇄하기 - 반복문 없이
        System.out.println(fruits.get(0));
        System.out.println(fruits.get(1));
        System.out.println(fruits.get(2));
        System.out.println(fruits.get(3));
        System.out.println(fruits.get(4));
        System.out.println(fruits.get(5));
        System.out.println(fruits.get(6));
        System.out.println(fruits.get(7));
        System.out.println(fruits.get(8));
        System.out.println(fruits.get(9));
        System.out.println(fruits.get(10));
        System.out.println(fruits.get(11));
        System.out.println(fruits.get(12));

        fruits.remove(0);
        System.out.println(fruits.get(0));

//        과일 목록 차례대로 인쇄하기 - 반복문과 함께
//        for (int i=0; i<13; i++) {
        for (int i = 0; i < 12; i++) {
            String fruit = fruits.get(i);
            System.out.println(fruit);
        }
// 매번 13개, 14개, 12개.. 개수 세어줘야 할까요? , 
// List 타입에서는 size가 길이를 아는 함수
        for (int i = 0; i < fruits.size(); i++) {
            String fruit = fruits.get(i);
            System.out.println(fruit);
        }



// 참고) 아마 여러분이 자바 코드를 작성하면서 보게 될 가장 많은 오류중의 하나는 
// ArrayIndexOutOfBoundsException


// 실습 1
        System.out.println("숫자 5개를 띄어쓰기로 구분하여 입력하세요: ");

        int[] value = new int[5];

        for (int i = 0; i < 5; i++) {
            value[i] = sc.nextInt();

        }

        for (int i = 4; i >= 0; i--) {
            System.out.println(value[i]);
        }


// 실습 2 최소값찾기 (숙제) 

        // 랜덤으로 정수 10개 저장
        // 최소값을 찾아주세요!-> 몇개?
        int[] datas = new int[10];
        Random rand = new Random();

        for (int i = 0; i < 10; i++) {
            datas[i] = rand.nextInt(10) + 1;
            System.out.println(datas[i]);
        }

        int min = datas[0];
        for (int i = 1; i < 10; i++) {
            if (min > datas[i]) {
                min = datas[i];
            }
        }

        System.out.println("min=" + min);

  

  //	Math.random(): 0 이상이고 1 미만인 무작위수를 발생시킨다.
        System.out.println((int) (Math.random() * 6) + 1);
//        (1~6 중에 하나 랜덤. int형이므로 )

//		Random 클래스의 객체를 사용한다.
        Random random = new Random();
        System.out.println(random.nextDouble());
        System.out.println(random.nextInt());
        System.out.println(random.nextInt(6) + 1);

    }

}
728x90

'Java > 후발대' 카테고리의 다른 글

후발대 6일차  (0) 2023.01.14
후발대 5일차  (1) 2023.01.14
후발대 4일차  (0) 2023.01.14
후발대 3일차  (0) 2023.01.14
후발대 1일차  (0) 2023.01.14
Comments