유디의 공간정보·개발일기

1. 0705_Java 개요, 문법 본문

JAVA

1. 0705_Java 개요, 문법

55yudi 2021. 10. 20. 22:44

* 자바스크립트

* 자바

* 코틀린

 

개발도구

- 이클립스

- 안드로이드 스튜디오

 

- 오라클 설치, 계정 생성


- Class의 main {} 으로 코드가 실행되는 원리

- Run as - 2 Java Application 실행 -> 콘솔창에 output

  * 단축키 : alt + shift + X, J

 

- (), {}, [] 괄호는 쌍으로 맞추기

- 들여쓰기, 탭키 

- 세미콜론(;)

- 대소문자 주의


 

1. 변수

System.out.println("출력하고 싶은 것");
System.out.println(변수);

출력 코드 -> 콘솔창에 출력이 됨

 

String name = "홍길동";
String mobile = "010-1234-1234";

문자열 코드 -> 변수에 이름을 붙이고 "" 안에 출력할 값(Value)을 입력

 

int age = 10;

int age;
age = 24;
//변수에 접근할 수 있다면 이렇게 적는다.

숫자열 코드 -> 변수에 이름을 붙이고 숫자를 입력

 

- 변수타입 : String, int, double, float 등

String("안녕");
//문자를 쓸 때 사용

int age = 24;
//정수를 쓸 때(소수점x)

//String으로 정수를 표현할 수는 있지만 크기가 다름

double height = 100.1;
//소수점 자료 사용
//경도, 위도 값도 처리함

float weight = 61.98f;
//double보다는 저장하는 크기가 더 작음

void sum()
//값이 없는 형태

String name = "이름 : " + "홍길동";
int age = 10 + 10;

문자의 경우 :  +로 두개의 글씨를 붙여줌

숫자의 경우 : +로 두 숫자를 더해줌

 

String name1 = "홍길동";
System.out.println("이름 : " + name1);

String name2 = "이름 : " + "홍길동";
System.out.println(name2);

변수에 있는 값이 더해짐 (위 아래 입력방법은 다르지만 결과값은 같음)

 

[Test1]

public class Test1 {
	
	public static void main(String[] args) {

		System.out.println("안녕!");

		String name = "홍길동";
		System.out.println("이름 : " + name);

		//글씨와 숫자를 +를 활용해 붙일 수 있다.
		String mobile = "010-1234-1234";
		System.out.println("안녕 나는" + name + "이야" + "내 전화번호는" + mobile + "이야");
	
		int age = 24;
		System.out.println("내 나이는" + age + "야");

		//숫자에서 +는 숫자 더하기 이다.
		int age2 = 10 + 10;
		System.out.println(age2);
   	}
}

2. 함수

메서드, 어떤 기능이나 동작

 

- 기본적인 함수식

int a = 10;
int b = 10;
int result1 = a + b;

System.out.println("더하기 결과 : " + result1);
Static int add(int a, int b) {
	return a + b;
}

- add 뒤의 () 안에 함수상자에 값이 들어갈 두 개의 구멍 값을 넣어줌

- 함수 상자의 결과 값에는 이름이 없고 크기만 명시

   int : 정수

   void : 값이 없을 때

- return : 값을 돌려주는(나타내는) 함수

 

* static의 경우에는 함수를 따로 빼서 계산한다.

  결과값은 main에서 return된다.

 

[Test2]

public class Test2 {
	
	public static void main(String[] args) {

		int a = 1;
		int b = 1;
		int result1 = a + b;
		System.out.println("1+1은?" + result1);
	
		//더하기 함수 실행
		int result2 = add(10,10);
		System.out.println("더하기 결과 : " + result2);

		//함수상자를 만들면 반복 가능
		int result3 = add(20,20);
		System.out.println("20+20은?" + result3);

	}
	
	static int add(int a, int b) {
		return a + b;
	}
}

3. Count

- 만약 1부터 10까지 더한 값을 얻고 싶다면,

[Test3]

int count = 0;

count = count + 1;
//count라는 변수에 1을 계속 더함
count = count + 2;
count = count + 3;
count = count + 4;
count = count + 5;
count = count + 6;
count = count + 7;
count = count + 8;
count = count + 9;
count = count + 10;

System.out.println("합계 : " + count);

