본문 바로가기

JAVA

#3 자바 제어문, 클래스&메소드 복습, Escape Character, byte 단위 입력, 라인단위 입력

<제어문 break>

===> switch또는 반복문 내에서 사용되며 해당 영역을 벗어나는 역할


<클래스&메소드 복습>

class 클래스명

{

//필드(변수)

//변수선언

int su;

boolean b;

double d;

String str;

A obj;

//메소드

//메소드정의

리턴형 hello(변수선언)

{

//변수선언

//변수초기화

//메소드호출

//조건문

//반복문

1;

2;

3;

}

}


<Escape Character> Escape Sequence

- 특수문자, 확장문자

- 기능을 갖는 확장된 문자

- 주의: 인용부호내에서만 사용해야 함!!

종류)

\n : new line , Line Feed(LF) , 줄바꿈

\r : Carriage Return(CR), 커서의 위치를 맨앞으로 이동.

\t : Tab, 일정간격 띄우기

\\ : '\'문자표현

\" : 큰따옴표

\' : 작은따옴표


<byte단위 입력>

System.in.read()란? 아스키코드(ASCII Code) 입력을 의미

==> 미국에서 지정한 각 문자가 갖는 코드 숫자값.

1. 숫자입력

int su = System.in.read()-48;

2. 문자입력

char ch = (char)System.in.read();

(자료형) ===> 캐스팅연산자(casting) : 형변환 연산자

형식: (자료형)데이터

예 : (int)3.14 ===> 결과값은 3!!

(char)97 ===> 결과값은 'a'

'a' ---> 97

'b' ---> 98

'c' ---> 99

'A' ---> 65

'B' ---> 66

'C' ---> 67

'1' ---> 49

'2' ---> 50


<<라인단위 입력>>

1. 객체생성

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

2. 문자열입력

String str = br.readLine(); //123엔터

//str="123";

3. 숫자입력

int su = Integer.parseInt(str); //숫자로 구성된 문자열을 숫자로 변환해주는 기능.

//su=123;


<Test>

//import java.lang.String;

//import java.lang.System;

import java.lang.*;//컴파일러가 추가

import java.io.IOException;

//현 클래스내에서 사용되는 모든 클래스들은 그 위치(클래스파일이 있는 패키지)를 반드

시 표시해야 함

//(예외: 동일한 폴더에 있는 클래스, 기본패키지(java.lang)에 있는 클래스)

class InputTest

{

public static void main(String[] args) throws IOException

{ //throws: 뒤에 기술된 예외에 대해 특별한 처리를 하지않겠음.

//아스키코드(각 문자가 갖는 고유의 숫자값) 입력!!

System.out.print("한자리 수를 입력하시오: ");

int su = System.in.read(); //3엔터 ----> byte값 51 13 10

// 51

System.in.read();// 13

System.in.read();// 10

System.out.print("동일한 수를 다시 입력하시오: ");

int su2 = System.in.read()-48;

System.out.println("당신이 입력한 숫자는 "+su2+"이고\n 그 수의 아스

키코드는 "+su+"입니다!!");

}

}


<Test2>

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

import java.util.Calendar;

class JuminNoTest

{

public static void main(String[] args) throws IOException

{

System.out.print("주민번호를 정확히 입력하세요('-'포함): ");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String id = br.readLine();//입력시점

//id="960302-1012345" "080603-3012345"

//charAt()사용 ---> '1' '2' '3' '4'

//인덱스 01234567890123

//나이를 구하고 싶다?

//2018-(1900+96)+1

//String birthYear = id.substring(0,2);//"96"

int birthYear = Integer.parseInt(id.substring(0,2));

// Integer.parseInt( "96" ) ---> 96

System.out.println("birthYear="+birthYear);

//현 시스템의 날짜 정보 얻어오기!! ===> Date, Calendar클래스

Calendar cal = Calendar.getInstance();

//cal변수에는 객체생성시의 날짜관련된 모든 정보가 저장되어 있음

//cal.get(얻을정보);

int year = cal.get(Calendar.YEAR);

System.out.println("year="+year);

int age = year - (1900+birthYear) +1;

//2018 - "190096" +1

//2018 - 1996 +1

System.out.println("당신의 나이는 "+age +"입니다!!");

}

}


<Test3>

class MissionTest

{

public static void main(String[] args)

{

for(int dan=3; dan<6; dan++){//단표현: 3~5

System.out.println("<"+dan+"단>");

for(int i=1; i<10; i++){//곱하여지는 수: 1~9

//출력포맷(형식) : 3*5=15

System.out.println(dan +"*"+ i + "="+ (dan*i) );

}//for

System.out.println();

}//for

System.out.println("==================1=======================");

for(int i=1; i<10; i++){//곱하여지는 수: 1~9

for(int dan=2; dan<10; dan++){//단표현: 2~9

//출력포맷(형식) : 3*5=15

System.out.print(dan +"*"+ i + "="+ (dan*i) +" " );

if((dan*i) < 10)System.out.print(" ");//출력결과가 한자리였을때

}//for

System.out.println();

}//for

System.out.println("==================2=======================");

for(int i=1; i<10; i++){//곱하여지는 수: 1~9

for(int dan=2; dan<10; dan++){//단표현: 2~9

//출력포맷(형식) : 3*5=15

System.out.print(dan +"*"+ i + "="+ (dan*i) +"\t" );

}//for

System.out.println();

}//for

System.out.println("==================3=======================");

for(int i=1; i<10; i++){//곱하여지는 수: 1~9

for(int dan=2; dan<10; dan++){//단표현: 2~9

//출력포맷(형식) : 3*5=15

System.out.printf("%d*%d=%-4d",dan,i, (dan*i) );

//printf()메소드: JDK5버전 부터 지원!!, C언어와 같음

//f: format(형식)을 의미

//printf("출력포맷형식", 출력할 바인드데이터);

}//for

System.out.println();

}//for

}//main

}

<Last Test>

class Test

{

public static void main(String[] args)

{

//객체생성(메모리할당) 키워드: new , static

A a = new A();//a.~ : A클래스에 있는~

a.hello();

System.out.println("nn\nnn");

//화면에 "안녕하세요, "플레이"데이터\입니다!!" 출력하시오.

System.out.println("안녕하세요, \"플레이\"데이터\\입니다!!");

//%d :십진수 %f :실수 %c : 문자 %s :문자열

System.out.printf("안녕%-5d하세요%s~\n^^*",200,"<구구단>");

System.out.println( "97출력: "+ 97 );

System.out.println( "(char)97: "+ (char)97 );

}

}