수업

+10 변수, 연산자, 제어문, 배열 [복습]

hs_developer 2022. 5. 16. 12:34

p20

 

 

한 개의 영화 정보를 출력하는 변수의 조합

→ 문자열, 숫자 구분 필요

String title_kor = ""; // 한글 제목
String title_eng = ""; // 영어 제목
String regdate = ""; // 개봉일
double score = 8,1; // 평점
String genre = ""; // 장르
int showUser = 84178; // 관객 수 → 증가하기 때문에 문자열X
String nation = ""; // 국가
int boxoffice = 1; // 박스오피스
int grade = 15; // 등급
int time = 106; // 러닝 타임

 

 

식당 정보 변수

String title = ""; // 식당 이름
double score = 4.6; // 평점
String address = ""; // 주소
String tel = ""; // 연락처
String type = ""; // 음식 종류
String price = ""; // 가격대
String parking = ""; // 주차
String[] times = new String[2]; // 영업 시간
String[] menu = new String[5]; // 메뉴

 

 

 

숙지 필요

 

p28-29: 기본형의 종류

p32
기본형/접미어
float → F(f)
long → L(l)

값 부여
char ''
String ""

p57
특수문자
\n: new line
\t: tab
\\: \
\": "

p66
지정된 범위 벗어나면 → 오버플로우 발생 → 연산자 처리

p82
형 변환
= 자동 형변환(연산자, 값 대입)
= 강제 형변환(필요시에만 사용)

p83 크기
byte < char < int < long < double
** boolean 제외

 

 

 


 

조건문

 

 

정수를 입력 받아서 짝수면 출력, 홀수면 건너 뛰기

 

 

public static void main(String[] args) {
		
    Scanner sc = new Scanner(System.in);

    System.out.println("정수 입력: ");
    int num = sc.nextInt();


    if(num%2==0)
        System.out.println("짝수입니다.");

    System.out.println("프로그램 종료"); // 무조건 수행되는 문장

}

 

 

 

 

public static void main(String[] args) {
		
    Scanner sc = new Scanner(System.in);

    System.out.println("정수 입력: ");
    int num = sc.nextInt();

    // 방법1
    if(num%2==0)
    {
        System.out.println("짝수");
    }
    else
    {
        System.out.println("홀수");
    }

    // 방법2
    System.out.println(num%2==0?"짝수":"홀수");

}

 

 

 

제어문 다중 조건문

 

 

 

public static void main(String[] args) {
		
		// 메뉴
		final int LOGIN=1;
		final int LOGOUT=2;
		final int MAKEROOM=3;
		final int ROOMIN=4;
		final int ROOMOUT=5;
		final int CHAT=6;
		final int END=7;
		
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("메뉴 선택: ");
		int menu = sc.nextInt();
		
		if(menu==LOGIN)
		{
			System.out.println("로그인 화면 전송!!");
		}
		else if(menu==LOGOUT)
		{
			System.out.println("윈도우 화면 종료!!");
		}
		else if(menu==MAKEROOM)
		{
			System.out.println("방을 만든다.");
		}
		else if(menu==END)
		{
			System.out.println("프로그램 종료!!");
		}
		
		
	}

 

 

 

조건문_조건 방식

 

1. 정수 i가 90 이상 ~ 100 이하 → 포함
i>=90 && i<=100

2. 정수 i가 90보다 작고, 100보다 크다
i<90 || i>100 (잘못된 입력)

3. 2배수이고 3의 배수가 아니다
i%2==0 && i%3!=0

4. y거나 Y면
c=='y' || c=='Y'

5. A-Z
c>='A' && c<='Z'

6. a-z
c>='a' && c<='z'

7. 가-힣
c>='가' && c <= '힣'

 

 

 

증가/감소

 

Hello Java
avaJ olleH

 

public static void main(String[] args) {
		
		String data = "Hello Java";
		
		// 정방향 출력
		for(int i=0; i<data.length(); i++) // 0부터 9까지 증가
		{
			System.out.print(data.charAt(i)); // 알파벳 하나씩 출력
		}
		
		System.out.println();
		
		// 역방향 출력
		for(int i=data.length()-1; i>=0; i--) // 9부터 0까지 감소
		{
			System.out.print(data.charAt(i));
		}
		
		
	}

 

 

 

좌우 대칭

 

문자열 입력:ABBA
ABBA 문자열은 좌우대칭입니다

 

public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        
        System.out.print("문자열 입력:");
        String data = sc.next();
        // 오류 처리 => 오류 처리가 불가능 (예외처리 try~catch)
        
        if(data.length()%2!=0)
        	System.out.println("잘못된 입력입니다!!"); // 짝수개만 좌우대칭이 성립되므로
        else
        {
        	boolean bCheck=false;
        	for(int i=0;i<data.length()/2;i++)
        	{
        		/*
        		 *    ABBBBA
        		 *    012345
        		 *       ---
        		 *    0-5
        		 *    1-4
        		 *    2-3
        		 */
        		char c1=data.charAt(i);
        		int j=data.length()-1;
        		char c2=data.charAt(j-i);
        		if(c1!=c2)
        		{
        			bCheck=true;
        			break;
        		}
        		
        	}
        	if(bCheck==true)
        	{
        		System.out.println(data+" 문자열은 좌우대칭이 아닙니다");
        	}
        	else
        	{
        		System.out.println(data+" 문자열은 좌우대칭입니다");
        	}
        }
	}