Scanner import와 인스턴스 선언

import java.util.Scanner;
Scanner sc = new Scanner(System.in);

System.out.println("문자열입력: ");
String a = sc.nextLine();
System.out.println(str);

System.out.println("정수입력: ");
int b = sc.nextInt();
System.out.println(i);

System.out.println("실수입력: ");
double c = sc.nextDouble();
System.out.println(j);

 

nextLine()과 next()메소드의 차이

nextLine() : Enter를 치기 전까지 쓴 문자열을 모두 리턴

next() : 공백 전까지 입력받은 문자열을 리턴

Scanner sc = new Scanner(System.in);

System.out.println("Hello World 입력 : ");
String str1 = sc.nextLine();
System.out.println(str1);
// Hello world 반환

System.out.println("Hello world 입력 : ");
String str2 = sc.next();
System.out.println(str2);
// Hello 반환

'Back-end > Java 문법' 카테고리의 다른 글

[JAVA] Super, This, 상속, 다형성  (0) 2022.06.05
[JAVA] static  (0) 2022.06.05
[JAVA] instance  (0) 2022.06.05
JAVA class  (0) 2022.06.05
[JAVA] charAt()  (0) 2022.06.02

super

접근 권한이 부여된 부모 클래스의 변수와 메소드에 접근 가능

 

this

인스턴스를 가르키는 키워드

 

자식클래스의 생성자

 

인터페이스의 특징

interface Thisis {

      int sum(int v1, int v2);

}

class DummyCal implements Thisis {

반드시 Thisis 인터페이스와 형식이 동일해야 사용 가능

 

자바는 하나의 상속만 받을 수 있음. 

하나의 클래스는 인터페이스는 두가지 이상의 인터페이스를 적용할 수 있음.

인터페이스에 변수를 정의할 수 있다.

변수에는 값이 들어가고

메소드에는 실제 값이 들어가지 않는다. 메소드의 내용은 직접 구현 해야 한다. 

 

Polymorphism 다형성

하나의 클래스가 여러가지 얼굴을 갖게 하는것

Printable c = new RealCal();

하나의 기능 / 인스턴스화 =  new RealCal 많은 기능을 가진 class

우측의 많은 기능을 가진 클래스 중에 Printable에 해당하는 것만 사용하겠어요.

 

'Back-end > Java 문법' 카테고리의 다른 글

[Java] Scanner  (0) 2022.06.07
[JAVA] static  (0) 2022.06.05
[JAVA] instance  (0) 2022.06.05
JAVA class  (0) 2022.06.05
[JAVA] charAt()  (0) 2022.06.02

static class의 소속

static이 없으면 instance의 소속

class Test {
	public static String ClassVar = "I class var";
	public String InstanceVar = "I Instance var";
}
public class StaticApp {
	public static void main(String[] args) {
		System.out.println(Test.ClassVar); // class에 소속된 변수명은 class명으로 불러올수 있음
		System.out.println(Test.InstanceVar); // instance에 소속되었기 때문에 오류
		
		Test t1 = new Test(); // instanceVar출력을 위한 inscance 선언
		System.out.println(t1.InstanceVar); // "I Instance var"가 출력
	}
}

 

class method 에서는 class변수만 접근 가능, instance 변수 접근 불가능

 

instance method 에서는 class변수와 instance 변수 모두 접근 가능.

 

특징

class의 변수를 바꾸면 모든 instance의 값이 바뀐다. 

instance의 변수를 바꾸면 class의 값에는 변화가 없다. instance를 사용된 값이 변한다.

 

'Back-end > Java 문법' 카테고리의 다른 글

[Java] Scanner  (0) 2022.06.07
[JAVA] Super, This, 상속, 다형성  (0) 2022.06.05
[JAVA] instance  (0) 2022.06.05
JAVA class  (0) 2022.06.05
[JAVA] charAt()  (0) 2022.06.02

1. 인스턴스 생성 방법

FileWriter f1 = new FileWriter("data.txt"); //FileWriter Method를 이용한 f1 instance 생성 예시

 

 

2. 차이

static 인자가 없다.

static 은 class의 소속이라는 것을 나타내기 때문에 인스턴스로 해당 값을 사용할 수 없다. 

인스턴스로 사용할 때는 해당 값을 지워준다.

 

Ex1. Class에 소속된 코드

class Print {
	public static String delimiter = "";
	public static void A() {
		System.out.println(delimiter);
		System.out.println("A");
        }
}

Ex2. Instance에 소속된 코드

class Print {
	public String delimiter = "";
	public void A() {
		System.out.println(delimiter);
		System.out.println("A");
        }
}

 

3. 특징

