일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맥os 데이터베이스
- 자바거스름돈
- 맥 sql설치
- 자바공부
- Mac Sqlplus
- 맥북 데이터베이스 설치
- 자바실수
- Mac db
- 자바계산
- 자바 거스름돈구하기
- 자바연산
- 맥북 데이터베이스
- javareview
- java
- java거스름돈구하기
- 자바 커피
- 자바
- mac oracle
- 자바연산자사용
- 자바복습
- 자바연산자
- 맥 오라클
- 자바 복습
- 자바변수
- 맥 데이터베이스
- 맥북 개발
- 자바 공부
- Today
- Total
DevTagebuch
3. 변수와 데이터 형식 본문
1) 출력
System.out.println(); 괄호 안의 내용을 출력한 후 한 행을 띄움
System.out.print(); 괄호 안의 내용 출력, 한 행 띄지 않음
System.out.printf(); 서식 지정해서 출력
* println() 에서 ln은 line feed 의 약자로 행을 넘긴다는 의미.
System.out.printf("100");
여기서 결과 100은 숫자가 아닌 문자 일영영임.
System.out.printf("%d",100);
여기서 결과 100은 숫자 100을 의미. %d 서식이 지정된 '숫자'는 그대로 숫자의 의미.
[예제]
100과 200을 더한 결과가 나올 수 있도록 %d를 3개 사용하여 System.out.printf()문을 만들어보자.
또한 나눗셈 결과도 나오게 해보자.
System.out.printf("%d + %d = %d",100,200,300);
System.out.printf("%d / %d = %f",100,200,0.5);
출력 관련 정리
System.out.println(“100”) //문자 (일영영), 따옴표 안붙이면 에러남
System.out.printf("\n"); //줄바꿈
System.out.printf("%d %d",100,200); //이거처럼 100과 200 둘다 있으니 %d도 두개
System.out.printf("%d %d",100); //에러뜸 왜? %d 는 뒤에 해당하는 숫자만큼 해야함
//실수를 출력할때는 %d 안됨. %f 를 해야함. 출력은 소수점 6자리까지 나타남
%d, %x, %o 정수(10진수 16진수 8진수) Ex.10,100,1234
%f 실수 Ex.0.5, 1.5
%c 문자 반드시 한글자이고 작은따옴표 Ex.‘s’ ‘a’
%s 문자열 한글자 이상이고 큰따옴표 Ex.“안녕” “adcdse”
System.out.printf("%d/%d=%f\n",100,200,0.5);//\n은 한줄띄기 표시. 따옴표 안에 넣으면 됨
System.out.printf("%c %c\n",'a','k');
System.out.printf("%s %s\n","IT World", "JAVA");
System.out.printf("%f\n",123.45);//원래 기본 소수점 6자리로 나옴 : 123.450000
System.out.printf("%.1f\n",123.45);//소수점이하 1자리만 표시하도록 : 123.5
System.out.printf("%7.3f\n",123.45);//전체 7자리 중 소수점이하 3자리 표시 : 123.450
//쩜 (.)도 공백 세지니까 123.450이어도 7자리인거
2) printf(); 메소드의 서식 지정
2-1) 출력 범위
%d (예를들어 123을 저장하려고 할때)
"%d" 숫자의 자릿수 만큼 정렬 (123)
"%5d" 다섯자리 확보, 오른쪽에 붙어서 정렬 ( 123=> 앞 두자리 공백)
"%05d" 오른쪽 정렬, 빈칸을 0으로 채움 (00123)
%f (123.45 를 저장할때)
"%f" 소수점 아래 여섯자리까지 표현 (123.450000)
"%7.1f" 전체 7자리 확보, 소수점 아래 첫째자리만 출력, 둘째 자리에서 반올림 ( 123.5=>앞 두자리 공백, .도 글자수로 세기 때문)
"%7.3f" 전체 7자리 확보, 소수점 아래 셋째 자리까지 출력, 오른쪽 빈칸 0 채움 (123.450)
2-2) 서식 문자
\n : 새로운 줄로 이동 (enter키 효과)
\t : 다음 탭으로 이 동 (tab키 효과)
\b : 뒤로 한 칸 이동 (back space키 효과)
\r : carriage return
\\ : \출력
\' : '출력
\" : "출력
3) 진수변환
2진수를 10진수로 변환하는 방법
10진수를 2진수로 변환하는 방법
2진수를 16진수로 변환한 후 10진수로 변환하는 방법
4) 상수 선언
final 키워드를 사용하며 선언 시 초기값을 지정한다. 실행 중에 값 변경이 절대 불가능!
final int PRICE = 10;
- 상수 이름은 꼭 대문자
- =뒤에 초기화 시킬 값 입력
Public class CircleArea {
public static void main(String[] args){
final double PI=3.14; //원주율을 상수로 선언
double radius=10;//원의 반지름
double circleArea=0;//원의 면적
circleArea = radius*radius*PI; //원의 면적 계산식
//원의 면적을 화면에 출력
System.out.print("원의 면적=");
System.out.printf("%7.1f",circleArea);
5) 타입 변환
강제 타입 변환 = 캐스팅이라고 불림.
실수에서 정수로 강제 타입변환을 하면 소수점 아래자리 다 탈락. = 데이터 손실이 일어남.
double d=3.19;
int a=(int)d; //n은 3이 된다.
자동 타입 변환 = 원래의 타입보다 큰 타입으로 바뀔 때.
byte>char/short>int>long>float>double
long var;
int n=34523;
byte b=25 //0X19;
var = b; //var 는 long타입 변수, 즉 8바이트. b는 byte 타입이니까 1바이트. 1바이트에서 8바이트는 자동으로 타입 변환됨.
==> var 값은 25
var = n; //int 타입에서 long타입으로 변환. 4바이트에서 8바이트로 자동 타입 변환.
==> var 값은 34523