JAVA 에서는 배열의 내용을 탐색할 때 for 문을 좀더 간편하게 사용할 수 있는 방법이 있다. JAVA 5.0 부터 도입이된 기능이다.
package test;
public class Helloworld {
public static void main(String[] args)
{
String[] str = {"1", "2", "3", "4", "5"};
for(String e : str)
{
System.out.println(e);
}
}
}
메소드는 C 에서 함수 사용법과 유사하며 사용방법은 아래와 같다.
package test;
import java.io.*;
public class Helloworld {
public static void main(String[] args)
{
String result = numbering(1, 21);
System.out.println(result);
try
{
BufferedWriter out = new BufferedWriter(new FileWriter("out.txt"));
out.write(result);
out.close();
}
catch(IOException e){
}
}
public static String numbering(int init, int limit)
{
String outPut = "";
int i = init;
while(i < limit)
{
System.out.println(i);
outPut += i;
i++;
}
return outPut;
}
}
아래와 같은 코드를 consol 환경에서 입력값을 주고 실행하는 방법은 아래와 같다.
package test;
public class Helloworld {
public static void main(String[] args)
{
for(String e : args) {
System.out.println(e);
}
}
}
D:\workspace\JAVA\test> java -cp bin test.Helloworld 1 2 3 41234
🎯 앱이 실행중에 입력 받기
package test;
import java.util.Scanner;
public class Helloworld {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println(i * 1000);
sc.close();
}
}
Console입력 : 5
결과 : 5000
Scanner API는 nextInt()
메소드를 통해 정수를 입력받는다.
위 코드를 반복문을 사용하여 반복해서 입력받을 수 있도록 하는 코드는 아래와 같다.
package test;
import java.util.Scanner;
public class Helloworld {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt())
{
System.out.println(sc.nextInt() * 1000);
}
sc.close();
}
}
hasNextInt()
메소드는 정수를 입력 받으면 true를 리턴하고, 문자나 기호를 입력받으면 false를 리턴한다.
위 코드의 입력값을 out.txt 파일을 사용하였을때 코드는 아래와 같다.
package test;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.*;
public class Helloworld {
public static void main(String[] args)
{
try
{
File file = new File("out.txt");
Scanner sc = new Scanner(file);
while(sc.hasNextInt())
{
System.out.println(sc.nextInt() * 1000);
}
sc.close();
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
}
}
Consol 실행 결과 :
D:\workspace\JAVA\test> cat.\out.txt1234
D:\workspace\JAVA\test> java -cp bin test.Helloworld1234000
static
으로 선언된 double PI
변수는 모든 인스턴스에서 동일한 값을 가지는 클래스 맴버 변수 이다.
int left, right
는 인스턴스마다 다른 값을 가지게 되는 인스턴스 맴버 변수 이다.
클래스 맴버 변수는 클래스 NAME 으로 접근할 수 도 있고, 인스턴스를 통해(Warning) 접근할 수도 있다.
package test;
class Calculator {
final static double PI = 3.14;
int left, right;
public void setOprands(int left, int right) {
this.left = left;
this.right = right;
}
public int sum() {
return this.left + this.right;
}
public int avr() {
return (this.left + this.right) / 2;
}
public static int sum(int left, int right) {
return left + right;
}
}
public class Helloworld {
public static void main(String[] args)
{
Calculator cal1 = new Calculator();
cal1.setOprands(10, 20);
System.out.println(cal1.sum());
System.out.println(cal1.avr());
Calculator cal2 = new Calculator();
cal2.setOprands(20, 40);
System.out.println(cal2.sum());
System.out.println(cal2.avr());
System.out.println(Calculator.PI);
System.out.println(Calculator.sum(10, 20));
}
}
클래스 변수의 용도를 정리해보면 아래와 같다.
인스턴스 변수는 인스턴스가 만들어지면서 생성되는데, 클래스 메소드는 인스턴스가 생성되기 전에 만들어지기 때문에 클래스 메소드가 인스턴스 멤버에 접근하는 것은 존재하지 않는 인스턴스 변수에 접근하는 것과 같다.
인스턴스 변수와 클래스 변수는 아래와 같이 부르기도 한다.
필드(field)라는 것은 클래스 전역에서 접근 할 수 있는 변수를 의미한다.
[JAVA] 접근제어자 (0) | 2018.06.12 |
---|---|
[JAVA] 초기화 및 생성자 (0) | 2018.06.11 |
[JAVA] 데이터 타입 (0) | 2018.05.28 |
[JAVA] 설치 및 실행 (0) | 2018.05.28 |