Math 클래스
Math 클래스는 기본적인 산술연산을 제공해주는 클래스로써 java.lang 패키지에 포함되어있다.
Math 클래스의 함수는 모두 static 으로 정의 되어있어서 인스턴스를 만들지 않아도 사용할 수 있다.
확인하고 싶으면
Ctrl 누르고 Math 부분 클릭
제가 알아볼 수 있는건.... PI가 상수로 정의되어있네요~ 역시 산술연산 클래스 클라쓰 🍷
스캐너
Scanner sc = new Scanner(system.in);
java.util 패키지에 있는 Scanner 클래스를 import 해야 정상적으로 사용할 수 있다.
알맞는자료형 변수 = sc . next 자료형 ();
예시) int num = sc.nextInt();
해석) int 자료형 변수 num에 사용자로부터 콘솔에서 입력 받은 정수를 저장한다.
예시) String str = sc.next();
해석) String 자료형 변수 str에 사용자로부터 콘솔에서 입력 받은것 중 공백을 만나기 전 까지의 문자열 전부를 저장한다.
예시) String str = sc.nextLine();
해석) String 자료형 변수 str에 사용자로부터 콘솔에서 입력 받은 엔터 치기 전 까지의 문자열 전부를 저장한다.
import java.util.Scanner;
/* 1. Scanner 객체 생성 */
/* 1-1. 원래 이렇게 Scanner 객체를 만들어야 함 */
//java.util.Scanner sc = new java.util.Scanner(java.lang.System.in);
Scanner sc = new Scanner(System.in);
// 2. 자료형 별 값 받기
// 2.1 문자형 /* nextLine() : 입력받은 값을 문자열로 반환해줌 */
// 2.2 정수형
// nextInt() : 입력받은 값을 Int로 변환 한다.
/* nextLong() : 입력받은 값을 long 형으로 반환한다.*/
/* 2-3. 실수형 값 입력 받기 */
/* nextFloat() : 입력받은 값을 float 형으로 반환한다. */
/* nextDouble() : 입력받은 값을 double 형으로 반환한다. */
/* 2-4. 논리형 값 입력받기 */
/* nextBoolean() : 입력받은 값을 boolean형으로 반환한다.
* true or false 외에 다른 값을 입력하게 되면 InputMismatchException 발생함
* */
/* 2-5. 문자형 값 입력받기 */
/* 아쉽게도 문자를 직접 입력 받는 기능을 제공하지는 않는다.
* 따라서 문자열로 입력을 받고, 입력받은 문자에서 원하는 번째 문자를 분리해서 사용해야 한다.
* java.lang.String에 charAt(int index)를 사용한다.
* index를 정수형으로 입력하면 문자열에서 해당 인덱스에 있는 한 문자를 문자 형으로 반환해주는 기능을 한다.
*
* index는 0부터 시작하는 숫자 체계
* 만약 존재하지 않는 인덱스를 입력하게 되면 IndexOutOfBoundsException이 발생한다.
* */
System.out.println("아무문자나 입력해주세요 : ");
char ch = sc.nextLine().charAt(0); // charA(n) n 번째 인덱스 가져오는 함수
System.out.println("입력하신 문자는" + ch + "입니다.");
next() , nextXXX() 사용시 주의점
만약 두 가지 데이터를 받기 위해서 next함수를 연이어서 사용해야 하는 경우.
예시)
int num1 = sc.nextInt();
Sring num2 = sc.nextLine();
두 번째 데이터를 입력받을 때 nextLine() 함수 사용 시,
첫 번째 데이터 입력하고 난 뒤 ‘엔터’ 값이 두 번째 데이터에 바로 입력되는 문제가 발생한다
이를 방지하기 위해서는 nextLine 함수를 한 줄 추가해주면 해결이 된다.
int num1 = sc.nextInt();
sc.nextLine(); // 추가
Sring num2 = sc.nextLine();
제어문 if , if-else , switch
// 제어문 형식
if (조건식) {
// 조건식에 맞으면 발동되는 코드
}else {
// 조건식에 맞지 않으면 발동되는 코드
}
if (조건식1){
//조건식1 에 맞을 때 발동되는 코드
} else if(조건식2){
//조건식2 에 맞을 때 발동되는 코드
}else if ... {
//조건식3 에 맞을 때 발동되는 코드
}else{
//아무 조건에도 해당되지 않을 때 발동되는 코드
}
switch(변수)
case (변수값1):
// 행위
break; // 행위를 그만두고 switch 문을 끝내려면 break;
case (변수값2):
// 행위
// 만약 break; 를 사용하지 않았다면, case가 연속되어서 실행된다.
default:
//switch의 인자인 변수가 아무값도 해당 되지 않을 때 발동되는 코드
if(조건식){
if(조건식){
if(조건식){
....
}
}
}
반복문 for
// for 문 표현식
for(초기식; 조건식; 증감값;){
하고싶은 일;
}
// 아래에서 사용되는 int i 는 지역번수이므로 , 반복문 안에서만 사용 할 수 있다.
for(int i = 0; i < 10; i++){
}
// 기존에 있는 변수를 이용 할 수도 있다.
int index = 0;
for(index = 0; index < 10; index++){
}
// 반복문이 끝나면 index는 10 인채로 남아있다.
반복문 while
// while 문 표현식
while(조건식){ // 조건식이 만족되는 동안 반복
하고싶은 일;
한 번의 반복 마다 조건식의 증감에 영향을 주는 코드; // 없으면 무한 반복 하게 된다.
}
while(life != 0){ // life가 0이 아닌 동안 반복 >> life가 점점 줄어들다가 0이되면 종료 됨
야구 게임;
life--; // 한 번 반복할 때 마다 life 가 1씩 감소함.
}
슬슬 내용 정리를 할 여유가 없네요
'더존 노션 필기 옮기기 > Java' 카테고리의 다른 글
Java 6일차 객체배열, 상속 (0) | 2022.08.30 |
---|---|
Java 5일차 객체 (0) | 2022.08.30 |
Java 4일차 배열 (0) | 2022.08.30 |
Java 2일차 연산자, 메소드(함수), 메모리 개념 조금 (2) | 2022.08.30 |
Java 1일차 변수,변수 명명 규칙,상수, 형변환 (0) | 2022.08.30 |