728x90
반응형
System.out.printf(
복습

 

연산자 :  Operator

1. 괄호연산자 () {} []

2. 단항연산자

.

! 부정

+,- 부호(정수)

++, --전위

 

3. 이항연산자

산술연산자 + - * /(몫) %(나머지)

논리연산자

비교 <, <=, >, >=, ==, 객체형instanceof자료형>클래스이상의 대상만

비트 & | ^

&& ||

 

4. 삼항연산자

조건?값or실행문 :거짓값

 

5. 대입, 혼합대입

 

후위연산자, 해당 줄에 대한 명령이 끝나기 전 마지막에 

 

대입,혼합대입연산자>

공간=값절

ex) a=a+7;

 

문자열+=문자열 => a = a + b; 문자대입연산자

a+=b =>a = a + b ; 산술연산자

혼합연산자 : 왼쪽기준, 순번바꾸지x

 

&&

T&&T=T

F&&T =>연산자체 x

 

||

F||F=F

T||F => 연산자체 x

 

변수를 만들 수 있는 자료형 => 기본자료형

String 참조변수 =>주소값 저장

 

System.out.println() 순차대로.한 줄 내림. 값을 비워도 됨

                   print()

                   printf()

 

System.err.pirnt~() 랜덤으로. 빨간글씨

 

 

 

 

 

숫자는 오른쪽에 붙어서 정렬되는게 기본

<===

 

 

Ex13
printf의 포맷형식 format identifier 서식지정자    
- 내가 원하는 서식을 가지고 있는 기호
- %로 시작
- %%입력시 %
   
     
     
     
     

 

System.out.printf("문자열 안에 필요한 서식지정자를 기술", 서식지정자의 나열한 갯수와 나열한 순서에 맞게끔 입력될 값을 ,(콤마)로 나열해주어야 한다.); // 서식지정한만큼의 값이 있어야함
System.out.printf("문자열서식지정자%s, 십진정수서식지정자%d 실수형서식지정자%f", "문자열서식지정", 50, 5.25);
int a = 30;
printf("%d\n",a); // 줄바꿈

printf("(30)10진수 =>(%o)8진수 소문자표기\n",a); 
printf("(30)10진수 =>(%x)16진수 소문자표기\n",a);
printf("(30)10진수 =>(%X)16진수 대문자표기\n",a);
printf("%%s서식지정자(formatter) %s\n", "문자열 출력");
printf("%%f서식지정자(formatter) %f\n", 3.2582);
printf("%10.2f\n", 3.2582); 숫자소수점포함10칸, 반올림,오른쪽정렬
printf("%-10d과 %.4f\n", 10, 3.2582);왼쪽정렬10칸10진
printf("바나나우유 230ML는 %,d원 입니다.\n", 1200); 10진,


30  
(30)10진수 =>(36)8진수 소문자표기 
(30)10진수 =>(1e)16진수 소문자표기 
(30)10진수 =>(1E)16진수 소문자표기 
%s서식지정자(formatter) 문자열 출력 
%f서식지정자(formatter) 3.258200 
      3.26  
10        과 3.2582  
바나나우유 230ML는 1,200원 입니다.  

 

서식지정자 %

서식지정자 %    
     

 

인코딩(Encoding)

: 문자들이나 기호들을 컴퓨터 프로그램들이 읽을 수 있는 코드로 변환하는 작업

 

아스키코드(ASCII - American Standard Code for Information Interchange)

null - 예약어, 어떤값이 들어있는지 모르는 값

 

0x00(0x시작하면 16진수다)

0x0000

\u0000(\u시작하면 유니코드다), 0>F까지

\uAC00~D7A3 한글 11,172자

 

char 문자 1개의 값만 저장 가능.

65-A

97-a

UTF8(Universial Coded Character Set + Transformation Format 8bit)

UNICODE 전세계 각국의 언어코드를 수집해서 만든 한국,중국어 많음

 

Ex14

 

//아스키코드

char value1 = 'A';
char value2 = '가'; 
char value3 = '3';
char value33 = 3;
char value333 = (char)3;
System.out.println(value1);
System.out.println(value2);
System.out.println(value3);
System.out.println(value33);
System.out.println(value333);
System.out.println();

//정수로 대입
char value4 = 65; //char에 숫자값을 넣었는데도 값이 출력
char value5 = 51;
char value6 = 0xac00;
char value7 = '\uAC00';
System.out.println(value4);
System.out.println(value5);
System.out.println(value6);
System.out.println(value7);
System.out.println();

String str = "\uAC00 \u0000 gk\u0020gk";
System.out.println(str);
str = null;
System.out.println(str);

A

3



A
3



   gk gk
