앞에는 소소한 개념들을 배워봤다. 오늘부터는 내가 배운것들을 사용한 코드들을 여기다 붙일 예정.
import java.util.Scanner; //Scanner를 사용하기 위해 import
public class practice210106 {
public static void main(String[] args) {
System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요.");
System.out.println(Self_Introduce()); //Self_Intriduce 메소드의 결과를 출력
}
public static String Self_Introduce() {
Scanner scan_word = new Scanner(System.in); //System.in 은 키보드와 연결된 자바의 표준 입력 스트림이다. 입력되는 키를 바이트로 리턴하는 저수준 스트림.
String name = scan_word.next(); // .next()는 공백문자를 기준으로 구분되는 토큰으로 나눠 읽음
String city = scan_word.next();
int age = scan_word.nextInt(); //만든이가 원하는 자료형으로 읽게 할 수있음.
double weight = scan_word.nextDouble();
boolean single = scan_word.nextBoolean();
System.out.println("이름 : " + name);
System.out.println("도시 : " + city);
System.out.println("나이 : " + age + "세");
System.out.println("몸무게 : " + weight + "Kg");
System.out.println("결혼 : " + single);
return null;
}
}
Scanner를 사용하여 키보드 입력값을 받아 올 수 있다.
사실 이 코드는 메소드를 따로 만들 필요가 없다. 오히려 만드는게 부자연스러운 코드이다.
그럼에도 이렇게 나눈이유는, main() 안쪽에 쓰다보니까 갑자기 복잡해 보여서 들어낸것이다.
그래서 반환값을 여러개 줄수 없어 null을 반환하도록 처리하고, Self_Introduce 안쪽에서 데이터를 출력하도록 했다.
굳이 반환값을 준다고 하면, Scanner에서 받은 값을 배열로 만들고, 배열을 받아 하나하나 출력하면 될 것 같다.
아래 그림은 Scanner 주요 메소드,
import java.util.Scanner;
public class practice210106 {
public static void main(String[] args) {
//System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요.");
//System.out.println(Self_Introduce());
System.out.println(ifelse(3,8));
System.out.println(ternary(3,8));
}
public static int ifelse(int a, int b) { //조건문 if(조건) {실행문};
if(a > b)
{return a;}
else
{return b;}
}
public static int ternary(int a, int b) { //삼항연산자 opr1?opr2:opr3 = opr1이 true이면, 연산식의 결과는 opr2, false이면 opr3
int big = (a>b)?a:b;
return big;
}
}
//결과값은 둘다 8로 동일
다음은 가정문이다.
여타 언어와 비슷하게 if, else, else if가 있고, 선택지가 여러개일 경우 switch-case도 고려해 볼 수 있겠다.
신기한건 삼항연산자인데, 마치 Python의 lambda함수 처럼 효율적인 코딩을 하게 해준다. (ifelse메소드와 ternary메소드는 같은 의미이다.) 다만 switch문을 사용할땐 각 선택지의 흐름을 고려해야 하며, break를 사용해 다음 선택지로 흘러가지 않도록 하는것이 중요하다.
'우당탕탕 개발일기 > JAVA' 카테고리의 다른 글
[Spring] 다시 배우는 스프링(임시) (0) | 2022.08.10 |
---|---|
[JAVA] DB에 연동할 DTO의 파라미터 중 java.util.date 타입으로 지정한 데이터를 넣는 방법 (0) | 2021.08.31 |
JAVA를 배우자(3) - 반복문은 조건이 필요할지도 아닐지도 모릅니다. (0) | 2021.01.11 |
JAVA를 배우자(2) - 객체 지향 프로그래밍, 클래스, 메소드, 객체, etc (0) | 2021.01.05 |
JAVA를 배우자(1) - JAVA는 뭐고, Eclipse는 또 뭐야??? (0) | 2021.01.04 |
댓글