Q1. 조건문
import java.util.Scanner;
public class Conditional {
void login() {
Scanner scan = new Scanner(System.in);
System.out.print("## 아이디를 입력하세요: ");
String uname = scan.next();
System.out.print("# 비밀번호를 입력하세요: ");
String pwd = scan.next();
if(uname.equals("hong") && pwd.equals("1234")) {
System.out.println("인증 확인!! -> 로그인 성공");
}
else {
System.out.println("아이디나 비밀번호가 틀렸습니다.!!");
}
}
void check() {
int cnt = 10;
String msg = cnt > 0? "새로운 쪽지가 있습니다.!!" : "새로운 쪽지가 없습니다.!!";
System.out.println(msg);
}
public static void main(String[] args) {
Conditional con = new Conditional();
while(true) {
System.out.printf("# 메뉴를 선택하세요 (1:로그인, 2:쪽지확인, x:종료) ==> ");
Scanner scan = new Scanner(System.in);
String sel = scan.next();
switch(sel) {
case "1": con.login();break;
case "2": con.check();break;
case "x": System.exit(0);
default : System.out.println("잘못된 입력 입니다.!!");
}
}
}
}
- 로그인 메뉴는 아이디와 비밀번호를 입력받고 if 문을 이용해 주어진 값과 맞는지 확인
- 쪽지확인의 경우 cnt 변수값에 따라 3항연산을 이용해 출력할 메시지를 결정.
- x 는 프로그램 종료, 이외 값 입력시 잘못된 입력 출력됨.
3항 연산
조건 ? true인 경우 수행 : false인 경우 수행;
String result = (login) ? "로그인 성공 " : "로그인 실패";
표준 입출력
키보드의 표준 입출력 장치 : System.in, System.out
java.util.Scanner
Scanner 클래스로 입력 스트림으로부터 데이터를 읽어오기 위한 유틸리티 클래스
Scanner scan = new Scanner (System.in);
String name = scan.next();
int num = scan.nextInt();
Scanner scan = new Scanner(System.in);
String sel = scan.next();
Q2. 반복문
public class Loop {
public static void main(String[] args) {
int power = 13;
String members[] = {"홍길동","김길동","김사랑","아무개"};
// 0 ~ 9 까지 즉 10회 반복
for(int i=0;i<10;i++) {
System.out.println(i);
}
// 배열의 인덱스를 이용해 데이터 출력
for(int i=0;i<10;i++) {
System.out.println(members[i]);
}
// 배열 데이터 크기만큼 반복하면서 String 타입 데이터를 가지고 옴.
for(String name : members) {
System.out.println(name);
}
// power > 10 보다 큰 경우에는 go() 함수를 호출해 동작시키고 power를 1감소
while(power > 10) {
System.out.println("go");
power--;
}
System.out.println("stop");
}
}
- for문에 의해 0~9 까지의 값이 출력.
- 문자열 배열값을 for-each 형태로 출력.
- while 조건값 변경으로 3번 출력후 종료.
// 배열 데이터 크기만큼 반복하면서 String 타입 데이터를 가지고 옴.
for(String name : members) {
System.out.println(name);
}
Q3. 배열
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Array {
public static void main(String[] args) {
// 1. Declare and initialize an array
System.out.println("# 1. Declare and initialize an array");
int[] scores = { 95, 100, 87, 91 };
scores[2] = 90; // 3번째 요소(87)을 90으로 변경.
System.out.println(scores);
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
// 2. Arrays method: toString(), asList()
System.out.println("\n# 2. Arrays method: toString(), asList()");
String[] cars = { "hyundai", "bmw", "benz", "toyota" };
List<String> car_list = Arrays.asList(cars);
System.out.println(car_list);
System.out.println(car_list.get(1));
// car_list.add("ford"); error
// 3. Arrays method: sort(array, Comparator), sort(array, int fromindex, int toindex)
System.out.println("\n# 3. Arrays method: sort(array, Comparator), sort(array, int fromindex, int toindex)");
Arrays.sort(cars);
System.out.println(Arrays.asList(cars));
Arrays.sort(cars, Collections.reverseOrder());
System.out.println(Arrays.asList(cars));
Arrays.sort(cars, 0, 2);
System.out.println(Arrays.asList(cars));
// 4. Arrays method: copyOf, copyOfRange
System.out.println("\n# 4. Arrays method: copyOf, copyOfRange");
String[] cars_copied1 = Arrays.copyOf(cars, cars.length);
System.out.println(Arrays.asList(cars_copied1));
String[] cars_copied2 = Arrays.copyOfRange(cars, 0, 2);
System.out.println(Arrays.asList(cars_copied2));
// 5. Multiple Array
System.out.println("\n# 5. Multiple Array");
int[][][] allScores = {
{ { 90, 85, 70, 55, 60 }, { 96, 88, 81, 91, 75 }, { 96, 88, 81, 91, 75 }, { 96, 88, 81, 91, 75 } },
{ { 91, 82, 73, 54, 65 }, { 96, 87, 88, 99, 80 }, { 91, 82, 83, 94, 75 }, { 96, 87, 88, 99, 70 } },
{ { 92, 83, 74, 55, 66 }, { 97, 88, 89, 90, 71 }, { 92, 83, 84, 95, 76 }, { 97, 88, 89, 90, 71 } } };
System.out.println(allScores[1][2][0]);
}
}
배열 메서드
toString(), asList()
String[] cars= {"hyundai", "bmw", "benz", "toyota"};
List<String> car_list=Arrays.asList(cars);
System.out.println(car_list);
//[hyundai, bmw, benz, toyota]
System.out.println(car_list.get(1));
//bmw
copyOf, copyOfRange
Arrays.sort(cars);
System.out.println(Arrays.asList(cars));
//[benz, bmw, hyundai, toyota]
Arrays.sort(cars, Collections.reverseOrder());
System.out.println(Arrays.asList(cars));
//[toyota, hyundai, bmw, benz]
Arrays.sort(cars, 0, 2);
System.out.println(Arrays.asList(cars));
//[hyundai, toyota, bmw, benz]
Q4. 키보드 입력과 로깅
import java.util.Scanner;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ScannerLog {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String name = scan.next();
int num = scan.nextInt();
System.out.println(name);
System.out.println(num);
Logger logger = Logger.getLogger("MyLogger");
logger.info("Main program started !!");
logger.log(Level.WARNING, "Data file size too big");
logger.setLevel(Level.FINE);
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(Level.FINE);
logger.addHandler(ch);
logger.fine("Shutdown main program !!");
}
}
Logger logger = Logger.getLogger("MyLogger");
logger.info("Main program started !!"); //실행기록, 입력값 확인
logger.log(Level.WARNING, "Data file size too big"); //잠재적 문제 발생시 사용
logger.setLevel(Level.FINE);
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(Level.FINE);
logger.addHandler(ch);
logger.fine("Shutdown main program !!"); //프로그램 분석을 위한 정보 출력
'Java > Java 2' 카테고리의 다른 글
[Java 실습] 4. 객체지향 개념과 자바 (0) | 2021.07.15 |
---|---|
[Java] 4. 객체지향 개념과 자바 (0) | 2021.07.15 |
[Java] 3. 자바 기본문법 2 (0) | 2021.07.15 |
[Java 실습] 2. 자바 기본문법 (0) | 2021.07.15 |
[Java] 2. 자바 기본문법 (0) | 2021.07.15 |