2진수 - Binary / 0과 1
8진수 - Octax / 1 ~ 8
10진수 - Decimal / 1 ~ 10
16진수 - Hexadecimal / 1 ~ 16
Q. 10진수 대신 16 진수를 쓰는 이유
A. 컴퓨터는 2진수 기반이라 16진수가 더 익숙하기 때문. 인간에게는 10진수가 익숙하듯
문자열 포맷팅
- String.format을 이용해 더 간편하게 사용 (값이 두 개 들어가야 할 때 유용함)
public class StringFormatting {
public static void main(String[] args) {
String name="backend";
int balance = 10000;
String result = String.format("%s님의 통장 잔고는 %d원 입니다.", name, balance);
System.out.println(result);
}
}
문자열 자르기
- .substring() 사용하기
public class StringSub {
public static void main(String[] args) {
String str ="Hello";
System.out.println(str.substring(0,1)); // h
System.out.println(str.substring(0,2)); // he
System.out.println(str.substring(1,3)); // el
}
}
- 문자열 자르고 붙이기 ( 주민번호 - 제외하고 출력하기 )
import java.util.Scanner;
public class Codeup1020 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String number = sc.nextLine();
String frontNum = number.substring(0,6);
String backNum = number.substring(7,14);
System.out.println(frontNum+backNum);
}
}
문자열 자르기 - .split()
public class StringSplit {
public static void main(String[] args) {
String str = "10 3 19 28 7 488";
String[] strArr = str.split(" ");
System.out.println(strArr[0]); //10
System.out.println(strArr[1]); // 3
System.out.println(strArr[2]); //19
System.out.println(strArr[3]); //28
System.out.println(strArr[4]); // 7
System.out.println(strArr[5]); //488
}
}
문자열을 비교할 때는 == 연산자가 아닌 equals 를 사용해서 비교해야 한다.
new를 할 때 새로 생성을 하지 않기 때문에 String을 쓰면 메모리 효율적이다.
public class StudentMathScore {
public static void main(String[] args) {
int[] iArr = new int[5];
System.out.println(iArr[0]);
}
}
Q. 값을 넣은 적이 없는데 왜 0이 나오나요?
A. 배열 선언 시 new를 할 때 기본값으로 0이 들어감.
+ 배열은 참조타입이지만 구성하고 있는 것들은 원시타입
codeup 19번 문제
Codeup1033 문제
import java.util.Scanner;
public class Codeup1033 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hexadecimal = sc.nextInt();
System.out.printf("%X",hexadecimal); //대문자로 출력 시 x도 대문자로 입력
}
}
Codeup1034 문제
import java.util.Scanner;
public class Codeup1034 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String octax = sc.next(); //int가 아닌 String으로 입력 받기
int decimal = Integer.valueOf(octax, 8); //Integer.valueOf 사용하여 변경
System.out.printf("%d",decimal);
}
}
Codeup1036 문제 - 입력받은 값 아스키코드로 변경 후 10진수로 출력
import java.util.Scanner;
public class Codeup1036 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char ascii = sc.next().charAt(0); //charAt을 이용해 아스키코드로 변경
System.out.println((int)ascii); // 강제형변환으로 아스키코드 -> 10진수
}
}
Codeup1037문제 - 10진수로 입력받아 아스키코드 값으로 출력하기
import java.util.Scanner;
public class Codeup1037 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int decimal = sc.nextInt(); //10진수로 입력받은 값
System.out.println((char)decimal); // char 형변환을 통해 아스키코드값으로 변경
}
}
+ 8진수로 출력 시 souf + %o
+ 16진수로 출력 시 souf + %x
+ 대문자로 출력 시 souf + %[대문자]
'study' 카테고리의 다른 글
(230427) Java - 누적값 구하기 / 연산자(대입, 증감, 비트) (0) | 2024.07.25 |
---|---|
(230426) JAVA - 인스턴스화, Swap예제 (0) | 2024.07.25 |
(230424) Java - 타입변환 (0) | 2024.07.25 |
(230421) Stack과 Heap / 지역변수 / 멤버변수 (0) | 2024.07.25 |
(230420) Java - 변수 / Code-up 문제 풀이 (0) | 2024.07.25 |