웹_프론트_백엔드/단과

[단과_JAVA] 2020.01.16

shine94 2020. 1. 17. 00:11

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