[day 02]

1. 변수의 사용
1) 접미사 :
리터럴값 뒤에 데이터 타입을 명시해주는 방법

2) 기본값 :
boolean : false; 
char    : ''; .'\u0000'; 
int     : 0;
double  : 0.0;
참조열  : null;

2. 출력문 : 콘솔에 출력하는 명령문 : 개발자가 확인용으로 많이 사용
1) 종류
System.out.println();  : 엔터기능 O
System.out.print();    : 엔터기능 X (옆으로 값이 출력)
System.out.printf();   : 엔터기능 X 값을 출력할때 서식문자를 사용해야함 (몰라도 됨)

2) 출력문 내 연산 
숫자 + 숫자 ==> 더한 결과 출력
"문자열" + "문자열" ==> 문자로 연결된 문자열 출력
"문자열" + 숫자 ==>  문자로 연결된 문자열 출력 
'문자' + 숫자 ==> 문자의 아스키코드값 + 숫자 결과값 숫자 출력 


3) 이스케이프 문자 
: 출력문 내에서 사용되며, 어떠한 기능을 가지고 있는 특수 문자
(홑따옴표나 겹따옴표 안에 작성) 

"\n" : 줄바꿈 
"\t" : 탭간격
"\"" : 쌍따옴표 문자로 취급
"\'" : 홑따옴표 문자로 취급
"\\" : 역슬래쉬를 문자로 취급

3. 형변환 Casting, Type Conversiom, Converting
boolean 타입을 제외한 다른 타입들을 변환 시키는 것
(타입)변수 
char < int < long           // float < double

1) 강제형변환 : (다운캐스팅, 디모션) : 큰타입 -> 작은타입 : 형변환 공식 적는다!
int a = 300;
byte b = a; ==> error !!
byte b = (byte)a; ==> 문법적으로 error는 안나지만, 값이 깨짐

double d = 1.5;
int i = (int)d; => i = 1


(int)3.5 + 4 => 7 
(double)4 + 4 = 8.0000000


2) 자동형변환 : (업캐스팅, 프로모션) : 작은타입 -> 큰타입 : 형변환 공식 생략가능 
 
double d = 3.14 * 10; 31.4
   3.14 * 10.0 (int -> double로 자동 변환)

5 + 3.5 ==> 8.5
5 / 2   ==> 2      5 / (double)2 ===> 2.5 
int/int ==> int


4. 입력문
1) Scanner : 자바패키지에서 제공하는 클래스. 입력 받을 때 사용. 

#1. import 문 사용 : 
자바 파일 최상단 package....; 명령문 밑에 작성
import java.util.Scanner;

#2. Scanner 객체 생성 (main 안에 작성) 

Scanner sc= new Scanner(System.in); 

#3. 입력받기 (받고싶은 만큼 메서드 작성)

String 변수 = sc.nextLine(); 

#4. Scanner 객체담기

sc.close();

package day02;

public class Test03 {
	public static void main(String[] args) {
		//변수 선언
		// 타입 변수명;
		int i;
		int a, b;
		i = 10; // i 변수 초기화
		System.out.println(i);
		
		//변수 선언 + 초기화(데이터에 값을 처음 넣는것) 
		int c = 100, d = 200;
		//int e, f = 100; // (이것은 안됨) 
		int abc = 10;
		abc=20;
		System.out.println(abc);
		
		abc = 10 + 20;
		System.out.println(abc);
		
		abc = 10 + 20 * 50 / 100;
		System.out.println(abc);
		// =: 대임연산자 : 대입연산자의 오른편 연산을 모두 마친후 결과를 왼편 변수에 저장한다.
	}
}
package day02; // 현재 파일이 위치한 패키지의 이름을 명시

