<테스트용 코딩>
1. 스캐너를 이용하여 단을 입력받고 콘솔창에 구구단 출력하기 (GuTest)
-
Scanner로 단을 입력받고 print로 콘솔창에 출력한다.
-
오류메시지를 쓰기 위해 try-catch문으로 처리한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package guiTest;
import java.util.InputMismatchException;
import java.util.Scanner;
public class GuTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("단을 입력하세요");
try {
int dan=sc.nextInt();
for(int i=1;i<10;i++) {
System.out.println(dan+"*"+i+"="+dan*i);
}
}catch(InputMismatchException n) {
System.out.println("숫자를 입력하세요");
}
sc.close();
}
}
|
2. 상속과 오버라이딩을 이용하여 출력하기 (Test)
-
extends로 클래스를 상속받는다.
-
super()메소드의 인자로 부모 클래스의 멤버변수를 설정한다.
-
오버라이딩을 통해 부모 클래스의 출력문과 자식 클래스의 출력문을 달리 설정할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package Test;
class Person{
String name;
int age;
public Person(String name, int age) {
this.name=name;
this.age=age;
}
public void show() {
System.out.print(name+" "+age+" ");
}
}
class Student extends Person{
String major;
public Student(String name, int age, String major) {
super(name, age);
this.major=major;
}
@Override
public void show() {
super.show();
System.out.print(major);
}
}
public class Test {
int y; //멤버변수
public static void main(String[] args) {
Student s=new Student("김자바", 25, "회사원");
s.show(); //김자바 25 회사원 출력되도록 바꾸기
// int x=0; //지역변수는 반드시 초기값 설정
// System.out.println(x);
// Test t=new Test();
// System.out.println(t.y); //멤버변수가 int형이면 0으로 설정된다.
}
}
|
3. StringTokenizer를 이용하여 문자열을 나눠서 출력하기 (TokenTest)
-
StringTokenizer 클래스에 객체를 선언한다.
-
StringTokenizer 생성자의 멤버변수로는 나눌 문자열 객체, "기준"을 써준다.
-
while문의 인자로는 stk.hasMoreTokens()메소드를 이용, 토큰 수는 countTokens(), 나눠진 문자열은 nextToken()메소드를 이용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package Test;
import java.util.StringTokenizer;
public class TokenTest {
public static void main(String[] args) {
String str="aaa@bbb@ccc@ddd.eee";
StringTokenizer stk=new StringTokenizer(str,"@.");
while(stk.hasMoreTokens()) {
String token=stk.nextToken();
System.out.println(token);
}
System.out.println("======");
}
}
|
4. 전치연산, 후치연산
int x=15, y=3, z=4;
z=++x/y;
System.out.println("x="+x); //16
System.out.println("y="+y); //3
System.out.println("z="+z); //5
x*=y+1;
System.out.println("x="+x); //64
System.out.println("y="+y); //3
System.out.println("z="+z); //5
z=++x+y++;
System.out.println("x="+x); //65
System.out.println("y="+y); //4
System.out.println("z="+z); //68
<Test문제 개념 정리>
-
스캐너를 이용하여 단을 입력받고 콘솔창에 구구단 출력하기 (GuTest)
-
Scanner로 단을 입력받고 print로 콘솔창에 출력한다.
-
오류메시지를 쓰기 위해 try-catch문으로 처리한다.
-
상속과 오버라이딩을 이용하여 출력하기 (Test)
-
extends로 클래스를 상속받는다.
-
super()메소드의 인자로 부모 클래스의 멤버변수를 설정한다.
-
오버라이딩을 통해 부모 클래스의 출력문과 자식 클래스의 출력문을 달리 설정할 수 있다.
-
StringTokenizer를 이용하여 문자열을 나눠서 출력하기 (TokenTest)
-
StringTokenizer 클래스에 객체를 선언한다.
-
StringTokenizer 생성자의 멤버변수로는 나눌 문자열 객체, "기준"을 써준다.
-
while문의 인자로는 stk.hasMoreTokens()메소드를 이용, 토큰 수는 countTokens(), 나눠진 문자열은 nextToken()메소드를 이용한다.
-
전치연산, 후치연산
int x=15, y=3, z=4;
z=++x/y;
System.out.println("x="+x); //16
System.out.println("y="+y); //3
System.out.println("z="+z); //5
x*=y+1;
System.out.println("x="+x); //64
System.out.println("y="+y); //3
System.out.println("z="+z); //5
z=++x+y++;
System.out.println("x="+x); //65
System.out.println("y="+y); //4
System.out.println("z="+z); //68
-
주석 표시하는 법 36p.
-
한줄: //
-
여러줄: /* */
-
변수 이름 정하기 47p.
-
$와 _만 특수기호로 쓸 수 있다.
-
변수 이름은 숫자로 시작할 수 없다.
-
이미 사용 중인 예약어는 사용할 수 없다.
-
변수 선언방식
-
지역변수는 반드시 초기값 설정
-
멤버변수가 int형이면 0으로 설정된다.
-
기본 데이터형 49p.
-
정수형 byte, short, int, long
-
문자형 char
-
실수형 float, double
-
논리형 boolean
-
생성자 153p.
-
생성자가 하는 일: 멤버변수를 초기화한다.
-
생성자 규칙: 클래스 이름하고 같아야함. void를 쓸 수 없다. 반환형도 없다. 클래스를 생성할 때만 호출된다.
-
접근제어자 167p.
-
public: 모든 클래스에서 접근 가능함
-
protected: 동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근 가능함
-
default(생략): 같은 패키지내부에서만 접근 가능함
-
private: 클래스 내에서만 접근 가능함.
-
protected가 default보다 범위가 크다.
-
static: 여러 클래스에서 공통으로 쓰기 위해 만들어진 것
-
final: 상수로 취급하여 수정하지 못하도록 하는 예약어
-
추상클래스 (Abstract) 281p.
-
메소드가 구현되지 않는 (중괄호가 없을때) 클래스를 추상이라 한다.
-
키워드는 abstract. 추상클래스는 객체를 생성할 수 없다.
-
인터페이스 (Interface)
-
추상클래스는 구현되는 메소드, 구현되지 않는 메소드를 다 가질 수 있는데 인터페이스는 추상으로만 이루어져있다.
-
추상과 마찬가지로 역시 객체를 생성할 수 없다. 여러개의 인터페이스를 implements할 수 있기에 다중상속이 불가능한 자바의 특성을 보완할 수 있다.
-
Calendar 클래스
-
추상으로 만들어졌기 때문에 new 대신에 getInstance()메소드를 활용한다.
-
Set, Map, List
-
Set: 중복을 허용하지 않는 집합이다.
-
Map: 중복을 허용하지 않으며 키와 value로 이루어져 있는 자료구조이다.
-
List: 중복을 허용 하며 순서가 있는 자료구조이다.
-
예외처리
-
try-catch, throws
-
finally- 반드시 실행해야 하는 문장.
-
최상위객체는 Object이다.
-
객체지향 언어의 3가지 특징
-
캡슐화, 상속성, 다형성
-
Thread
-
실행할 수 있는 가장 작은 단위이다.
-
사용자가 직접 실행하지 못하며 start()메소드로 호출하여 run()으로 실행한다.
'Learning > JAVA' 카테고리의 다른 글
나라와 수도를 입력하고 퀴즈를 맞추는 CapitalTest 클래스 작성 (0) | 2020.06.11 |
---|---|
이름, 학과, 학번, 학점 정보를 가진 Student클래스, ArrayList<Student> 컬렉션을 만들고, 사용자로부터 입력받아 저장하고, 학생 이름으로 검색하는 StudentManager 클래스 작성 (0) | 2020.06.11 |
스캐너를 이용하여 단을 입력받고 콘솔창에 구구단 출력하기 (0) | 2020.06.10 |
텍스트필드에 단을 입력하고 구구단 버튼을 누르면 TextArea에 구구단 출력하기 (0) | 2020.06.10 |
버튼을 패널로 묶고 패널 1 보이기, 안보이기 설정하기 (0) | 2020.06.10 |