null

 

형변환(Type Casting) 

형변환(Type Casting) - 자료형을 변환함
기본자료형 형변환
1. 묵시적형변환(암묵적)
=>업캐스팅
- 숫자형만 가능
- 작은자료형=>큰자료형
- byte > short > int > long
    1          2        4       8
byte b=5;
short s=b;
int i=b;
int i=s;  값이 업캐스팅
2. 강제형변환(명시적)
=>다운캐스팅
- 큰자료형=>작은자료형
- 반드시 캐스트연산자 사용
             (변환할자료형)
- 값 손실 발생가능
 (내가 입력한 값과 다른 값이 나오는 것)
int i=50;
byte b=(byte) i;

 

[ctrl] [shft] [f]

Ex15
//자동 타입 변환 = 묵시적 타입 변환(업캐스팅)

// byte < short < int < long << float < double
byte b = 20; //-128 ~ 0 ~ 127
short s = b;
System.out.println("변수 b의 값: " + b);
System.out.println("변수 s의 값: " + s);
System.out.println("================\n");

int i = b;
System.out.println("변수 i_b의 값: "+ i);
i = s;
System.out.println("변수 i_b의 값: "+ i);
System.out.println("================\n");

long l = b;
System.out.println("변수 l_b의 값: "+ l);
l = s;
System.out.println("변수 l_s의 값: "+ l);
l = i;
System.out.println("변수 l_i의 값: "+ l);
System.out.println("================\n");

float f = b ; //실수
System.out.println("변수 f_b의 값: "+ f);
f = s;
System.out.println("변수 f_s의 값: "+ f);
f = i;
System.out.println("변수 f_i의 값: "+ f);
f = l;
System.out.println("변수 f_i의 값: "+ f);
System.out.println("================\n");

double d = b; //실수
System.out.println("변수 d_b의 값: "+ d);
d = s;
System.out.println("변수 d_s의 값: "+ d);
d = i;
System.out.println("변수 d_i의 값: "+ d);
d = l;
System.out.println("변수 d_l의 값: "+ d);
d = f;
System.out.println("변수 d_f의 값: "+ d);
System.out.println("================\n");


// [ 부호(1bit) + 정수(63bit) = 64bit = 8byte]
// -2의63승 ~ 0 ~ (2의63승-1)
long ll = 999999999999999999L; 정수는 일반적으로 int로인식하기에 범위넘어난 것은 접미어를 붙여야 long으로 인식.
//값 손실 발생 
// [부동소수점방식 : 부호(1bit) + 지수(8bit) + 가수(23bit) = 32bit = 4byte]
//-3.4*10의38승 ~ 3.4*10의28승
System.out.println(ll);
f = ll;
System.out.println(f);
//값 손실 발생
// [부동소수점방식 : 부호(1bit) + 지수(11bit) + 가수(52bit) = 64bit = 8byte]
//-1.7*10의308승 ~ 1.7*10의308승
d = ll;
System.out.println(d);
변수 b의 값: 20
변수 s의 값: 20
================

변수 i_b의 값: 20
변수 i_b의 값: 20
================

변수 l_b의 값: 20
변수 l_s의 값: 20
변수 l_i의 값: 20
================

변수 f_b의 값: 20.0
변수 f_s의 값: 20.0
변수 f_i의 값: 20.0
변수 f_i의 값: 20.0
================

변수 d_b의 값: 20.0
변수 d_s의 값: 20.0
변수 d_i의 값: 20.0
변수 d_l의 값: 20.0
변수 d_f의 값: 20.0
================

999999999999999999
9.9999998E17
1.0E18
 
char c = 'A'; //char 기본자료형은 문자한글자, 숫자로 가능 , char의 값은 아스키코드 이내(~127)라. 명시x 강제x 묵시적o 
//byte b = c; 오류
//short s = c; 오류
int i = c;
System.out.println("변수 i_c의 값: "+i);
long l = c;
System.out.println("변수 l_c의 값: "+l);
float f = c;
System.out.println("변수 f_c의 값: "+f);
double d = c;
System.out.println("변수 d_c의 값: "+d);
System.out.println("================\n");
변수 i_c의 값: 65
변수 l_c의 값: 65
변수 f_c의 값: 65.0
변수 d_c의 값: 65.0
================

728x90
반응형

'[JAVA]' 카테고리의 다른 글

[20231214] 4일차 오전  (0) 2023.12.14
[20231213] 3일차 오후  (0) 2023.12.13
[JAVA] 이스케이프 문자  (0) 2023.12.12
2일차 20231212  (0) 2023.12.12
[20231211] 1일차 오후  (0) 2023.12.11

+ Recent posts