public class Test04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			/* public : 접근지정자 : 완전공개 ~ 나중에
			 * Class : 클래스 만들때 사용하는 키워드
			 * 			자바는 클래스들로 구성되어 있다. 자바의 최소단위. 클래스 바깥에는 코드작성 x
			 * Test04 : 클래스 이름 : 첫글자 대문자로 만들어야함 (변수와 구분하기 위해)
			 * 			-> 이클립스에서 파일생성시 Name에 이름작성하면 이것이 클래스 이름이 되고,
			 * 				파일 생성시 첫글자 대문자로 작성.
			 * 			클래스 명명규칙 : 첫글자 대문자, 띄어쓰기x 한글x , 특수기호 _ & 만가능, 키워드x, 대소문자 구분
			 * 			패키지 안에서는 같은 이름의 클래스가 있을 수 없다
			 * 
			 * static : 전역 키워드 (클래스 키워드) : 나중에
			 *			 
			 * void : 리턴타입 중 리턴 할 값 없다!
			 * main : 메서드 이름 public static void main(String[] args) {
			 * 			메인메서드는 프로그램이 시작되면 가장 먼저 자동으로 실행되는 메서드.				
			 * 			메인메서드가 종료되면 프로그램도 종료가 된다.
			 * 			프로그램내에 반드시 하나만 존재해야함.
			 * 
			 * (String[] args): 매개변수 : 나중에
			 * 
			 * 
			 * */
	}
}
package day02;

public class Test05 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		char ch = '\u0051';
		System.out.println(ch);
		
		
		//오버플로우 : 잘못된 형태  byte -128~127
		byte b = (byte)12;
		System.out.println(b);
		
		
		// int : 10 진수 / 8 진수 : 0으로 시작하는 수
	// 			 16진수 : 0x 로 시작하는 수  
		//		 2 진수 : 0b 로 시작하는 수
		int i = 15;     //10진수
		int j = 015;    // 8진수
		int k = 0x15;   //16진수
		int l = 0b0101; //2진수
		//  0    1   0    1
		// 2^3  2^2 2^1  2^0
		
		System.out.println(i);
		System.out.println(j);
		System.out.println(k);
		System.out.println(l);
	
		// 문자열 
		String abc = "안녕하세요";
		System.out.println(abc);
		abc  = "java 재밌어요";
		System.out.println(abc);
		//abc = 'A';
		abc = "A";

	}
}
package day02;

public class Test06 {

	public static void main(String[] args) {

		// 접미사
			//(명시적 형변환)
		int a = 100;
		long l = 100;  // 100L; 과 동일함 
		double d = 3.14;
		float f = 3.14F; // double이 아니라 float 타입이라고 값에 명시
		
		int i; 
	    i = 0;
		
		
		// 출력문 연산
		System.out.println(10 + 3);
		System.out.println("A"+ 10);
		System.out.println("A"+ 10 + 20);
		System.out.println("A" + (10 +20 ));
		System.out.println(10 + 20 + "A");
		System.out.println('A'+10);
		// 아스키코드 숫자 '0' = 48, 'A' = 65, 'a' = 97  
		
		System.out.println("hello \"hello\"");
		
	}
}
package day02;

public class Test07 {

	public static void main(String[] args) {
		// 문제 : 정수형 변수 A 와 B애 각각 10, 20을 대입하고,
		// 값을 서로 교환해서 출력해보세요.
		
		// 변수 생성 + 값 대입하기
		//System.out.println(a + "" + b); // 10  20
		// A 변수의 값과 B변수의 값을 교환해서 저장

		//System.out.println(a + "" + b); // 20  10
		
		int a = 10;
		int b = 20;
		
		System.out.println(a + " " + b); // 10  20
		// A 변수의 값과 B변수의 값을 교환해서 저장
		
		int tmp = a;
		a = b;
		b = tmp;
		System.out.println(a + " " + b); // 20  10
		
	}
}
package day02;

public class Test08 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		char ch = 'A';
		int a = ch;                //자동 형변환
		System.out.println(a);
		
		a = 65;
		char c = (char)a;          //강제 형변환
		System.out.println(c);
		System.out.println(a);
		
		
		int b = 5;
		double d = b;
		System.out.println(d);
		
		double e = 5.7;
		int f = (int)e;
		System.out.println(f);
		
		char g = 'ㄴ';
		double h = g;
		System.out.println(h);
	}
}
package day02;

