수업
+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+" 문자열은 좌우대칭입니다");
}
}
}