public static void main(String[] args) {
int i1 = 20;
int i2 = 24;
String s = ""+ i1 + i2;
//String s = i1 + i2 + ""
//44 왼쪽부터 오른쪽으로 진행되기 때문에 앞에 붙여야함
System.out.println(s);
}
타입 변환
타입 이름 = (타입) 변환할 값;
public static void main(String[] args) {
// 국 영 수 점수 3개를 변수 선언 및 저장 후
// 총점 평균을 구하시오.
int kor = 87;
int eng = 90;
int math = 85;
int sum = kor + eng + math;
double avg = (double)sum/3;
// double avg = sum/3.0;
// (정수/정수)는 타입은 정수로 변하지 않음, 강제로 변환
System.out.println("총점 : "+sum+" 평균 : "+avg);
}
더보기
//87.3
int i2 = (int)(avg*10);
// int i2 = (int)avg*10;
//870
avg = i2/10.0;
System.out.println(avg);
//87.33
int i2 = (int)(avg*100);
avg = i2/100.00;
System.out.println(avg);
자동 타입변환
public static void main(String[] args) {
// short -> int 변환하기
short a = 10;
int b = a; //자동 타입 변환
// int - > short 변환하기
int c = 5000000; //short 범위 초과 (overflow)
short d = (short) c;
// char -> int 변환하기
char e = 'A';
int f = e; //int 값이 더 크기때문에 자동 타입 변환
// int -> char 변환하기
int g = 65;
char h = (char)g;
// byte -> char 변환
byte i = 10;
char j = (char)i; //byte는 음수값을 포함하고 있기때문에 자동타입변환X
// char -> byte 변환
char k = 'a';
byte l = (byte)k;
}
Overflow, Downflow
byte b1 = 127;
b1 = (byte)(b1+1); //byte 범위 -128 ~ 127
System.out.println(b1);
byte b2 = -128;
b2 = (byte)(b2-1);
System.out.println(b2);
-128
127
charAt()
char name = 변환할값.charAt(0);
public static void main(String[] args) {
String s1 = "abcdef";
// String -> char
char c1 = s1.charAt(0);
System.out.println(c1);
}
a
시작값을 0으로 시작하기 때문에 쓸 수 있는 값은 "abcdef" 이므로 charAt ~ charAt(5)
String.valueof( )
public static void main(String[] args) {
// char -> String
char c2 = '1';
char c3 = '1';
String s2 = ""+c2+c3;
//String s2 = String.valueof(c2)+String.valueof(c3);
}
String -> 정수 타입 변환 parse, valueOf
int name = Integer.parseInt( );
int name = Integer.valueOf( );
byte name = Byte.parseByte( );
byte name = Byte.valueOf( );
public static void main(String[] args) {
// String -> int
String s1 = "1234";
int i1 = Integer.parseInt(s1);
int i2 = Integer.valueOf(s1);
String s2 = "122";
byte b1 = Byte.parseByte(s1);
byte b2 = Byte.valueOf(s1);
}
문제 1)
int num1, num2 값을 선언한 후
num1 나누기 num2 값에 1000을 곱한 정수부분을 출력하시오.
결과값 ex) 3 2 -> 1500
더보기
public static void main(String[] args) {
int num1 = 3;
int num2 = 2;
double div = (double)num1/num2;
int result = (int)(div*1000);
System.out.println(result);
// 표현2
// int result = (int)(((double)num1/num2)*1000);
// 표현3
// int result = 1000*num1/num2;
}
문제 2)
String 8개 변수를 선언하고 각각을 알맞는 기본타입으로 변환 해보기.
더보기
public static void main(String[] args) {
String a = "1";
int a1 = Integer.parseInt(a);
String b = "2";
byte b1 = Byte.parseByte(b);
String c = "3";
short c1 = Short.parseShort(c);
String d = "4";
long d1 = Long.parseLong(d);
String e = "5";
float e1 = Float.parseFloat(e);
String f = "6";
double f1 = Double.parseDouble(f);
String g = "7";
char g1 = g.charAt(0);
String h = "true";
boolean h1 = Boolean.parseBoolean(h);
}
시스템 입출력
System.out (출력 메소드)
println(); | 괄호 안의 내용을 출력하고 행을 바꿈 |
print(); | 괄호 안의 내용을 출력 |
printf("형식문자열", 값1, 값2, ...); | 괄호 안의 첫 번째 문자열 형식대로 내용을 출력 |
public static void main(String[] args) {
// System.out.printf("형식지정문자열", 변수리스트);
//"형식지정문자열"
//"%[[-/0]n]d 10진 정수
// - : 완쪽 정렬
// 0 : 남은 왼쪽 빈공간에 0채움
// n : 채울 숫자 수
// 정수 %d, 실수 %f, 문자열 %s
System.out.printf("%8d\n",1000);
System.out.printf("%-8d\n",1000);
System.out.printf("%08d\n",1000);
}
1000
1000
00001000
public static void main(String[] args) {
System.out.printf("자바 점수 : %d, 오라클점수 : %d", 90, 70);
}
자바 점수 : 90, 오라클점수 : 70
System.in (입력 메소드) Scanner
템플릿 저장
window > Preferences > 검색 : temp > Java > Editior > Templates
new > Name : scanTemp
( ${enclosing_type} : 클래스 이름, ${cursor} : 키보드 커서 위치)
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
${enclosing_type} obj = new ${enclosing_type}();
${cursor}
}
스캐너 값 호출
sc.next();
String str = sc.next();
System.out.println("입력된 결과 값 : "+str);
cf) 메소드 호출
public static void main(String[] args) {
ScanTemp obj = new ScanTemp();
// obj.method1(); //method1 호출
obj.method2();
}
public void method1() {
System.out.println("메소드1");
}
문제3
스캐너 입력 받은 문자열을 정수로 변환 후 10을 더해서 출력
더보기
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
ScanTemp obj = new ScanTemp();
obj.method3();
}
public void method3() {
System.out.println("정수를 입력하세요.");
String str = sc.next();
int result = Integer.parseInt(str)+10;
System.out.println("출력된 결과 값 : "+result);
}
'JAVA > JAVA BASIC' 카테고리의 다른 글
[JAVA] 반복문 - for문 (0) | 2024.03.11 |
---|---|
[JAVA] 조건문 (0) | 2024.03.08 |
[JAVA] 연산자 (0) | 2024.03.07 |
[JAVA] 변수와 기본타입 & 제어문자 (0) | 2024.03.05 |
[JAVA] 단축키, 기본 설정 (0) | 2024.03.04 |