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-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 |