project
package
class{
method(){
소스코드
}
}
//특별한 표시가 없으면
package lecture
public class Main01 {
public statix void main(String[]args) {
//메인 메소드 영역에 소스코드를 작성한다
}
}
1-1. {} 영역, 바디
public class 클래스명 {
클래스의 영역
}
1-2. 주석
//한줄 주석
/*
*여러줄 주석
*/
1-3. ; 세미콜론
System.out.print(값) //출력
System.out.println(값) //출력 후 줄바꿈
System.out.printf(값) //제어문자와 함께 쓴다
System.out.println("Hello Java!");
2-2. 제어문자
\n : 줄바꿈
\t : 탭
\' : ' //', ", \ 출력메소드에서 표시되지 않아서
\" : " //제어문자와 함께 써야한다
\\ : \
2-3. 출력메소드 활용
System.out.print(10); //숫자형은 그냥 쓴다
System.out.printf("\n홍길동\n");
System.out.printf("\t홍길동\t");
System.out.printl("자바");
System.out.prin("처음 배워요");
System.out.println("자바");
System.out.println("처음 배워요");
System.out.printf("\"코리아\"");
System.out.printf("엔터 : \\n");
System.out.println(1+1); //출력메소드 안에서 연산 가능
System.out.println("1"+"1"); //"문자열" + "문자열" : 문자열을 연결
System.out.println(9+"월"+30+"일");
3-1. 값
3-2. 변수
3-3. = : 대입연산자
3-4. 자료형
자료형 | TYPE | BYTE | 예 |
---|---|---|---|
정수형 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int | 4 | 0, -10, 244, ...(-21억~21억) | |
long | 8 | 0L, -10L, 244L, ... | |
실수형 | float | 4 | 0.0F, -124.144F, 202.11F, ... |
double | 8 | 0.0, -124.144, 202.11, ... | |
문자형 | char | 2 | '0', 'A', '~', '가', ... 홑따옴표 안에 존재 |
문자열 | String | 길이에 따라 다름 | "0", "가다다", "Hello" 쌍따옴표 안에 존재 |
3-5. 변수의 선언
자료형 변수명 = 초기값;
자료형 변수명;
int x = 10;
x라는 이름의 저장공간이 RAM의 할당되고, 10이라는 값이 들어간다
공간이 만들어졌으므로 주소값이 부여되지만 알 수 없다
3-6. 변수 선언시 주의 사한
3-7. 변수명 주의사한
3-8. 변수의 사용
int data = 10;
System.out.println(data); //10(data변수가 가지고있는 값을 사용)
data = 5; //data변수에 5 대입(data라는 이름으로 선언된 공간을 사용
data = data+5; //data변수가 가지고 있는 값+5 해서 다시 data공간에 넣기
3-9. 변수의 사용 이유
3-10. 서식문자(format 문자)
% | 의미 |
---|---|
%d | 정수(10진수) |
%o | 정수(8진수) |
%x | 정수(16진수) |
%f | 실수 |
%c | 문자 |
%s | 문자열 |
%% | % |
printf("서식문자열", 값, ...) //서식문자열은 서식문자가 포함된 문자열
//ex)"%fcm" - 실수하나 뒤에 "cm"라는게 붙은 문자열 뒤에 올 값은 앞의 문자열에 있는 서식문자의 개수만큼 따라와야 한다.
System.out.printf("이름 : %s\n", "홍길동") //제어문자 뒤에 붙은 \n은 전체 절이 끝나고 줄 바꿈이 된다
3-11. 변수의 활용
int x = 10;
char a = 'A';
float b = 10.24F;
double c = 10.24;
String d = "Hello";
//char ch = ''; //문자형은 값이 비어있으면 오류
char ch = ' '; //공백을 넣어주어야 한다
String msg = ""; //문자열은 비어있는 값도 가능
System.outprintln('0'+5); //문자형은 아스키코드값으로 인식이되서 연산이 가능하다
System.outprintln("0"+5);
int result = 10+5; //대입연산자(=)는 10 더하기 5 는 15라는 뜻이 아닌 오른쪽에 있는 값을 왼쪽에 넣어주는 연산자이다
//즉 15라는 값을 result라는 변수의 저장공간에 넣어주는 것이다
/*
*다음과 같이 출력
*------홍길동 님의 정보------
*이름: 홍길동
*나이 : 10살
*키 : 170.24
*----------\O/----------
*/
String name = "홍길동";
int age = 10;
double height = 170.24;
System.out.println("------" + name + " 님의 정보" + "------");
System.out.println("이름 : " + name);
System.out.println("나이 : " + age + "살");
System.out.println("키 : " + height + "cm");
System.out.println("----------\\O/----------");
//1 + 2 = 3
System.out.println(1 + " + " + 2 + " = " + (1+2));
System.out.println("%d + %d = %d\n", 1, 2, (1+2));
//10.2400
System.out.println(10.24);
System.out.printf("%4.f\n", 10.24);
int a= 10, b = 20, c = 30; //같은 타입의 변수는 연달아 선언할 수 있다
System.out.println("%d %d %d\n", a, b, c);
System.out.println("%3$d %1$d %2$d\n", a, b, c); //n$ n번째 변수를 출력
//String.format("서식문자열", 값, ...);
//넘겨준 서식문자열과 값들로 문자열을 만들어서 돌려주는 메소드(사용부분 통째로 문자열 값
//정수형 변수를 문자열 변수로 바꿔준다 "10 20 30"
String result = String.format("%d %d %d", a, b, c);
System.out.println(result);
4-1. 입력상태
4-2. . 하위 연산자
A.b //A 안에 b , A 의 b
4-3. 입력 메소드
Scanner sc = new Scanner(System.in); //입력 메소드가 포함된 스캐너 클래스를 객체와시켜주는 절로 자세한 내용은 클래스에서 알게된다
//지금은 입력 메소드를 사용하기 위한 준비 작업 정도로 생각하자
//import 구문을 직접 작성해주거나 스캐너 클래스 호출시 자동완성을 해주면 자동으로 임포트된다
pakage lecture
import java.util.Scanner;
public class Main01 {
}
next(); //통째로 사용자가 입력한 문자열 값 공백 또는 엔터를 구분점으로 판단하고 분리하여 입력을 받는다
//홍 길동 이라고 입력하면 "홍"과 "길동"으로 분리하여 "홍"만 입력받는다
//따라서 값의 갯수만큼 next()를 사용해 주어야 한다
nextLine() //통째로 사용자가 입력한 문자열 값 공백도 문자로 입력받는다
//홍 길동 이라고 입력하면 "홍 길동"으로 입력받는다 엔터를 구분점으로 삼는다
//앞에 다른 입력이 있다면 의미없는 nextLine()을 미리 하나 써주어야 한다
nextInt() //통째로 사용자가 입력한 정수 값
4-4. 입력 메소드 활용
Scanner sc = new Scanner(System.in);
//문자열의 초기값은"" 정수 0 실수 0.0, 0.0F 문자 ' '
String name = "";
String addr = "";
int age = 0;
System.out.print("이름 : ");
name = sc.next(); //홍길동을 입력하게되면 sc.next() 통째로가 "홍길동" 문자열 값으로 변한다.
System.out.print(name + "님 어서오세요~");
System.out.print("주소 : ");
sc.nextLine(); //의미없는 sc.nextLine()이 위에서 내려온 Enter를 먹는다
addr = sc.nextLine(); //정상입력
System.out.print("사는곳 : " + addr);
System.out.print("나이 : ");
name = sc.nextInt();
System.out.print("당신의 5년뒤 나이" + (age+5));