java 기초 - 01

hanjae_99·2023년 1월 11일
1

Learned by 창

목록 보기
1/8

java 를 배워보자!

친구에게 요즘 듣고있는 과외내용을 정리해보는 시간..
다른지식도 많이 전수받았지만 먼저 오늘배운 java를 복습겸 정리해두려한다 레츠고!

  • eclipse 설치하기
  • 시작하기에 앞서 java 툴 중 하나인 eclipse 를 설치!

    그리고 가장 중요한 한글패치! (하다보니 중간에 콘솔창에서 한글이 깨지기도 하고 주석에서도 깨져서 정리해두려한다..)

    window - preferences 에 encoding 검색 후 text 파일에 EUC-KR 을 입력 후 update 클릭!
    이렇게 해두면 이후 만들어지는 프로젝트들은 한글이 정상적으로 작동
    (만약 안될 시 UTF-8 인코딩으로 바꿔가며 작동확인하면 될듯..? 개별 프로젝트도 설정가능하다)

  • 1일차 수업
  • java 는 이전에 배웠던 파이썬과 다른 부분이 많았는데
    크게 메인함수(출력층)와 그밖의 재료함수(입력층)들로 구성되어있고
    그런 재료들을 모아서 메인함수 내에서 최종 제작하여 출력하는 형식이다.
    이런 메인함수와 재료함수는 모두 제일 상위 단계인 class 안에 묶여 있고 class 와 연동되게끔 static 을 붙여 함수를 지정해주면 된다.

    public class Hello {
    
    	public static void main(String[] args) {  // 메인함수 (주로 출력이 이루어지는 곳)
    		System.out.println("hello world!");
    	}
     	
     	public static ~ // 재료함수 (여러 필요한 함수들이 입력되어지는 곳)
    }

    그리고 이 친구는 파이썬보다는? 똑똑하지 못해서 인자들을 받거나 함수를 지정할 때, 값을 할당받을 변수를 만들때 등등 자료형을 일일이 지정해줘야한다.

    java의 자료형에는

    		boolean bool = true; // True,False
    		char cr = 'a'; // 문자 하나
    		String hello = "안녕"; // 문자열
    		
    		byte b = 20; // 1바이트, 8비트까지 표시가능, 최대범위 : 2^8 - 1 = 255
    		int bt = 255; // 4바이트, 32비트까지 표시가능, 최대범위 : 2^32 -1
    		short a = 10000; // 2바이트까지 표시가능
    		long lng = 1000000000; // 8바이트까지 표시가능
    		
    		float flt = 120.4040f; // 실수, 마지막f로 끝을 표시
    		double dble = 1203123.29451535f; // 긴 실수     

    대략적으로 요정도? 만 배웠다

    그리고 역시 빠지면 섭한 반복문과 조건문에 대해서도 배워보자
    반복문은 대충 스파르타강의에서 자바스크립트를 배울 때 했던것과 비슷한데

    	public static void main(String[] args) {
    		int i = 0;
    		for(i = 0; i < 10; i++) {
    			System.out.println("Hello"); // Hello 가 총 10번 출력 (줄바꿔서)
    		}
        }

    초반에 변수 i 를 지정해주고 반복문을 돌리면 된다.

    그리고 조건문도 크게 다르진 않았다

    	public static void main(String[] args) {
            checkAge(24); // 출력을 원하는 함수는 메인함수쪽에 작성, "성인입니다" 출력
        }
                             
        public static void checkAge(int age) {   // void : return 값이 없음 (메인함수로 값을 보내지 않고 정해진 조건에 따라 바로 출력)
    		if(age >= 19) {
    			System.out.println("성인입니다!");
    		}
    		else if(age < 19 && age >= 13) {
    			System.out.println("청소년입니다!");
    		}
    		else {
    			System.out.println("애들은 가라");
    		}
    	}

    다만 여기서 살짝 헷갈렸던게 있었는데 바로
    '함수내에 쓰이는 void 이런게 무얼 뜻하는걸까' 였다

    메인함수 밖에서 작성된 함수들은 조건문, 반복문을 돌린값을 return 해서
    메인함수로 돌려줘야 메인함수에서 받아 활용할 수 있다.
    void 로 쓰인 함수는 return 값이 필요없는, 위에처럼 조건에 따라 바로 출력만 하면 될 때 쓰인다. 또 int는 숫자형으로, String은 문자열형으로 return 시킨다.
    그럼 반대로 return 을 활용해볼까?

    public static void main(String[] args){
    	int hap = sum(1, 2); // 받아온 return 값 정보를 토대로 hap에 저장
        System.out.println(hap); // hap 값 = 3 을 출력
    } 
    public static int sum(int a, int b) {    // int : return 값을 int형으로해서 메인함수로 보냄.
    	return a + b; // sum 이라는 함수는 a, b 인자를 더한값이라는걸 메인함수로 보냄
    }

    이렇게 메인함수와 재료함수 사이에 return 을 이용해 연결다리를 놓으면 된다.
    문자열을 가져올 때도 마찬가지!

    public static void main(String[] args){
    		String address = "Seoul";
    		System.out.println(whereYoulive(address));
    } 
    public static String whereYoulive(String address) { // string : return 값을 string 형으로 해서 메인함수로 보냄
        if(address.equals("Seoul")) { // 문자열 사이에 일치하는지를 파악할 땐 '==' 이 아닌 .equals 를 사용
            return "수도권!";
        }
    }

    마지막으로 배열도 배워봤다. 배열은 기본함수가 아니여서 일단 먼저

    import java.util.ArrayList;

    ArrayList를 임포트해주고,

    public static void main(String[] args){
    	ArrayList<String> fruits = new ArrayList<String>(); // fruits 의 형을 설명해주고 새로운 ArrayList 객체로 생성
    		
    		fruits.add("apple"); // 배열안에 추가는 .add
    		fruits.add("banana");
    		fruits.add("peach");
    		fruits.add("prune");
    		fruits.add("melon");
    		
    		System.out.println("fruits:" + fruits); // 문자열과 변수 같이 출력할땐 , 가 아니라 +
    } 
    
      // 출력값 -> fruits:[apple, banana, peach, prune, melon]

    요렇게 배열을 생성, 추가해주면 된다.

    마무리

    java를 처음 배워봤는데 생각보다 내가 알던 상식밖의 것들이 많았다.
    파이썬으로 처음배워서 그런가 일일이 자료형하나하나 지정해줘야하는것부터
    문장을 끝낼땐 ; 를 써야한다던가, 출력층인 메인함수와 입력층이 따로 나뉘어있다던가 등등..
    많이 생소했지만 뭐 금방 적응할 수 있을것같다 ㅋㅋ

    profile
    단 하나밖에 없는 톱니바퀴

    0개의 댓글