 - 편리하게 클래스를 변형시켜서 사용 가능하다.

 - new로 인스턴스를 생성하여 중복하는 코드를 줄이고

 - 클래스를 사용하면 클래스를 사용할 때마다 파라미터에 대한 입력을 다시 해줘야 하지만

   인스턴스를 사용하면 사용하는 클래스의 파라미터 값 수정을 한번만 하면 끝낼 수 있다.

 

'Back-end > Java 문법' 카테고리의 다른 글

[Java] Scanner  (0) 2022.06.07
[JAVA] Super, This, 상속, 다형성  (0) 2022.06.05
[JAVA] static  (0) 2022.06.05
JAVA class  (0) 2022.06.05
[JAVA] charAt()  (0) 2022.06.02

1. 클래스의 생성

 - class 라는 키워드를 사용해서 키워드의 이름을 정하고, 중괄호 안에 클래스의 변수, 메소드를 담아준다.. 

   이때, class의 소속인 변수와 메소드를 멤버라고 부른다.

 

2. public 클래스

 - 파일의 이름과 똑같은 class에는 public을 붙인다. public은 접근 제어자라고 하며, public class는 한번만 등장한다. 

 - 파일 내에 2개의 class를 만들게 되면 두번째 생성한 class에는 public을 붙이지 않는다.

 

# Tip(Eclips)

 - public이 아닌 클래스를 다른 파일로 나눌때

 - refector -> move type to new file

 - 이때, class를 다른 파일에 저장해도 같은 package안에 있기 때문에 나눈 class를 import 하지 않아도 사용 가능하다.  

'Back-end > Java 문법' 카테고리의 다른 글

[Java] Scanner  (0) 2022.06.07
[JAVA] Super, This, 상속, 다형성  (0) 2022.06.05
[JAVA] static  (0) 2022.06.05
[JAVA] instance  (0) 2022.06.05
[JAVA] charAt()  (0) 2022.06.02

charAt() : String 타입으로 받은 문자열을 Char타입으로 한글자 불러오는 함수.

 

1. 문자열에 대한 사용

String A = "Hello world";
System.out.print(A.charAt(0));
// 'H' 를 반환한다.

 

 

2. 숫자형에 대한 사용

String A = "0123456789";
int B = A.charAt(0)-48;
// 1. String으로 저장된 "0123456789"에서 0번째 값을 char 값으로 반환 -> char '0'
// 2. char '0' 값을 int로 변환하면 아스키 코드 값으로 변환 char '0' == int 48
// 3. 0의 아스키 코드에 대응하는 48을 빼주면 int 0을 반환

System.out.print(B);
// 0이 print 됨

 

참고

 - '0'은 아스키  코드 48

'Back-end > Java 문법' 카테고리의 다른 글

[Java] Scanner  (0) 2022.06.07
[JAVA] Super, This, 상속, 다형성  (0) 2022.06.05
[JAVA] static  (0) 2022.06.05
[JAVA] instance  (0) 2022.06.05
JAVA class  (0) 2022.06.05

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다.(0<A, B<10)

입력의 마지막에는 0 두개가 들어온다. 

 

출력

각 테스트 케이스마다 A+B를 출력한다. 

 

예제 입력1
1 1
2 3
3 4
9 8
5 2
0 0
예제 출력1
2
5
7
17
7

고려사항

- While문 사용(종료 시점이 input되지 않기 때문에 for문을 사용하기가 어려움)

- 입력받은 두 수의 합이 0이면 break 사용

 

나의 풀이 코드

import java.util.Scanner;

public class Main7 {
    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (true) {
        int a = in.nextInt();
        int b = in.nextInt();
        if (a+b ==0) {
            break;
        	}
        System.out.println(a+b);
    	}
    }
}

피드백

- Java는 true, false의 단어 앞에 대문자를 쓰지 않는다. 

+ Recent posts