public class Test09 {

	public static void main(String[] args) {
			byte b = 127;
			int i = 100;
			System.out.println(b+i);  //227
			System.out.println(10/4); //  2
			System.out.println(10.0/4); // 2.5
			System.out.println((byte)(b+i)); // -28
			System.out.println((int)2.9 + 1.8); //3.8
			System.out.println((int)(2.9 + 1.8)); //4
			System.out.println((int)2.9 +(int)1.8); //3
			
	}
}
package day02;


// #1. import 문 작성
import java.util.Scanner;

public class Test10 {

	public static void main(String[] args) {
		// #2. Scanner 객체 생성
		Scanner sc = new Scanner(System.in);
			
		// #3. 입력 받기
		// 사용자가 어떤 입력을 해야하는지 힌트를 줄 메세지 출력
		System.out.println("지금 많이 졸린가요??");
		
		// 입력받아, 받은 값 가져와 msg 변수에 저장
		// (입력받아오는 값의 타입은 무조건 String 타입이다)
		String msg = sc.nextLine();
		System.out.println("타이핑:"+  msg);  //잘 가져왔는지 확인용 출력문
		
		// #4. Scanner 닫기
		sc.close();
		
	} //main
} //class
package day02;

import java.util.Scanner;

public class Test11 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("이름을 입력하세요 >>");
		String name = sc.nextLine();
		System.out.println("당신의 이름은 " +  name  + "입니다");	
		
		System.out.println("나이를 입력해주세요 >>");
		//String age = sc.nextLine();
		//int realAge = Integer.parseInt(age);
		int Age = Integer.parseInt(sc.nextLine());
		
		
		System.out.println("당신의 나이는 " + Age + "살 입니다");
		// 참조형 String과 기본형 타입은 형변환 공식으로 호환 불가능
		// int numAge = (int)age; 안됨
		// String -> int로 변환
		// int 변수명 = Integer.parseInt(String 타입변수or "값");
		
		// String -> double 
		// double 변수 = Double.parseDouble(String 타입변수or "값");
	    
		// String -> float
		// float 변수 = Float.parseFloat(String 타입변수or "값");
		
		// String -> boolean
		// boolean 변수 = Boolean.parseBoolean(String 타입변수or "값");
	
		
		
		System.out.println("당신의 내년 나이는 " + (Age + 1) + "살 입니다");
		
		/* String -> int 
		 * integer.parseInt(String타입변수 or "값"
		 * */
		
		sc.close();
		
	}
}
package day02;
import java.util.Scanner;

public class Test12 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
			
	
		
		
		System.out.println("이름을 입력하세요 >>");
					//String name = sc.nextLine();
					System.out.println("당신의 이름은 " +  sc.nextLine()  + "입니다");	
		
		System.out.println("나이를 입력해주세요 >>");
			int Age = Integer.parseInt(sc.nextLine());
					System.out.println("내년에는 " + (Age + 1) + "이 겠군요!");
	
					//System.out.println("내년에는 " + (sc.nextInt() + 1) + "이 겠군요!");
		
		System.out.println("당신의 키는 얼마인가요 ? >>");
			double Tall = Double.parseDouble(sc.nextLine());
       				System.out.println("당신의 키는 대략 " + ((int)Tall + 1) +"이 겠군요");
		
       		
       	System.out.println("당신의 전화번호는 무엇입니까? >> ");
       				//String num = sc.nextLine();
       				System.out.println("당신의 번호는 " +  sc.nextLine()  + "입니다");	
		
       		
       				
		sc.close();
	}

}

 

'P-Language > [Java]' 카테고리의 다른 글

[Java] 6 - 다차원 배열  (0) 2022.06.03
[Java] 5 - 배열  (0) 2022.06.03
[Java] 4 - 조건문(switch), 반복문  (0) 2022.06.03
[Java] 3 - 연산자, 제어문, 조건문  (0) 2022.06.03
[Java] 1 - 환경 변수와 자바의 기본  (0) 2022.06.03

+ Recent posts