이안의 평일코딩

JAVA의 정석 3일차 - 자바입출력메소드 본문

Back-end/Java

JAVA의 정석 3일차 - 자바입출력메소드

이안92 2020. 6. 17. 13:56
반응형

2020.06.17(수)

1.화면 출력

* System.out.println() -> 다음줄에 출력

예) System.out.println("Hello");

      System.out.println("Java");

 => Hello

      Java

 

* System.out.print() -> 바로 출력

예) System.out.print("Hello");

     System.out.print("Java");

 => HelloJava

 

* System.out.printf() -> 서식이 있는 출력

예) 80 80 80 240 80.0 B

    System.out.println("80 80 80 240 80.0 B");

    System.out.printf("%5d%5d%5d%5d%5f%5c",80,80,80,240,80.0,'B');

=>    80   80   80  24080.000000    B

   %5d 80 양수->오른쪽정렬
   00080
   %-5d 음수->왼쪽정렬
   80000
  
   %5.2f 80.0 총 5자리, 소수점2자리
   080.00

 

   %d => 정수
   %f => 실수
   %c => 문자
   %s => 문자열

 

\n은 newLine => 새로운 줄에 출력

System.out.printf("%d*%d=%d\n",2,2,4);

\t는 탭 => 일정 간격

System.out.printf("%d*%d=%d\t",2,2,4);

 

2. Scanner scan = new Scanner(System.in);

  Scanner : 데이터형
  scan : 변수
  new : 메모리에 저장

  Scanner(System.in) : 초기화

 

예) System.out.print("1' 정수 입력:");

     int a = scan.nextInt(); 입력된 정수를 읽어와서 a라는 메모리에 저장

     System.out.println("a="+a);

 

Scanner => 도스에서만 사용

 

import java.util.*; // Scanner => 이전에 만들어진 자바파일을 읽어 온다

int a = scan.nextInt();

double b = scan.nextDouble();

 

3. 2진법, 8진법. 10진법, 16진법 만드는 방법

 

System.out.println(Integer.toBinaryString(78));  => 2진법 : 1001110 =>0b1001110

System.out.println(Integer.toOctalString(78)); => 8진법 : 116 =>0116

System.out.println(Integer.toHexString(78)); => 16진법 : 4e =>0x4e

 

System.out.println(0b1001110); (2진법) => 78

System.out.println(0116); (8진법) => 78

System.out.println(0x4e); (16진법) => 78

 

System.out.println(~100) => ~은 음수로 변겅됨. +1 됨. => -101

 

 

4. 자바기본형데이터

 

자바=>기본형
    자바에 지원하는 데이터형
            논리형 ==> boolean ==> 값 : true/false : if(조건문)을 사용할 때 주로 사용하는 데이터형 => 턴(Turn)
          
==========> upcasting (자동형변환)
byte < short(char) < int < long < float < double
<======= downcasting (강제형변환)

   double a = 'a';  ==> a=97.0
   char b = 'a'; ==> b=a
   int c = 'A'; ==> c=65
  
   자동으로 바뀌면 업캐스팅, 직접 바꾸면 다운캐스팅
  
   byte b1=10;
   byte b2=20;
   byte b3=b1+b2;
  
   byte + byte = int
  
   (int)10.5 + (int) 10.5 =>20
   (int)(10.5+10.5) => 21

 

5. 사용방법

boolean b = false; // False(X) true 또는 false ==> 1byte

System.out.println("b="+b); // false

b = true;

System.out.println("b="+b); // true

 

double aa = 'a';  // 97.0
char bb = 'a'; // a
int cc = 'A'; // 65

 

byte b1=10;
byte b2=30;
byte c=(byte)(b1*b2); // 44
byte는 127 이상 넘어가면 뒤에서 8개 잘라서 들어옴. (오버플로우)
100101100 에서 00101100 까지만

System.out.println(0b00101100); // 44

 

System.out.println('A'); //A

System.out.println((int)'A'); //65

System.out.println((int)'ㅋ'); //12619

System.out.println((char)12619); //ㅋ

각문자는 숫자번호를 가지고 있다 (char는 정수형으로 인식한다)

 

\t 탭

\n 줄바꿈

\" => "

\\ => \ 역슬래쉬

 

6. 형변환(casting) => 자신의 데이터형을 다른 형태의 데이터형으로 변환

boolean : 제외
byte < char < int < long < float < double


down casting                 up casting
강제형변환(long->int)     / 자동형변환(int->long 작은게 큰거에 들어가면 자동으로 바뀜)
정수 => 실수, 문자, 정수 int a = (int)10L => long a = 10
double d = (double)10 
실수 => 정수, 문자
문자 => 정수, 실수
  
int i='A' ==> 'A'=>65  ==> (char)65
  
10 + 10.5
==
10.0 (큰데이터로 변환됨)
     
'A'+1
==
65

 

참고) 문자0 코드48 / 문자A 코드65 / 문자a 코드97

반응형
Comments