일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- app.use
- DB
- 추상클래스
- React
- Pug
- Spring
- Node.js
- mybatis
- java
- 다형성
- 자바스크립트
- 삼항연산자
- Middleware
- dart
- 오류
- 생성자
- 콘솔게임
- Oracle
- 리액트
- push함수
- js
- qqOperater
- 자바
- git
- 코딩테스트
- Sort()
- 네임드생성자
- 배열
- 깃허브
- int와 integer
- Today
- Total
평행코드
Java 형 변환, 사용자로부터 값을 입력 받는 Scanner 본문
형변환
값의 자료형을 바꾸는 것
- 컴퓨터의 값 처리 원칙
같은 종류 자료형만 대입 가능
같은 종류 자료형만 계산 가능
계산의 결과도 같은 종류의 값이 나와야 함
- 강제형변환
-> 개발자가하는것
값의 범위가 큰 자료형을 값의 범위가 작은 자료형으로 변환
강제 형 변환 시 데이터 손실이 발생할 수 있음
데이터의 변형, 손실을 감수
- 자동형변환
-> 컴파일러가 알아서 해주는것
컴파일러가 자동으로 값의 범위가 작은 자료형을 값의 범위가 큰 자료형으로 변환
예시) int + double => double
int iNum1 = 10;
int iNum2 = 4;
float fNum = 3.0f;
double dNum = 2.5;
char ch = 'A';
System.out.println( iNum1 / iNum2 ); // 2
System.out.println( (int)dNum ); // 2
System.out.println( iNum2 * dNum ); // 10.0
System.out.println( (double)iNum1 ); // 10.0
System.out.println("====================");
System.out.println( ((double)iNum1 / iNum2) ); // 2.5
System.out.println( dNum ); // 2.5
System.out.println( (int)fNum ); // 3
System.out.println( (int)(iNum1 / fNum) ); // 3
System.out.println( iNum1 / fNum );// 3.3333333
System.out.println( ((double)iNum1 / fNum) ); // 3.3333333333333335
System.out.println("====================");
System.out.println( ch ); // 'A'
System.out.println( (int)ch ); // 65
System.out.println( (int)ch + iNum1 ); // 75
System.out.println( (char)(ch + iNum1) ); // 'K'
자료형
기본자료형 -> int, double, char, byte, boolean
: 원본값을 이진수로 저장함
실수를 표현하는 녀석들은 계산식에 들어가는 피연산값을 저장한다.
지수부와 가수부로 나누어서 저장함
참조형자료형 -> String, 클래스명{ }
Scanner
사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스
- import 작성
import.util.Scanner;
- Scanner 생성
Scanner sc = new Scanner(System.in);
- 키보드 입력 값 받기
정수 : sc.nextInt();
실수 : sc.nextFloat(); 또는 sc.nextDouble();
문자열 : sc.next(); 또는 sc.nextLine();
변수와 메모리 구조
Static : static예약어로 선정된 필드, 메소드가 저장되는 공간 (클래스변수등)
-> 공용의영역 heap,stack에서 접근해 사용가능
Heap : 런타임중에 new연산자에 의해 동적으로 할당하고 저장되는 공간, 객체, 배열 등
-> 개발자가 삭제할때까지 남아있음, 자바는 GC가비지컬렉터가 자동으로 삭제해줌
Stack : call 스택이라고도함 main의 스택이 열리면서 메인메소드안에 영역이 생성됨
(지역변수, 매개변수, 메소드호출스택등)
메인이끝나면 자동으로 소멸 (자동생성자동소멸)
출력 메소드
- System.out.println()
자동 줄바꿈
- Syste m.out.printf()
정해져 있는 형식에 맞춰서 그 형식에 맞는 값(변수)을 줄바꿈 하지 않고 출력
printf의 f : format형식
%d : 정수형, %o : 8진수, %x : 16진수
%c : 문자, %s : 문자열, %f : 실수, %e : 지수형태표현, %g : 대입값 그대로
ex)
- %5d : 5칸을 확보하고 오른쪽 정렬
- %-5d : 5칸을 확보하고 왼쪽 정렬
- %2.f : 소수점 아래 2자리까지만 표시
escape 문자
\t : 정해진 공간만큼 띄어쓰기 4칸만큼
\n : 출력하고 다음라인으로 옮김
\' , \" : 특수문자 사용시 백슬러시(\)를 넣고 특수문자를 넣어야 함
'Java' 카테고리의 다른 글
객체와 클래스 (인스턴스 필드와 클래스필드의 차이) (0) | 2023.09.05 |
---|---|
Java) 가위바위보게임 만들기! (0) | 2023.09.03 |
Java) 몬스터를 사냥하는 게임을 만들어보자! (0) | 2023.09.03 |
조건문 (0) | 2023.09.01 |
Java 변수 (2) | 2023.08.28 |