-
[java] 변수,변수형,연산자,if문JAVA 2021. 7. 21. 16:47
JAVA 기초
변수( Variable )란?
1. 변할 수 있는 값 = variable
2. 하나의 데이터를 저장할 수 있는 메모리 공간
3. 저장한 공간을 찾기 쉽게 만들려고 이름을 붙여서 사용한다.
참고 사이트 : https://velog.io/@mgm-dev/1.-%EB%B3%80%EC%88%98%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
변수이름
한글가능 / 하지만 쓰지 않는다.
숫자가능/ 하지만 첫문자로 쓰지 않는다.
소문자,대문자 가능/ 대부분 카멜표기법
특수문자는 $,_ 가능
길이는 관계 없음.
변수형 ( 기본형 )
1byte 2byte 4byte 8byte 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double 변수선언
자료형 변수이름;
변수에 처음 값을 대입하는 것을 '초기화(initialization)'라고 한다.
형변환 (Casting)
변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형변환이라고 한다. 기본형과 참조형은 서로 형변환할 수 없다.
boolean을 제외한 나머지 기본형 타입들은 서로 형변환이 가능하다. byte < short / char < int < long < float < double묵시적 형변환
( 자동 형변환 )작은 수에서 큰 수로, 덜 정밀한 수(정수)에서 더 정밀한 수(실수)로 대입되는 경우이다. 형변환을 생략할 수 있다.
값 손실이 없다.명시적 형변환
( 강제 형변환 )묵시적 형변환과 반대의 경우이다. 변환 되는 자료형을 명시해야 한다. 자료 손실이 발생할 수 있다. 1234567891011121314151617byte bNum = 10;int iNum = bNum;double dNum = 1.2;float fNum = 0.9F;// int < double < floatint iNum1 = (int)dNum + (int)fNum;System.out.println(iNum1); //값은 1// int iNum1 = dNum + fNum; 은 오류//강제형변환 = 명시적형변환int iNum2 =(int)(dNum + fNum);System.out.println(iNum2); //값은 2cs
연산자의 종류
- 단항연산자 : 피 연산자가 1개인 연산자
- 이항 연산자 : 피 연산자가 2개인 연산자
- 삼항 연산자 : 피 연산자가 3개인 연산자
종류 연산자 ( ), [ ] 단항 연산자 ++, --, +, -, !, ~ 산술 연산자 %, /, *, +, - 시프트 연산자 >>, <<, >>> 관계 연산자 <, <=, >, >=, ==, != 논리 연산자 &, ^, |, ~, &&, || 삼항 연산자 ? : 대입 연산자 =, +=, -=, *=, %=, /=, >>=, <<= > ++, --
피연산자의 값을 1증가 또는 감소
앞에 붙으면 전위증감, 뒤에 붙으면 후위증감
123456789101112int i = 10;//++i --> i = i+1;//전위 증가는 바로 증가 1 됨System.out.println(++i); //값은 11i = 10;//후위증가는 다음번 사용시 +1 됨System.out.println(i++); //값은 10System.out.println(i); //값은 11cs > !
boolean 형의 연산자. true 는 false 로 false 는 true 로
> %
나누기의 나머지를 구하는 나머지 연산자.
> 쉬프트 연산자 = 비트연산자 ( <<, >>, >>> )
2진수로 표현했을 때 각 자리를 오른쪽 또는 왼쪽으로 이동
오른쪽으로 n비트 = 2의 n 승으로 나눈것과 같은 결과
> 관계 연산자 ( <, >, <=, >=, ==, != )
두 피연산자를 비교, true or false
> 논리 연산자 ( ||, && )
|| 은 or , && 는 and 연산자
|| 은 피연산자 중 어느 한 쪽이 true 면 true 이다.
&& 는 피연산자 양 쪽 모두 true 이면 true 이다.
> 삼항 연산자
연산식이 참일 때 앞의 값, 거짓일 때는 뒤의 값
123int num4 = (5>3) ? 10:20;System.out.println(num4);//10cs
if문
조건식이 true 일 때 실행문을 실행하고 종료, 조건식이 false 일 때 실행문을 실행하지 않고 종료
123if(a % 5 == 0)//조건식System.out.println("5의 배수입니다.");//실행문// 실행문이 하나 일 시 실행문에'{}'을 생략 가능cs else 절은 조건문이 false 일 때 실행
12345678if(a % 5 == 0)//조건문{System.out.println("5의 배수입니다.");//실행문System.out.println("5의 배수가 맞음");}else {System.out.println("5의 배수가 아님");}cs else if 문은 앞의 if 문 또는 else if 문이 false 일 경우 해당 조건식을 통해 true 일 경우 실행한다.
1234567891011121314char grade ; //학점grade = 90;if(grade > 90)System.out.println("A학점입니다.");else if (grade > 80)System.out.println("B학점입니다.");else if (grade > 70)System.out.println("C학점입니다.");else if (grade > 60)System.out.println("D학점입니다.");elseSystem.out.println("F학점입니다.");
cs
switch 문
switch/case 문은 if 문과 비슷하다.
switch문에서 키워드: switch, case, default, break
1234567891011121314151617181920char grade ; //학점grade = 90;switch(grade) {case 90 :System.out.println("A학점입니다.");break;case 80 :System.out.println("B학점입니다.");break;case 70 :System.out.println("C학점입니다.");break;case 60 :System.out.println("D학점입니다.");break;default:System.out.println("F학점입니다.");break;}cs switch 안의 값이 90 일 경우 case 90 의 실행문인 A학점입니다. 를 출력
breack 로 switch 문을 빠져나온다.
default 는 case 문이 switch 안의 값과 일치하는 것이 없을 경우 출력 ( if-else 문의 else 같은 느낌 )
12345678910111213141516171819202122// 1월 ~ 12월 30일까지 달/ 31일가지 달/ 28일 달// 해당하는 달의 일수를 출력해 주세요// import java.util.Scanner ;Scanner scan = new Scanner(System.in);System.out.println("월을 입력하세요.>>");int month = scan.nextInt();int days = 0;switch(month) {case 1: case 3: case 5: case 7: case 8: case 10: case 12:days = 31;break;case 2:days = 28;break;default:days = 30;break;}System.out.println (month + "월은" + days + "일까지 있습니다.");cs 'JAVA' 카테고리의 다른 글
static main, 접근제한자, 싱글톤정의 (0) 2021.07.22 java 및 객체의 정의 (0) 2021.07.22 클래스,메서드정의 (0) 2021.07.21 2-3차원배열,향상된for문 (0) 2021.07.21 배열,while,for문 (0) 2021.07.21