여정의 기록
[Java 프로그래밍] Java 기본 문법 본문
식별자
클래스, 변수, 메소드, 레이블 등의 이름
프로그래머가 작명함
규칙
- 대소문자 구분
- 길이에 제한 없음
- 영 대소문자, 한글, 숫자, '_', '$'를 사용
- 숫자로 시작 불가
- 키워드(예약어), true, false, null은 불가
- 잘못 작명된 예
2002Window, my#class, class, World Cup, lee@knou
class : 첫 자와 단어의 첫 글자는 대문자, 나머지는 소문자 (Car, HelloWorld, MyClass ... )
method : 첫 글자도 소문자 (speed, myCar, gearArea ... )
상수 : 모든 문자를 대문자로 표기, 단어 사이에 '_'를 넣어 구분 (static final int NUM_CEARS ... )
자료형을 표시하기 위해 변수에 접두어를 붙이기도 함 (int nSpeed, String szStr1)
자료형
자료형을 선언하는 경우
- 변수를 선언할 때
- 메소드 선언 시 반환 값에
변수의 종류
- 인스턴스 변수 instance : static이 아닌 필드의 객체가 소유하는 변수
- 클래스 변수 : static 필드의 객체가 공유하는 변수
- 지역 변수
- 파라미터 : method 호출 시 전달하는 값을 저장하기 위한 변수
변수의 사용 범위
- 지역 변수와 파라미터
- 선언된 곳부터 해당 블록이 종료될 때까지 유효
char 2 boolean 1 byte 1 short 2 int 4 long 8 float 4 double 8
args
명령 행 매개 변수
java class'sname args[0] args[1] 처럼 코드를 사용하여 인자를 전달할 수 있다.
배열
- 같은 자료형의 원소로 구성
- 원소의 개수는 생성 시 고정된다
- 숫자 인덱스를 사용하여 특정 원소를 다룬다
- 선언할 때는 크기를 정할 수 없다
자료형[] 변수이름;
자료형 변수이름[];
int[] a; int a[];
int[][] c; int d[][]; int[] e[];
int f[10]; -> error . 크기 선언 불가능
배열의 초기화
선언과 동시에 중괄호를 이용하여 초기값을 지정
int a[] = {2,3,4};
-> 자동으로 메모리 공간 확보
-> 초기화, 생성 과정을 거쳐야 배열의 원소 사용 가능
int b[]; b={1,2,3}; 이렇게는 안됨 바로 int b[]={1,2,3};으로 선언해야함
배열의 생성
배열의 원소가 사용할 메모리 공간 생성
new 연산자 이용
-> 배열의 크기를 정하고, 메모리 공간 확보
-> new 연산자는 메모리 주소값 리턴함
-> 원소가 숫자이면 0, 참조형이면 null로 자동 초기화
선언과 생성
int a[] = new int[3];
int b[]; b=new int[10];
배열의 크기
배열의 크기를 가지는 내장 속성 length
배열이름.length
public class ArrayTest {
public static void main(String args[]) {
int twoArray[][] = {
for (int i=0; i<twoArray.length; i++)
for(int j=0; j<twoArray[i].length; j++)
System.out.println(twoArray[i][j]);
}
}
String 문자열
String Class = String 표현, 처리. 참조형
String s1="java"
String s2= new String("java"); - 생성자 사용
참조형은 null로도 정의 가능하다
문자열의 덧셈 연산자
두 문자열을 연결함
print(), println()에서 often used 자주 사용됨
System.out.println('A'+0);
-> 'A'는 Character이므로 65로 간주하여 65+0 으로 계산됨
System.out.println("A"+0);
-> "A"는 문자열이므로 0을 문자열로 간주하여 A0으로 계산됨
기본형 값은 문자열로 자동 형변환 가능
Scanner class , Input and Output
Scanner Class
- 자료를 입력 받을 때 사용
- 공백 문자로 구분되는 단어 단위로 입력
- nextXXX() 메소드를 이용해 자료형 타입별 입력 가능
키보드에서 input 시
-> System.in을 이용하여 Scanner 객체 만들어 사용
Scanner sc = new Scanner(System.in);
String name = sc.next();
Scanner class input method
String next()
int nextInt()
double nextDouble()
String nextLine()
boolean hasNext() 입력이 없으면 기다리고 입력이 있으면 다음 단어가 있으면 true를 반환
boolean hasNextInt()
클래스 정의
[접근 제어자] class 클래스 이름 {
}
접근 제어자 : 생략, public, protected, private
private : 같은 클래스에서만 사용 가능
생략 : 같은 패키지의 다른 클래스에서 사용 가능
protected : 같은 패키지, 자식 클래스에서 사용 가능
public : 모든 클래스에서 사용 가능
'공부중 ... > Java 프로그래밍' 카테고리의 다른 글
[Java 프로그래밍] 클래스와 상속 (0) | 2022.07.18 |
---|---|
[Java프로그래밍]추상화, 클래스, (0) | 2022.02.26 |
[Java프로그래밍]Java program 주석, 클래스, (0) | 2022.02.26 |
[Java프로그래밍]Java와 객체지향 프로그래밍의 특징 (0) | 2022.02.26 |