변수
변수선언
자료형(타입) 변수명;
변수선언 + 초기화
자료형(타입) 변수명 = 초기값;
기본 자료형은 초기값을 주지 않음. 반드시 초기값을 지정.
변수 = 지역변수 { 사용가능한 범위 }
메서드 { } 명령어 { }
변수는 중복 선언이 안된다. 같은 자료형은 한 줄 선언이 가능하다.
주석 : // 여러줄 주석 : /* */
기본 데이터 타입
정수형
- byte 8bit -2^7 ~(2^7-1)
- char 16bit 0~2^16-1 (유니코드 문자표에따른 문자 1글자만)
- short 16bit -2^15~(2^15-1)
- int(기본) 32bit -2^31~(2^31-1)
- long 64bit -2^63~(2^63-1) int 타입을 넘어서는 정수는 접미사 L을 꼭 붙인다.
실수형
- float 32bit Float형은 접미사 f를 꼭 붙인다.
- double 64bit 기본 실수값
논리형
- Boolean 8bit True / False
연산자
대입연산자 : = += -= ... = 을 기준으로 오른쪽의 값을 왼쪽 변수에 저장왼쪽의 값은 반드시 변수여야함.a = b; (o) 1 = a; (x)
증감연산자 : ++ --변수 = 변수 + 1 , 변수 = 변수 -1a++; 현재 a 의값에 1증가++a 1먼저 증가하고 a 값에 집어넣음.
산술연산자 : + - * / %
나누기(/)
정수 / 정수 = 정수
실수 / 실수 = 실수
정수 / 실수 = 실수
실수 / 정수 = 실수
값 / 0 => 예외 발생 (Exception)
자료형이 double / 0 => infinity 발생
비교연산자 : 비교연산자의 결과는 반드시 true / false
>= (이상) , <= (이하) , > (초과) , < (미만) , == (같다) , != (같지않다)
논리연산자 : && || !
a == 0 && b == 0 ( and ) 두 조건 모두 true일 경우 true 리턴
a == 0 | | b == 0 ( or ) 두 조건중 하나만 true 여도 true 리턴
!(a==0) (not) a 상태의 반대
조건선택연산자 : 3항연산자
(조건식) ? true : false;
자료형 변환 : casting
자료형 (변수의 타입)
a = b : a의 자료형이 b 와 맞지않는다면 오류
자료형변환 양쪽의 자료형을 맞춰주는 역할
자동 자료형 변환 : 생략해도 문제가 되지 않는 상황
int a = byte 자료형의 값
명시적 자료형 변환
byte a = 10; int num = a; 자동 자료형 변환 케이스
콘솔입력 : 콘솔에서 값을 입력받는 것을 의미
Scanner 클래스 : 콘솔에서 값을 입력받을 수 있게 도와주는 클래스
ex)
Scanner scan = new Scanner(System.in);
System.out.println("숫자를 입력해주세요 >> ");
int num = scan.nextInt(); //숫자 입력
System.out.println("내가 입력한 수 >> "+num);
예제)
Scanner scan = new Scanner(System.in);
System.out.println("국어점수를 입력해주세요 (0~100) >> ");
int kor = scan.nextInt();
System.out.println("영어점수를 입력해주세요 (0~100) >> ");
int eng = scan.nextInt();
System.out.println("수학점수를 입력해주세요 (0~100) >> ");
int math =scan.nextInt();
String point = null;
if (kor < 0 || kor > 100) {
point = "점수범위문제";
}
if (eng < 0 || eng > 100) {
point = "점수범위문제";
}
if (math < 0 || math > 100) {
point = "점수범위문제";
}
int sum = kor + eng + math;
int count = 3; // 과목수
double avg = (double)sum/count;
String pass;
if ( point == "점수범위문제") {
System.out.println(" 점수를 0~100으로 다시설정해주십시오.");
} else {
if (avg >= 90) {
pass = "A";
} else if (avg >=80) {
pass = "B";
} else if (avg >=70) {
pass = "C";
} else {
pass = "D";
}
System.out.println("합계:" + sum);
System.out.println("평균:" + avg);
System.out.println("결과:" + pass);
}
scan.close();
}
}