JAVA의 기본 문법 예제 알아보기
- Java
- 2020. 6. 26.
계발에서 개발까지
1. 변수와 데이터 형식
다른 프로그래밍 언어와 마찬가지로 Java도 변수를 선언해서 사용해야 합니다. 다음 예제에서는 정수형 변수, 실수형 변수, 문자형 변수를 선언하고 값을 대입한 후 출력하는 예제 입니다.
안드로이드 스튜디오라는 툴에서 예제를 실행하였습니다.
public class MainActivity extends AppCompatActivity {
int ex1 = 10; //정수형 변수 선언
float ex2 = 10.1f; //float형에 값을 대입할 때는 뒤에 f를 붙여야 한다.
double ex3 = 10.2; //8B를 사용하ㅕ며 실수를 입력, float보다 정밀도가 높다.
char ex4 = '계'; // char형은 문자 하나를 ''로 묶어야 한다.
String ex5 = "계발에서 개발까지"; // 문자열 String은 ""로 묶는다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//출력
System.out.println(ex1);
System.out.println(ex2);
System.out.println(ex3);
System.out.println(ex4);
System.out.println(ex5);
}
}
Java에서 주로 사용되는 데이터형
문자형
- char : 2B를 사용하며 한글 또는 영문 1개만 입력
- String : 여러 글자의 문자열을 입력
정수형
- byte : 1B를 사용하며 -128~+127까지 입력
- short : 2B를 사용하며 -32768~+32767까지 입력
- int : 4B를 사용하며 -21억~+21억까지 입력
- long : 8B를 사용하며 상당히 큰 정수까지 입력 가능
실수형
- float : 4B를 사용하며 실수를 입력
- double : 8B를 사용하며 실수를 입력, float보다 정밀도가 높음
불리언형
- boolean : true 또는 false를 입력
※ 원칙적으로 char형은 정수형에 포함되며 숫자로 입력해도 된다. 하지만char는 문자 하나를 대입하는 용도로 많이 사용하기 때문에 문자형으로 분류했습니다.
2. 조건문: if, switch()~case
if문은 조건이 true인지 false인지에 따라서 어떤 작업을 할 것인지를 결정합니다. true와 false 중 하나로 결정되기 때문에 if문을 이중 분기라고도 부릅니다.
if (조건식){
//조건식이 true일 때 실행
}else {
//조건식이 false일 때 이 부분 실행
}
switch()~case문은 여러 가지 경우에 따라서 어떤 작업을 할 것인지를 결정하므로 switch()~case문을 다중 분기라고도 부릅니다.
switch (값) {
case 값1:
//값 1 이면 실행
break;
case 값2:
//값 2 이면 실행
break;
default:
//아무것도 해당하지 않으면 실행
break;
}
3. 배열
배열은 여러 데이터를 한 변수에 저장하는 데 사용합니다. 일차원 배열과 이차원 배열의 개념은 밑에 사진으로 보시면 됩니다.
일차원 배열을 선언하고 값을 대입하는 방법은 다음과 같습니다.
public class MainActivity extends AppCompatActivity {
int one[] = new int[4];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
one[0] = 10;
one[3] = 20;
}
}
이차원 배열을 선언하고 값을 대입하는 방법입니다.
public class MainActivity extends AppCompatActivity {
int two[][] = new int[3][4];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
two[0][0] = 100;
two[2][3] = 200;
}
}
배열을 선언하면서 바로 값을 대입도 가능합니다.
int three[] = {1, 2, 3};
4. 반복문 : for, while
반복문은 조건문과 함께 프로그래밍의 필수 요소로 사용됩니다. 가장많이 사용하는 사용하는 기본 문법이기도 합니다.
for (초기시; 조건식; 증감식;){
// 여기서 반복싱행
}
for (변수형 변수 : 배열명){
// 여기서 변수를 사용
}
배열의 내용이 하나씩 변수에 대입된 후 for문 내부가 실행됩니다. 그러므로 결국 배열의 개수만큼 for문이 반복됩니다.
while문은 다음과 같은 형식입니다.
while (조건식){
//조건이 true인 동안 이 부분을 수행
}
5. 메소드와 전역변수, 지역변수
기본 메소드인 main() 메소드 외에 사용자가 메소드를 추가로 생성할 수 있습니다. 또는 메소드를 호출할 때 파리미터를 넘길 수도있고, 메소드에서 사용된 결과를 retrun문으로 돌려줄 수 도있습니다.
변수에는 전역변수(global variable)와 지역변수(local variable)가 있습니다. 전연변수는 모든 메소드에 사용되고 지역변수는 메소드 내부에서만 사용됩니다.
public class MainActivity extends AppCompatActivity {
static int var = 100; // 전역변수를 var로 선언하고 100을 대입
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int var = 0; // 지역변수 var를 선언하고 0 대입
System.out.println(var); // var를 출력하면 지역변수가 우선시 되기에 지역변수의 값 출력
int sum = addFunction(10,20); // addFunction 호출
System.out.println(sum);
}
static int addFunction(int num1, int num2){ //사용자 메소드를 생성, 메소드의 반환값은 int형으로 설정
int hap; //파라미터는 정수형 2개는 받는다 메소드는 파라미터로 받은 두 값과 전역변수 var값을 더해서 돌려줌
hap = num1 + num2 + var; // 전역변수인 var100이 적용됩니다.
return hap;
}
}
6. 예외 처리: try~catch
예외(exception)는 java 프로그램 실행 중에 발생하는 오류를 말합니다. java는 try~catch문을 통해 이 오류를 처리합니다. 결국 try~catch문은 java 프로그램을 견고하게 만들어주는 역활을 합니다.
public class MainActivity extends AppCompatActivity {
static int var = 100; // 전역변수를 var로 선언하고 100을 대입
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int num1 = 100, num2 = 0;
try {
System.out.println(num1/num2);
}
catch (java.lang.ArithmeticException e){
System.out.println("계산에 문제가 있습니다.");
}
}
}
7. 연산자
Java에는 여러가지 연산자가 있는데 주로 사용하는 연산자 입니다.
- + , - , * , / , % : 사칙 연산자로 %은 나머지 값을 계산한다.
- + , - : 부호 연산자로 변수 , 수, 식 앞에 붙일 수 있다.
- = : 대입 연산자로 오른쪽 왼쪽에 대입한다.
- ++, -- : 1씩 증가 또는 감소
- ==, !=, <, >, >=, <= : 비교 연산자로 결과는 true 또는 false가 되며, if문이나 반복문의 조건식에 주로 사용된다.
- &&, || : 논리 연산자로 and , or를 의미한다
- &, | , ^ , ~ : 비트 연산자로, 비트 단위로 and, or, exclusive or, not 연산을 한다.
- <<, >> : 시프트 연산자로, 비트 단위로 왼쪽 또는 오른쪽으로 이동한다.
- +=, -=, *=, /= : 복합 대입 연산자로, 'a +=b'는 'a=a+b'와 동일하다.
- (데이터형) : 캐스트(cast) 연산자로, 데이터형을 강제로 변환해준다. 예를 들어 int a = (int) 3.5는 double형인 3.5값을 int 형으로 강제로 변환해서 a에 대입한다. 결국 a에는 3이 대입된다.
연산자 중 캐스트 연산자는 안드로이드 프로그래밍에서 클래스 형 데이터의 강제 형식 변환에도 상당히 많이 사용됩니다. 예를 들어 다음 예는 View 클래스형을 Button형으로 변환하는 코드 입니다.
Button button;
button = (Button)findViewById(R.id.btn);
'Java' 카테고리의 다른 글
JAVA. 반복문 while문을 이용해서 반복적인 작업 실행하기 (0) | 2020.01.28 |
---|---|
JAVA. 논리 연산자 &&(and 연산자) , ||(or 연산자), !(not연산자) (0) | 2020.01.17 |