- 그러나 코드를 간결하게 하는 게 좋고 만약 더 큰 숫자까지 더한다면 비효율적인 코드임

--> for 반복문 사용하기

int count1 = 0;
for (int i = 1; i<11; i++) {
	//결과값에 i의 모든 값이 함께 출력된다.
	System.out.println("i : " + i);
	count1 = count1 + i;
}
System.out.println("합계 : " + count1);

 

* for( ① ; ② ; ③ ) { }

① int i = 0  //초기값

② i < 10  //조건에 맞는 동안 반복

③ i ++ 또는 i -- 

 

for (int i = 0; i < 10;) {
	System.out.println("i: " +i);
}

-> 결과값이 계속 반복함 -> 메모리 차지가 많고 잘못 쓴 코드임

 

 

//메인함수에 실행값을 입력

public class Practice {
	public static void main(String[] args) {
		
		//실행값
		int result = sum();
		System.out.println("1~10까지의 합 : " + result);
	}

	static int sum() {
			int count = 0;
			for (int i = 1; i<11; i++) {
				count = count + i;
			}
			return count;
	}
}

 

[Test3]

public class Test3 {
	public static void main(String[] args) {
	
		int start = 1;
		int end = 11;
		int result1 = sum(start, end);
		System.out.println("1~10까지 더하면 " + result1);

		//위에서 이미 start와 end에 int형이라고 했기때문에 다시 안씀
		start = 1;
		end = 101;
		int result2 = sum(start, end);
		System.out.println("1~100까지 더하면 " + result2);
}

	static int sum(int start, int end) {
		int count = 0;
		for (int i = start; i < end; i = i +1) {
		count = count + i;
		}
		return count;
	}
}

4. Class 만들기

- Class : 변수 여러 개를 하나로 묶은 것, 변수가 여러 개일 때 묶을 틀을 만들기 위한 목적, 같은 등급의 그룹

- 틀을 만들어두면 일일이 묶지 않아도 된다.

- 클래스는 main 함수 없음

- 클래스는 붕어빵을 찍어내는 틀과 같다

public class Fish {
	
	String name;
	int age;

}

[Test4] Class 실행하기

Fish fish1 = new Fish();
fish1.name = "니모";
fish1.age = 1;

System.out.println("첫째 붕어빵 이름은 " + fish1.name + "이고 나이는" + fish1.age + "이다");

 

- 숫자와 문자가 들어가기 때문에 변수의 크기를 모름 -> 임의로 설정 : 자료형(type)

- 자료형은 변수의 크기와 모양을 결정한다.

 

- Fish Class에 함수상자 넣기

int add(int a, int b){
	return a + b;
}

- Test4에서 함수 실행하기

int result = fish1.add(1, 4);
System.out.println("니모의 가족은 " + result);

- Fish Class

void swim(){
	System.out.println("붕어빵" + this.name + "는 수영을 좋아해요");
}

- this : 나 자신, class에서는 그 안에 있는 변수를 가져와 사용할 수 있다.

 

Fish fish1 = new Fish();
fish1.name = "니모";
fish1.swim();

- 클래스에서 swim은 void로 없기 때문에 이것만 실행됨


[Fish Class]

public class Fish {
	//두 개의 변수상자
	String name;
	int age;

	//함수상자
	int add(int a, int b) {
		return a + b;
	}
	
	void swim() {
		System.out.println("붕어빵" + this.name + "는 수영을 한다.");
	}
}

 

[Test4]

public class Test4 {
	public static void main(Strint[] args) {

		Fish fish1 = new Fish();

		//변수값 출력
		fish1.name = "니모";
		fish1.age = 2;
		System.out.println("물고기의 이름은 " + fish1.name + " 나이는 " + fish1.age);

		//함수값 출력
		int result = fish1.add(1, 2);
		System.out.println("물고기 가족은 " + result + "마리다");

		//void 출력
		fish1.swim();
	}
}

'JAVA' 카테고리의 다른 글

4. 0708_생성자함수, if문 (리뷰)  (0) 2021.10.23
3. 0707_review  (0) 2021.10.20
2. 0706_생성자(Constructor), Getter and Setter, 상속  (0) 2021.10.20
[JAVA] Collection : List, Set, Map  (0) 2021.08.13
[Java] Wrapper Class(래퍼 클래스)  (0) 2021.08.12