2일차 수업 ( Scanner 문)
<오늘 배운 내용> -> 하단 내용 참조
1. 데이터의 형변환
a) 자동 형변환
b) 강제 형변환
2. 연산자
- 대입 연산자
- 증감 연산자
- 논리 연산자
- 3항 연산자 : 데이터형 변수명 = (조건식)? 값1 : 값2;
int a12 = ( a1 > a2 ) ? a1 : a2;
int top = ( a12 > a3 ) ? a12 : a3;
-> 조건식이 true 이면 값1을 취하고, false 이면 값2을 취한다.
-> 값1에 지정한 가능한 데이터는 숫자, 문자, 문자열 모두 가능하다.
3. 문장 ( statement )
- 주석문 : 설명을 위한 문장으로 프로그램이 실행 하지 않는 문장
한줄 주석 : //
여러줄 주석 : /* */
- 조건문 : 여러 조건들을 해결하기 위한 문장
a. 단일 if 문
b. if - else 문
c. 다중 if 문
d. switch
- 반복문 : 반복을 하기위한 문장
a. for 문
b. while 문
c. dowile 문
4. Scanner 사용하기 (C언어의 scanf() 역할)
Scanner 클래스 사용
import java.util.Scanner; -> import 받음
Scanner scan = new Scanner( System.in );
예제 코드) 입력받는 두 숫자를 곱하기
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
int a=0, b=0;
Scanner scan = new Scanner( System.in ); //Scanner 사용에 있어 먼저 선언
System.out.println("가로 입력 :");
a = scan.nextInt(); // a라는 변수를 입력받음
System.out.println("세로 입력 :");
b = scan.nextInt(); // b는 변수를 입력받음
if(a<=0 || b<=0){
System.out.println("길이는 0이하일 수 없습니다.");
return;} // 0이하의 숫자는 입력을 제한 하는 부분
System.out.println("입력하신 두수의 곱은 : " + a*b);
}
}
==2일 째 오늘 학습 내용 1. 데이터 형변환 가. 자동 형변환 ( promotion ) - 큰 데이터형 = 작은데이터형; - int 보다 작은 정수형을 연산하여 나온 결과의 데이터형은 자동으로 int 로 변환된다. - 큰데이터형과 작은데이터형을 연산하면 큰데이터형으로 형변환된다. 예 > byte b =10; : 작은데이터형 = 큰데이터형; //에러발생 :( 변환활 데이터형 ) 형변환 연산자 사용. 연산자 ( operator ) a = b b는 a에 대입(저장) 2) 감소 연산자 : -- a. && ( and 연산자 ) : 앰퍼샌트 (&) true && true -> true * & vs && true || true -> true *||(short circuit) vs || c. ! ( not 연산자 ) !true -> false -> 조건식이 true 이면 값1을 취하고, false 이면 값2을 취한다. <instanceof 연산자> 가. 실행문 나. 비실행문 a. 단일 if 문 문법 : -> 조건식이 true 인 경우에만 문장1 실행. b. if - else 문 c. 다중 if 문 -> 비교할 조건식이 여러개인 경우에 사용 문법 : d. switch 문법 : -> break; 는 스위치문을 빠져나올 때 사용 e. 반복문 : 하나의 문장을 여러번 수행 가능한 방법이다. for( 초기값; 조건식; 증감식 ){ - while 문 초기값; *무한루프 - dowile 문 - 향상된 for 문 반복문에서 사용하는 2가지 키워드 break 문 : 가까운 반복문을 빠져 나온다. continue 문 : 블럭안의 모든 문장을 반복하지 않고 특정 조건이 일치하는 경우 skip 할 목적으로 사용 예) < 키보드 입력 > Scanner 클래스 사용 예) public class Test10 { public static void main(String[] args) { }
직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면 아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)
==> 데이터형이 프로그램 실행중에 변경됨을 의미한다.
==> 특징 :
-같은 종만 변환된다. ( 수치형 )
-기본형 + 참조형 모두 데이터 형변환이 발생된다.
- byte > short > int > long > float > double
char > int ==>char 연산이 가능하다.
예 > short s = 10;
short s2 = 10;
short s3 = s+s2 //이게 안됨 int로 변환됨
int i = b; //byte 1바이트 int 4바이트라 수용가능함. 같은종
나. 강제 형변환( type casting )
따라서 강제적으로 형변환해야 된다.
예 > int i=10;
short s = (short)i;
가. 산술연산자
+ ( 더하기 )
- ( 빼기 )
* ( 곱하기 )
/ ( 나누기, 몫 )
% ( 나머지 )
<대입 연산자>
: 값을 대입하는 연산자
a += b a와 b를 더해서 다시 a에 대입한다.
a -= b a와 b를 빼서 다시 a에 대입한다.
a *= b a와 b를 곱해서 다시 a에 대입한다.
a /= b a와 b를 나누어서 다시 a에 대입한다.
a %= b a와 b를 나머지를 다시 a에 대입한다.
<증감 연산자>
: 증가 연산자, 감소 연산자
1) 증가 연산자 : ++
-> 값이 1 증가한다.
++변수 : 전치 -> 먼저 증가하고 나중에 할당
변수++ : 후치 -> 먼저 할당하고 나중에 증가
-> 값이 1 감소한다.
--변수 : 전치 -> 먼저 감소하고 나중에 할당
변수-- : 후치 -> 먼저 할당하고 나중에 감소
<논리 연산자>
: 논리값으로 연산이 발생이 되고 결과는 논리값으로 나온다.
true && false -> false
false && true -> false
false && false -> false
&&는 앞의 결과가 false 이면 뒤의 결과를 체크하지 않는다.
& 는 앞의 결과에 상관없이 항상 뒤의 결과를 체크한다.
b. || ( or 연산자 )
true || false -> true
false || true -> true
false || false -> false
|| 는 앞의 결과가 true 이면 뒤의 결과를 체크하지 않는다.
| 는 앞의 결과에 상관없이 항상 뒤의 결과를 체크한다.
!false -> true
<3항 연산자>
: 데이터형 변수명 = (조건식)? 값1 : 값2;
-> 값1에 지정한 가능한 데이터는 숫자, 문자, 문자열 모두 가능하다.
- 변수의 데이터형을 알아 보려고 할때 사용 (참조 데이텨형만 가능 int 같은거안됨)
- '변수명 instanceof 데이터형' 으로 사용. 해석 : 변수명이 이 데이터형이야?
- 결과는 논리값
문장 ( statement )
: 순차문
->
: 자바가 실행하지 않는 문장을 의미한다.
개발자를 위한 문장이다.
: 주석문 이라고 한다.
: // 한줄 /* */ 여러줄
조건문
문장0;
if(조건식){
문장1;
}
문장2;
문법 :
문장1;
if(조건식){
문장2
}
else{
문장3;
}
-> 조건식이 true 면 문장2 실행하고 false 면 문장3을 실행한다.
문장1;
if(조건식){
문장2
}
else if{
문장3;
}
else if{
문장4;
}
else{
문장5;
}
switch(정수식) {
case 값1 : 문장1; break;
case 값2 : 문장2; break;
case 값3 : 문장3; break;
default : 문장4;
}
-> 정수식을 만족하는 case 값을 실행
-> 용도는 if-else 문과 비슷하다.
-> 정수식에 가능한 데이텨형은 byte, short, int, char 4가지가 가능하다.
항상 3가지 정보 필요 ( 반복회수 = '초기값' , '증갑연산자' , '조건식' )
- for 문
문법 :
문장 1;
}
=> 초기값>조건식>문장>증감식>조건식>문장>증감식>조건식>문장>증
감식>조건식(false)> for문을 빠져나온다.
문법 :
while(조건식){
문장;
증감식;
}
=> 예측이 힘든 경우에 사용
while(true){
문장;
}
boolean result = true;
while(result){
문장;
if(조건식) result = false;
}
문법 :
-> 배열 ,컬렉션 ( 대량의 데이터에 저장용)에 저장된 데이터를 반복적으로 열어올 때 사용된다.
문법 :
for( 데이터형 변수명 : 배열명 ){
}
예)
while(조건식){
for(){
if(조건) break;
}
if(조건) break;
}
while(조건식){
문장1;
문장2;
문장3;
}
import java.util.Scanner;
Scanner scan = new Scanner( System.in );
import java.util.Scanner;
int a=0, b=0;
Scanner scan = new Scanner( System.in );
System.out.println("가로 입력 :");
a = scan.nextInt();
System.out.println("세로 입력 :");
b = scan.nextInt();
if(a<=0 || b<=0){
System.out.println("길이는 0이하일 수 없습니다.");
return;
}
System.out.println("사각형의 넓이는 : " + a*b);
}
'프로그래밍 > Java' 카테고리의 다른 글
자바 [JAVA] 4일차 수업 (this키워드,패키지,import 문,배열,) (0) | 2017.08.18 |
---|---|
자바 [JAVA] 3일차 수업 객체,클래스 ,메소드,생성자 (0) | 2017.08.18 |
자바(JAVA) 1일차 수업 개발 환경 이해하기 (0) | 2017.08.18 |
자바(java)와 이클립스 설치및 톰캣연동 (0) | 2017.04.26 |
JAVA(자바)에 필용한 유용한 응용프로그램들 (0) | 2017.04.26 |