자바 기본 문법(1)

2023. 10. 22. 13:48언어들/자바

728x90
반응형

소스1

class Grade{
	
    int e; //영어성적 변수
    int m; //수학성적 변수
    
    void input_grade(int a, int b){
    	e = a;
        m = b;
    }
    
    void output_grade(){
    	System.out.println(e+m);
    }
 }
 
 public class GradeOutput{
 	public static void main(String args[]){
    
    	Grade g1, g2;
        
        g1 = new Grade();
        g2 = new Grade();
        
        g1.input_grade(90,100);
        g2.input_grade(100,100);
        
        g1.output_grade();
        g2.output_grade();
    
    }
 
 }

 

소스2

 public class GradeOutput{
 
    int e; //영어성적 변수
    int m; //수학성적 변수
    
    void input_grade(int a, int b){
    	e = a;
        m = b;
    }
    
    void outpu_grade(){
    	System.out.println(e+m);
    }
    
 	public static void main(String args[]){
    
    	Grade g1, g2;
        
        g1 = new Grade();
        g2 = new Grade();
        
        g1.input_grade(90,100);
        g2.input_grade(100,100);
        
        g1.output_grade();
        g2.output_grade();
    
    }
 
 }

소스1은 class가 두개인데 이때 파일이름은 public이 붙은 class의 이름과 동일하면 된다.

파일이름은 GradeOutput.java가 된다.

 

소스2는 1과 다르게 한개의 class로 만들어서 사용한것 뿐이다.


식별자

◆ 클래스, 변수, 메소드, 레이블 등의 이름

◆ 프로그래머가 작명함

작명 규칙

◆ 대소문자 구분

 

◆ 길이에 제한 없음

 

◆ 영 대소문자, 한글, 숫자, ’_’, ’$’를 사용

 

◆ 숫자로 시작할 수 없음

 

◆ 키워드, true, false, null은 불가 

 

◆ 잘못 작명된 예

    ✓ 2002WorldCup, my#class

    ✓ class, World Cup, lee@knou

 

◆ 식별자를 만들 때의 관례

  ✓ 클래스 : 첫 자는 대문자, 단어의 첫 글자는 대문자, 나머지는 소문자

    • Car, HelloWorld, MyClass, String

  ✓ 메소드, 변수(필드) : 위와 같으나 첫 글자가 소문자

    • speed, myCar, gearArea( )

  ✓ 상수 : 모든 문자를 대문자로 표기하고, 단어 사이에 ‘_’를 넣어 구분

    • static final int NUM_GEARS = 6;

  ✓ 변수의 경우 자료형을 표시하기 위한 접두어를 붙이기도 함

    • int nSpeed; String szStr1;


키워드

✓ 의미가 미리 정해진 단어

✓ 프로그램에서 정해진 의미로만 사용해야 함


자료형

◆ 변수와 자료형

✓ 변수를 선언할 때, 저장되는 값의 자료형을 선언

✓ 메소드를 선언할 때, 반환 값의 자료형을 선언

✓ 자료형에 따라 적용 가능한 연산이 다름

 

변수의 종류

  • 인스턴스 변수
(클래스 정의에서 static이 아닌 필드) 객체가 소유하는 변수
  • 클래스 변수
(클래스 정의에서 static 필드) 객체가 공유하는 변수
  • 지역 변수
메소드 내부(또는 블록 내부)에서 선언된 변수
  • 파라미터
메소드 호출 시 전달하는 값을 저장하기 위한 변수

변수의 사용 범위

◆ 지역 변수와 파라미터

 ✓ 선언된 곳부터 해당 블록이 종료될 때까지 유효함

    • 메소드가 실행될 때 만들어지고 끝나면 없어짐

  ✓ 지역 변수는 초기값을 지정한 후 사용해야 함

  ✓ 지역 변수 선언에서 접근 제어자를 사용하지 않음

 

◆ 데이터 필드(인스턴스 변수 or 클래스 변수)

✓ 선언된 클래스 내부에서 사용 가능

✓ 클래스 외부에서의 사용 가능 여부는 접근 제어자(access modifier)에 따라 다름

✓ 예: class Circle { protected int radius; … }

 

기본 자료형

리터럴

- 정수형 리터럴

- 실수형 리터럴

- 문자형 리터럴

- 상수

참조형

- 배열, 클래스 형 등

- 저장 공간에 참조 값을(주소)을 저장

    ✓ 실제 데이터는 별도의 공간에 저장됨

- 기본형은 저장 공간에 "값 자체"를 저


형변환

◆ 묵시적 자료형의 변환

✓ 작은 타입에서 큰 타입으로는 자동 형변환

    • byte -> short -> int -> long -> float -> double

    • 개발자 -> 직원 -> 인간 -> 포유류

✓ 예

    • double d = 5; //대입문

    • System.out.println(“j〓 ”+10); //수식

    • double res = Math.sqrt(2); //메소드 호출시 인자의 유형

 

◆ 명시적 자료형의 변환

✓ 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요

    • 문법은 (자료형)피연산자

✓ 예

    • float f = (float)5.5;

 

명령행 매개 변수

✓ 프로그램을 실행할 때 전달하는 인자

✓ main( ) 함수에 전달되는 인자

✓ 문자열로 전달됨

 

> java CommandInputTest Kim 123

public class CommandInputTest {
    public static void main(String args[ ]) {
    	System.out.println(args[0]);
    	int n = Integer.parseInt(args[1]);
    	System.out.println(n);
    }
}


연산자

제어문


  1. 변수의 종류로는 인스턴스 변수, 클래스 변수, 지역 변수, 파라미터가 있다.
  2. 인스턴스 변수는 객체가 소유하는 변수이며, 클래스 변수는 해당 클래스의 객체들이 공유하는 변수이다.
  3. Java의 기본형을 나타내는 키워드는 byte, short, int, long, float, double, char, boolean의 8가지이다.
  4. 클래스와 배열은 대표적 참조형으로, 참조형 변수에는 참조 값(주소)이 저장된다.
  5. 명령행 매개변수란 main( ) 함수에 전달되는 인자로서, 프로그램을 실행시킬 때 프로그램의 이름 뒤에 나열하는 인자를 말한다.
  6. 제어문은 프로그램의 실행 흐름을 제어하는 문장이다.
  7. break문, continue문, return문은 제어문 중 점프문(분기문)에 해당한다.
반응형

'언어들 > 자바' 카테고리의 다른 글

독하게 시작하는 JAVA part1-섹션 03  (2) 2024.12.12
독하게 시작하는 JAVA part1-섹션 02  (1) 2024.12.12
독하게 시작하는 JAVA part1-섹션 01  (0) 2024.12.12
Java 언어와 프로그램  (0) 2023.10.22
String 클래스  (0) 2023.07.31