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'; 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 ================ |
'[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 |