자바를 잡아버려 (1)

7071 단어 JavaJava

자바에 대해 기초적인 지식이 하나도 없기에
서점에서 가장 쉬워보이는 책을 골랐다
"자바를 잡아버려" 라는 책인데 어딘가에 적으면서
공부하는게 더 좋을거같기에 책을 따라가면서
나의 생각을 적고 복습을 해버릴 것 이다

실행 시작점 main 함수

책을 펼치자 마자 나오는 설명인데
main 함수의 {} 중괄호로 둘러 쌓인 부분에 코딩을 하면
그 안의 내용을 실행하게 된다
라고 설명을 해준다

public class helloworld {
   
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        System.out.println("Hello world");
	}
}

뭐 퍼블릭 어쩌구 스타틱 어쩌구 써있긴한데 설명은 안돼있다
대충 저걸쓰면 니가 뭔가를 할 공간을 만든것이라고 설명해주는듯

줄 시작에 // 로 시작한다면 주석문으로 사람이 읽으라고 만든 설명문이다 코드를 설명하거나 하고싶은 말을 적는듯하다

모든 문장에는 System.out.println("Hello world"); 처럼 끝에 세미콜론(;) 으로 끝을 내주고
컴퓨터 화면에 뭔가를 출력하는 명령아가 System.out.println 이란것을 알려준다

아래 소스코드와 실행 결과로 위에 설명을 보충해준다

작성 코드

public class helloworld {

	public static void main(String[] args) {
		System.out.println(" **   **");
		System.out.println("****  ****");
		System.out.println("**********");
		System.out.println(" *******");
		System.out.println("  *****");
		System.out.println("   ***");
		System.out.println("    *");
	 }
   }

실행 결과

 **   **
****  ****
**********
 *******
  *****
   ***
    *

왕초보 계산기

단순히 출력만이 아닌 연산도 할수있다는것을 알려준다
1부터 10까지의 더하는 계산 결과를 출력하게 한다

작성 코드

public class helloworld {

	public static void main(String[] args) {
		System.out.println(1+2+3+4+5+6+7+8+9+10);
	}
}

실행 결과

55

연산자

산술연산자

사칙연산과 나머지를 계산하는 것

구분연산자사용예시결과값설명
산술연산자+5+27더하기
-5-23뺴기
*5*315곱하기
/5/22나누기
%5%21나머지
단항연산자++++5,5++61을 증가시킴
----5,5--41을 감소시킴
부호연산자--5-5양수는 음수로
-(-5)5음수는 양수로

비교연산자 및 논리연산자

산술연산이 아닌 자바의 연산자는 "비교연산자","논리연산자가 있다 이 연산자들은 조건문에 사용해서 조건에 따른 명령을 처리한다

구분연산자설명사용예시결과값
비교연산자>큰가?5>2true
<작은가?5<2false
>=크거나 같은가?5>=2true
<=크거나 작은가?5<=2false
==같은가?5==2false
!=다른가?5!=2true
논리연산자&&둘다 참인가?true&&falsefalse
||하나라도 참인가?true||falsetrue
!참을 거짓으로 거짓을 참으로!truefalse

비교연산자는 크기를 비교할떄 논리연산자는 비교연산자 결과인
true, false 결과를 여러개 처리할떄 사용한다

조건문

위에 설명한 비교연산 논리연산의 결과 true, false 에 따른 실행 흐름을
만들때 쓰는 Java 문법이다

if 문

위에 설명한 조건문의 명령어다
if 문 을 어떻게 쓰는지 밑에 소스코드를 보자

작성 코드

public class main {

	public static void main(String[] args) {
		int i = 0; // 변수 i 는 0이다
		if (i==0) { // 만약 i 가 0 과 같다면 
			System.out.println("i 의 변수값은 0이다");
		}
		System.out.println("프로그램을 종료");
	}
}

실행 결과

i 의 변수값은 0이다
프로그램을 종료

정수형 변수 i 에게 0을주고 i가 0이 맞는지 물어보았다 i는 0이 맞으니
if문 안에있는 명령어가 출력된다

만약 i가 0이 아니였을경우는 그 if문은 무시한다

if - else 문

조건이 거짓일떄 무언가를 실행하고 싶다면 else문을 사용하면 된다
소스코드를 보자

작성 코드

public class main {

	public static void main(String[] args) {
		int i = 1; //i 는 1이다
		if(i==0) {// i 가 0 이라면 
			System.out.println("i 의 변수값은 0이다");
		}
		else { // i가 0이 아니라면 
			System.out.println("i의 변수값은 0이 아니다!");
		}
		System.out.println("프로그램 종료");
	}
}

실행 결과

i의 변수값은 0이 아니다!
프로그램 종료

변수 i에게 1의 넣었으니 if문 조건이 false가 되어 else문이 실행된다

if - else if 문

조건을 여러개 계속 비교하고싶을때는 else if 문을 쓰면 된다
소스코드를 보자

작성 코드

public class main {

	public static void main(String[] args) {
		int i = 2; //i 는 2 이다 
		if(i==0) { // 만약 i가 0이라면
			System.out.println("i 의 변수값은 0이다");
		} else if (i==1) { // 만약 i가 1이라면
			System.out.println("i 의 변수값은 1이다");
		}else if (i==2) { // 만약 i가 2이라면
			System.out.println("i 의 변수값은 2이다");
		}else  { // 만약 i가 0, 1, 2 가 아니라면
			System.out.println("i 의 변수값은 0, 1, 2 가 아니다");
		}
		System.out.println("프로그램을 종료합니다");
	}	
}

실행 결과

i 의 변수값은 2이다
프로그램을 종료합니다

여러개의 조건중 if문이 참인 부분만 출력해준다

기본 자료형

앞에서 했던 왕초보 계산은 1에서 10까지 더하기를 위해 정수를 처리하는 프로그램의 코드인데
정수 말고도 실수 문자 데이터등 많은 데이터가 존재한다 실제로 Java 에는 여러가지 자료형이
존재하는데 공책처럼 사용하는 메모리 공간을 효율적으로 관리하기 위해 자료형을 숫자, 문자
2개로 구분하면 되는것을 여러개로 나눠서 구분한다고 생각하면 된다

Java의 기본 자료형을 살펴보면

정수 : byte, short, int, long
실수 : float, double
문자: char
참/거짓: boolean

쉽게 설명하면 정수를 사용할떄 int를 사용하되 사용하고싶은 정수가 10자리 이상인 수일떄는 long을 사용하면 된다

참고를 위한 정확한 자료형 표가 정리되어있다

자료형데이터메모리크기표현가능범위
byte정수1 바이트-128 ~ 127
short2 바이트-32768 ~ 32767
int4 바이트-2147483648 ~ 2147483647
long8 바이트-9223372036854775808 ~ 9223372036854775807
float실수4 바이트-3.402932347e+38~+3.40292347e+38
double8 바이트-179769313486231570e+308~1.79769313486231570e+08
char문자2 바이트모든 문자
boolean1 바이트true, false

이제 Java의 자료형, 연산자, 조건문 등 자바를 알기위해 알아야하는 기초중의 기초를
배웠다고 말해준다

400장 정도의 페이지중 36장 정도를 왔는데
이 책은 자잘한 디테일은 설명하지 않고 바로 일단 시켜본다
좀 불편할수도있는데 오히려 직관적이고 필요한 부분만 알수있게되는것 같긴하다
근데 초반처럼 쉬운 부분은 그렇다 치고 나중에 복잡한게 나오면 좀 어렵지 않을까

좋은 웹페이지 즐겨찾기