Java 1

Java 특징
Java는 구문이 간결하고, 객체지향언어이다.(OPP, Object Oriented Programming)
이식성이 높고, 기계 중립적 언어이다.(JVM만 있으면 어디서든지 동작)
멀티 스레드를 지원

.java 코드를 통해서 .class 생성
변수와 데이터 형식
public class exam02{
public static void main(String args[]){
int var1=10;
float var2=10.1f;
double var3=10.2; // 10.2d로 써도 됨
char var4='안'; // 문자는 따옴표 사용
String var5="안드로이드"; // 문자열은 쌍따옴표 사용
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
System.out.println(var5);
}
}
기본적인 데이터 형식
- 문자형
char- 2byte
String

- 정수형(signed)
byte- 1byte(-128-127)
short- 2byte(-32768-32767)
int- 4byte
long- 8byte

- 실수형
float- 4byte
double- 8byte(float보다 정밀도가 높다)

- 불리언형
boolean- 1byte(true of false)
Java에서 타입이 다른 변수끼리 연산 시행시 오류 발생
정수형으로 나누기 연산(‘ / ‘)하면 몫만 return

‘i=i+1' == 'i++' == ‘i+=1'
조건문
if, else
if(조건식){
//조건식이 true인 경우
}
if(조건식){
//조건식이 true인 경우
}else{
//조건식이 false인 경우
}
if(조건식1){
//조건식1이 true인 경우
}else if(조건식2){
//조건식2이 true인 경우
}else{
//조건식1&조건식2가 false인 경우
}
switch
switch(값){
case 값1:
// 값1이면 실행
break;
case 값2:
// 값2이면 실행
break;
...
default:
// 아무것도 해당하지 않는 경우 실행
break;
}
배열
여러 데이터를 한 변수에 저장하는데 사용

일차원배열: one[4];
이차원배열: two[3][4];

배열 선언방법이 c++가 유사
//일차원 배열
int one[]=new int[4];
one[0]=10;
one[3]=20;
//이차원 배열
int two[][]=new int[3][4];
two[0][0]=100;
two[2][3]=200;
반복문
    for
for(초기식; 조건식; 증감식){
//반복 실행
}
// 배열을 지원한는 for문
// similar with python 'for i in <배열>'
for(변수형 변수: 배열명){
// 변수를 사용
}
배열 지원 for문 예시
String two[]={"하나", "둘", "셋"};
for(String str: two){
System.out.println(str);
}
    while
while(조건식){
// 조건식이 true인 동안 이 부분을 반복 수행
}
전역변수(global variable) & 지역변수(local variable)
public class exam05{
static int var=100; // 전역변수
public static void main(String args[]){
int var=0; // 지역변수(main 메서드에서만 사용가능)
System.out.println(var);
int sum=addFunction(10, 20);
System.out.println(sum);
}
static int addFunction(int num1, int num2){
int hap;
hap=num1+num2+var;
return hap;
}
}
메소드-> 기능 처리 위의 코드에서 3-8은 Main 메소드

static 은 정적 함수로 메모리를 공유해서 사용(정적 메모리 할당)
메소드 내에서 동일한 이름의 전역, 지역 변수를 호출할 때, 지역 변수가 우선으로 호출된다.
Exception Handling
public class exam06{
static int var=100;
public static void main(String args[]){
int num1=100, num2=0;
try{
System.out.println(num1/num2);
}
catch(java.lang.ArithmeticException e){
System.out.println("계산에 문제가 있습니다.");
System.out.println(e);
}
}
}
try 구문에서 에러 발생시, catch로 에러코드 전송
자주 사용하는 연산자
+, -, *, /, %        // %는 나머지
+, -        // 부호 연산자로 변수, 수, 식 앞에 붙일 수 있다.
=        // 대입 연산자로 오른쪽을 왼쪽으로 대입
++, —        // 1씩 증가 또는 감소
==, !=, <, >, >=, <=        // 비교 연산자
&&, ||        // 논리연산자 and, or
&, |, ^, ~        // 비트연산자로, 비트 단위로 and, or, exclusive or, not 연산
<<, >>        // 시프트 연산자로, 비트 단위로 왼쪽 또는 오른쪽으로 이동
+=, -=, *=, /=        // 복합 대입 연산자
(데이터 형식)        // 캐스트(cast) 연산자, 데이터 형식을 강제로 변환 ex) int a=(int)3.5-내림해서 3으로 저장