1. 출력메소드
** 이름()는 메소드라고 생각하면됨 **
* print() : 여러 번 사용해도 모든 문장들이 붙여서 나온다.(줄바꿈 없이)
* println() : 한 번 사용하면 문장이 다 끝나고 나서 자동으로 줄바꿈이 적용된다.
* printf() : f는 format의 약자, 서식문자를 사용한다.
2. 서식문자(format)
: 반드시 따옴표 안에서 작성한다.
* %d : decimal(10진수 정수)
* %o : octal(8진수 정수)
* %x : hexdecimal(16진수 정수)
* %f : float(실수)
* %c : character(문자)
* %s : string(문자열)
3. 형변환
1) 자동형변환
* 정수 + 정수 = 정수
* 정수 + 실수 = 실수
10 + 0.0 = 10.0
* 문자 + 정수 = 정수
'A' + 3 = 68
2) 강제형변환
* (자료형)값
(int)10.232 == 10
4. 아스키 코드 : 암호화(Encryption.java)
5. 문자열 + 문자열은 연결, 정수 + 정수나 숫자 + 숫자는 연산을 한다고 함
6. 오늘 실습 코드
1) FormatTest.java
package day04;
public class FormatTest {
public static void main(String[] args) {
int data1 = 10;
float data2 = 2.5657F;
double data3 = 2.5657;
char data4 = 'A';
String data5 = "ABC";
System.out.printf("data1 : %d 입니다\n", data1);
System.out.printf("data1 : %o 입니다\n", data1);
System.out.printf("data1 : %x 입니다\n", data1); // 16진수는 소문자로 하면 소문자로 출력, 대문자로 하면 대문자로 출력
System.out.printf("data2 : %.4f 입니다\n", data2); // %.4는 소수점 뒤로 넷째자리만 표시해 뜻
System.out.printf("data3 : %f 입니다\n", data3); // 서식문자에서 소수점을 자를때 반올림
System.out.printf("data4 : %c 입니다\n", data4);
System.out.printf("data5 : %s 입니다\n", data5);
// printf는 \n을 써야 띄어쓰기 가능
// System.out.printf("안녕하세요");
// System.out.printf("안녕하세요");
}
}
2) FormatTask.java
package day04;
public class FormatTask {
public static void main(String[] args) {
//이름, 나이, 성별, 몸무게
//4가지 값을 변수에 넣기
//출력 예)
//이름 : ??
//나이 : ??
//성별 : ??
//몸무게 : ???
String name = "홍길동";
int age = 10;
String gender = "남자";
double weight = 60.53;
System.out.printf("이름 : %s\n", name);
System.out.printf("나이 : %d살\n", age);
System.out.printf("성별 : %s\n", gender);
System.out.printf("이름 : %.2fkg\n", weight);
}
}
3) CastingTest.java
package day04;
public class CastingTest {
public static void main(String[] args) {
//자동형변환
System.out.println(11/9); //정수 + 정수 = 정수, 그러므로 출력값 1
System.out.println((11+0.0)/9); //정수 + 실수 = 실수
System.out.println(11.0/9); //정수 + 실수 = 실수
System.out.println("================================");
//강제형변환(casting)
System.out.println((double)11/9);
System.out.println((int)8.43+2.59); //최단산, 단항이 우선, 강제형변환으로 8.43이 8 된 후 2.59 더함, 출력값 10.59
System.out.println((int)(8.43+2.59)); //최단산, 괄호가 우선 8.43+2.59 후 int로 형변환, 출력값 11
// 8.43 + 2.59 = 10
System.out.println((int)8.43+(int)2.59);
}
}
4) CastingTest2.java
package day04;
public class CastingTest2 {
public static void main(String[] args) {
//자동형변환, 정수 -> 문자
char data1 = 65;
char data2 = 68;
System.out.println(data1);
System.out.println(data2);
//강제형변환
System.out.println((int)data1);
//문자 + 정수 = 정수
System.out.println('A' + 3);
}
}
5) StringCasting.java
package day04;
public class StringCasting {
public static void main(String[] args) {
String data1 = "1";
String data2 = "2";
System.out.println(data1 + data2); //연결
//기본형은 기본형끼리, 클래스 타입은 클래스 타입끼리 형변환 가능
//String은 클래스 타입, 그렇기 때문에 형변환 불가능하여 에러남!
//System.out.println((int)data1 + (int)data2);
//int의 클래스 타입은 Integer, parse는 바꿔준다는 의미, parseInt를 하면 String 클래스 타입이 기본형 int형으로 변환
//문자열을 정수로 바꾸기
int num1 = Integer.parseInt(data1);
int num2 = Integer.parseInt(data2);
System.out.println(num1 + num2); //연산
System.out.println(""+1+2); //연결, 나머지 1과 2는 자동형변환, 즉, 문자열로 바꾸고 싶다면 ""만 붙으면 가능
System.out.println(""+(1+2)); //(1+2) 연산 후 연결, 출력값: 문자열 3
}
}
6) StringTask.java
package day04;
public class StringTask {
public static void main(String[] args) {
//이름, 나이, 성별, 몸무게
//4가지 값을 변수에 넣기
//출력 예)
//이름 : ??
//나이 : ??
//성별 : ??
//몸무게 : ???
String name = "홍길동";
int age = 10;
String gender = "남자";
double weight = 60.53;
//긴 문자열 값을 분리하고자 할 때
//원하는 위치에 엔터를 누른다.
//그럼 자동 연결이 된다.
System.out.println("이름 : " + name);
System.out.println("나이 : " + age + "살");
System.out.println("성별 : " + gender);
System.out.println("몸무게 : " + weight + "kg");
}
}
7) Encryption.java
package day04;
public class Encryption {
public static void main(String[] args) {
String pw = "a1b2c3";
String en_pw = "";
String de_pw = "";
int key = 3;
for (int i = 0; i < pw.length(); i++) {
en_pw += (char)(pw.charAt(i) * 3);
}
System.out.printf("기존 : %s\n", pw);
System.out.printf("암호화 : %s\n", en_pw);
for (int i = 0; i < en_pw.length(); i++) {
de_pw += (char)(en_pw.charAt(i) / 3);
}
System.out.printf("복호화 : %s\n", de_pw);
}
}
7. 단축키
* System.out.println(); 자동 생성 : syso 입력 후 ctrl + space
* 이름 바꾸기 : 바꾸고 싶은 이름 블록 씌우기 + alt + shift + r
'웹_프론트_백엔드 > 단과' 카테고리의 다른 글
[단과_JAVA] 2020.01.17 (0) | 2020.01.19 |
---|---|
[단과_Python] 2020.01.16 (0) | 2020.01.17 |
[단과_Python] 2020.01.15 (0) | 2020.01.16 |
[단과_JAVA] 2020.01.15 (0) | 2020.01.16 |
[단과_Python] 2020.01.14 (0) | 2020.01.15 |