1. 자바프로그램의 기본구조

자바 프로그램은 클래스 단위로 구성된다. 그리고 그 클래스 안에 변수나 메소드 등의 프로그램 요소가 들어가있다. 

자바 프로그램은 메인 메소드부터 실행을 시작한다. 그러나 모든 클래스가 메인 메소드를 가지는 것은 아니다. 

아래의 예제 Hello 클래스에서 Hello 라는 클래스 내에 두 개의 메소드가 들어가 있는 모습이다.

아래쪽 main 메소드에서 실행이 시작된다.


 (예) Hello클래스


package example2;


public class Hello {

public static int sum(int n,int m){

return n+m;

}

public static void main(String[] args) {

int i = 20;

int s;

char a;

s = sum(i,10); //sum() 메소드 호출

a = '?';

System.out.println(a); //문자 '?' 화면 출력

System.out.println("Hello"); //"Hello" 문자열 화면 출력

System.out.println(s); //정수 s값 화면 출력


}


}





2. 자바의 키 입력 예제 2-3


package example2;


public class TypeConversion {


public static void main(String[] args) {

byte b = 127;

int i = 100;

System.out.println(b+i); //b가 int 타입으로 자동변환되어 연산됨

System.out.println(10/4); //정수/정수 = 정수 의 결과

System.out.println(10.0/4); //실수/정수 = 실수 의 결과

System.out.println((char)0x12340041); //0x로 시작한 16진수 데이터에서 char형으로 캐스팅 되고있다. char형은 2바이트, 해당 데이터의 하위 2바이트 까지만 읽을수 있으므로 0041의 아스키 코드 값 65는 문자 A

System.out.println((byte)(b+i)); //해당 데이터는 int형으로 저장되지만 byte로 캐스팅 되므로 손실되는 부분을 제외한 값 -29

System.out.println((int)2.9+1.8); //2.9가 int형으로 캐스팅 되어 2 + 1.8 = 3.8

System.out.println((int)(2.9+1.8)); //2.9+1.8 이 먼저 계산되어 4.7이라는 데이터가 int형으로 캐스팅 되어 4

System.out.println((int)2.9+(int)1.8); // 위와 마찬가지로 2.9는 2로 1.8은 1로 int형으로 각각 캐스팅 되어 결과는 3



}


}



3. 키입력 예제 2-4 소스코드, 실행결과, 주석


import java.util.Scanner;


public class exScanner1 {


public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

System.out.println("이름, 도시, 나이, 체중, 독신여부를 빈칸으로 분리하여 입력하세요.");

String name = sc.next();                 //이름입력 ,이름은 문자열을 받는 next사용

String city = sc.next();                 //도시입력 ,도시는 문자열을 받는 next사용

int age = sc.nextInt();         //나이입력 ,나이는 정수형이므로 nextInt사용

double weight = sc.nextDouble(); //체중입력 ,체중은 실수형이므로 nextDouble사용

boolean single = sc.nextBoolean(); //독신여부입력 ,독신여부는 논리형이므로 Boolean사용

System.out.println("이름은 " + name);         //name에 입력된 값 출력

System.out.println("도시는 " + city);            //city에 입력된 값 출력

System.out.println("나이는 " + age);            //age에 입력된 값 출력

System.out.println("체중은 " + weight);        //weight에 입력된 값 출력

System.out.println("혼인여부는 " + single);    //single에 입력된 값 출력

sc.close();

}


}



4. 조건문(IF문) 예제 (프로그램2-10, 2-11)


(예제 2-10)
import java.util.Scanner;

public class Twenties {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
System.out.println("나이를 입력하시오 : ");
int age = scanner.nextInt(); //정수 입력
if((age>=20) && (age<30)) { //age가 20~29 사이인지 검사
System.out.print("20대입니다. ");
System.out.println("20대라서 행복합니다!");
}

else
System.out.println("20대가 아닙니다.");
scanner.close();
}

}


(예제 2-11)


package exGrade1;


import java.util.Scanner;


public class Grading1 {


public static void main(String[] args) {

// TODO Auto-generated method stub


Scanner sc = new Scanner(System.in);

System.out.print("점수를 입력하세요(0~100) : ");

int score = sc.nextInt();

if(score>=90){

System.out.println("학점은 A입니다.");

}

else if(score>=80){

System.out.println("학점은 B입니다.");

}

else if(score>=70){

System.out.println("학점은 C입니다.");

}

else if(score>=60){

System.out.println("학점은 D입니다.");

}

else

System.out.println("학점은 F입니다.");

sc.close();

}


}




package exGrade1;


import java.util.Scanner;


public class Grading1 {


public static void main(String[] args) {

// TODO Auto-generated method stub


Scanner sc = new Scanner(System.in);

//스캐너 클래스 복제

System.out.print("점수를 입력하세요(0~100) : ");

//입력받기전 입력문

int score = sc.nextInt(); //정수형으로 입력받음

char grade;

if(score>=90)

grade = 'A';

else if(score>=80)

grade = 'B';

else if(score>=70)

grade = 'C';

else if(score>=60)

grade = 'D';

else

grade = 'F';

System.out.println("학점은" + grade);

sc.close();

}


}




전자는 내가 처음에 만든것 후자는 교수님 코드 뺏긴것 
별 차이는 없지만 더 간단하고 보기좋은것 같음.


5. 조건문(switch문) 예제


package exSwitch;


import java.util.Scanner;


public class Banking {


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("1. 입금하기 2. 출금하기 3. 송금하기");

System.out.print("원하는 메뉴를 선택하세요. ");//라인이 띄워지지 않는 print문

Scanner sc = new Scanner(System.in);

//스캐너 클래스 복제

int menu = sc.nextInt();

//정수형으로 값을 반환

switch(menu)/*switch의 식부분엔 반환형이 정수형이 들어와야함

식에는 정수, 문자열(JDK1.7이상부터가능)을 지정한다.*/

{

case 1: System.out.println("입금메뉴 선택");

break;/*스위치 구문에선 브레이크가 없으면 브레이크를 만날때까지 계속 실행하므로 

브레이크 문을 사용 해주어야 한다.*/

case 2: System.out.println("출금메뉴 선택");

break;

case 3: System.out.println("송금메뉴 선택");

break;//브레이크 구문

default: System.out.println("잘못된 메뉴를 선택하였습니다.");

//디폴트 구문

}

}


}



'basic > Java 8' 카테고리의 다른 글

[Java] Exception  (0) 2018.08.07
5. 상속  (0) 2017.05.12
4. 클래스와 객체  (0) 2017.04.11
3. 반복문과 배열 그리고 예외처리  (0) 2017.03.31
1. 자바시작  (0) 2017.03.07

+ Recent posts