[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 |