JAVA/JAVA1 11

[java1] #11 - temp(순서 바꾸기/로또 추첨)

# temp (순서바꾸기) int temp = a; a = b; b = temp; 1. temp 라는 빈 공간에 a를 넣어준다. --> int temp = a; 2. a가 빠져나온 곳애 b를 넣어준다. --> a = b; 3. b가 빠져나왔기 때문에 빈공간이 되어버린 그곳이 temp이다. --> b = temp; 컴파일 결과 전 : a = 20, b = 10 후 : a = 10, b = 20 배열의 순서 바꾸기 // 3개의 배열 순서 바꾸기 int []arr = {5, 7, 2}; for(int n:arr) //n에 arr을 담는다. { System.out.println(n); } System.out.println(); System.out.println("0번과 2번을 교환 후 출력"); int temp..

JAVA/JAVA1 2022.10.22

[java1] #10 - Random 함수

프로그래밍을 하다보면 (특히 게임) 난수를 생성할 일이 있다. 난수는 무작위 숫자를 뜻하지만 컴퓨터 쪽에선 100% 랜덤은 아니다. 왜냐하면 정해진 난수표에서 숫자를 가져오는 방식이기 때문이다. 자바(JAVA)에서 난수를 생성하는 방법은 크게 두가지이다. 1. Math.random() Math Class의 random 함수는 double형 타입으로 0.0이상 1.0미만 사이의 값을 반환한다. 예시) public class TestRandom { public static void main(String[] args) { for(int i =0; i < 10; i++) { System.out.print(Math.random()+" "); } System.out.println(""); //for문을 이용해 반환..

JAVA/JAVA1 2022.10.12

[java1] #09 - 상속 (도로 위 자동차 만들기)

지금까지는 한 파일에 클래스를 따로 만들었지만 다른 파일로 나눈 후 상속을 사용해 만들어보자 - Car 클래스에 필요한 변수 (brand, color, price wheel)을 선언하고 Alr + Shift + S > O 를 클릭한 뒤 필드를 이용해 생성자를 만든다. - 시동켜기, 시동끄기 메소드를 만든다. return값이 없기 때문에 자료형은 void이다. - SuperCar 클래스는 부모 클래스로부터 상속받는 자식 클래스(하위 클래스)이기 때문에 extends Car를 사용해야 한다. - 부모 생성자를 호출하기 위해 super()를 사용하는데 자식 생성자의 맨 첫줄에 선언되어야한다. - Alt + Shift + S > C 로 부모의 생성자를 받아와서 생성자를 만든다. 그리고 Alt + Shift + ..

JAVA/JAVA1 2022.06.10

[java1]#08 - 클래스 배열, 상속, 다형성, static

1. 클래스 배열 : 객체를 여러개 선언해야 하는 경우 배열 타입으로 한번에 선언 후 사용한다. 각 객체는 규칙성이 없기 때문에 규칙성을 부여하기 위해서 사용한다. 2. 클래스 배열 선언 클래스명[] 배열명 = { new 생성자(), new 생성자(), new 생성자(), ... }; 3. 클래스 배열 사용 : 각 방을 하나의 객체로 보아야 한다. 배열명[idx].변수 배열명[idx].메소드(); 2. 상속(inheritance) : 기존에 선언된 클래스의 필드를 다른 클래스에서 사용하고자 할 때 class A{ A의 필드 } class B extends A{ B의 필드 } B obj = new B(); obj 객체는 실제로는 A의 필드와 B의 필드 둘 다 가지고 있다. -A : 부모 클래스, 상위 클래..

JAVA/JAVA1 2021.06.02

[java1] #07 - 변수, 클래스, 생성자

1. Storage Class(저장기억부류) 지역 변수 전역 변수 정적 변수 정의 메소드 내부에 선언된 변수 클래스 내부, 메소드 외부에 선언된 변수 static이 붙은 변수 초기화 직접 자동 자동 생명주기 } 프로그램 종료시 프로그램 종료시 보안성 상 중 하 2. 클래스(반) : 공통 요소들을 추상적이게 묶어놓은 틀 여러 변수들과 메소드들을 둘 다 관리 및 사용하기 위해 쓴다. (붕어빵 틀 역할) (1) 주어이다. - 모든 문장 맨 앞에 클래스가 나오고 맨 앞글자를 항상 대문자로 적는다. 따라서 클래스는 주어이고 대문자로 시작한다. ex. Monkey.eat("banana"); [클래스][메소드] 주어 동사 목적어 (2) 타입이다. - 클래스는 추상적인 개념이고 이 클래스 안에는 반드시 필드가 존재한다..

JAVA/JAVA1 2021.06.02

[java1] #06 - 메소드, 리턴

1. 메소드 - 이름 뒤에 소괄호()가 온다. 단 키워드 뒤의 소괄호는 메소드가 아니다. (1) 반복되는 기능, 코드를 쉽게 관리하기 위해 사용한다. (2) 소스코드 간결화를 위해 사용한다. f(x) = 2x+1 f - 메소드 이름 (x) - 매개변수 2x+1 - 리턴값 2. 메소드 구조 ①리턴타입 ②메소드명 (자료형 ③매개변수, 자료형 매개변수, ...){ ④호출시 실행할 문장; ⑤return 리턴값; } ① return 뒤의 값에 타입에 맞는 자료형을 작성해 준다. return하는 값이 없다면 void로 작성한다. ② 동사형으로 작성한다. (ex : eat("치킨") eat("밥") eat("피자")) ③ 생략이 가능하다. 하지만 생략시ㅔ는 외부(사용하는 곳)에서 값을 전달받을 수 없고, 여러 값을 ..

JAVA/JAVA1 2021.06.01

[java1]#05 - 배열, 2차원 배열, 2중 for문

1. 배열 -같은 자료형의 여러 변수를 나열해 놓은 것 (1) 여러 같은 의미의 값들을 하나의 이름과 인덱스로 관리하기 위해서 (2) 규칙성이 없는 값에 규칙성을 부여하기 위해서 ex) String[] msg = {"Java", "정다솔", "꽃", "이순신", "국어"}; 2. 배열의 선언 (1) 자료형[] 배열명 = {값1, 값2, ...}; (2) 자료형[] 배열명 = new 자료형[칸수]; (3) 자료형[] 배열명 = null; //주소값의 초기값 3. 배열의 인덱스(index)번호 -실제 값들이 저장되어 있는 공간이 할당되면 이름은 존재하지 않고 주소값들만 존재한다. 따라서 시작 주소값을 배열명 변수가 갖고있고 주소연산을 통해 다음 주소값으로 이동한다. 시작주소에서 이동한 횟수(연산된 정수)가 ..

JAVA/JAVA1 2021.05.31

[java1]#04 - 증감 연산자, 반복문(for문, while문)

1. 누적 대입 연산자 (복합 연산자, 누적 연산자) +=, -=, *=, /=, %=, ... ex) int data = 10; data = data+5; data += 5; // data에 5만큼 더해서 넣어라 data += 3+2; 2.증감 연산자 (daata+=1;) >> data++; (data-=1;) >> data--; 전위형 -> ++data; 후위형 -> data++; 3.반복문 -특정한 코드나 행위를 반복해야 할 때 사용하는 문장 조건에 의한 반복문 while문 뒤의 ()안에는 조건식, 즉 boolean 타입의 값이 와야한다. 따라서 그 안에 true라는 값을 넣을 수가 있고, 그 값은 상수로 작성했기 때문에 변하지 않는다. 따라서 그while문은 무한정으로 반복하게 된다. 안에서 특정..

JAVA/JAVA1 2021.05.31

[java1] #03 - 조건식, 관계/논리 연산자, if/switch문

1. 조건식 조건식은 결과가 참 또는 거짓, 둘 중 하나로 나오는 식으로 관계연산자, 논리연산자 등의 조합으로 만들어진다. 자바에서는 0과1대신 true, false 라는 값을 사용한다. 2. 관계 연산자 >, =, 3 && 10==1 : flase A || B : 둘 중 하나라도 true면 true ex) 10>3 || 10==1 : true 4. 삼항연산자 - (조건식)? (값1):(값2) 조건식을 연산한 후 그 값이 true라면 삼항연산자 결과는 값1이다. 연산한 후의 값이 false라면 삼항연산자의 결과는 값2이다. 삼항연산자는 사용부분 통채로가 값이다. 경우의 수가 두가지의 값일때 사용하는 것이 좋다. 5.제어문 - 위에서 아래로만 흐르던 코드의 흐름을 제어하기 위해 사용하는 문장 - 조건문 :..

JAVA/JAVA1 2021.05.28

[java1]#02 - Scanner(입력메소드),연산자,형변환 등

입력은 사용자가 개발자에게 값을 넘겨주는 행위이다. 입력상태는 커서가 깜박이면서 값이 들어오기를 기다리는 상태를 말한다. 이때 값이 입력되지 않으면 다음으로 진행이 불가하다. 개발자가 할 수 있는 일은 사용자에게 입력상태로 만들어 주는 것 까지이다. 아래 코드들은 사용자가 값을 입력했다고 가정하고 작성한다. 입력받기 전 사용자가 잘 입력할 수 있도록 먼저 출력을 해준다. 1.입력메소드 Scanner sc = new Scanner(System.in); String data = sc.next(); - next(); : 통채로가 사용자가 입력한 문자열 값이다. 공백 도는 엔터를 구분점으로 판단하고 분리하여 입력받는다. 정 다솔 : "정" , "다솔"로 분리하여 "정"만 입력받는다. 따라서 값의 개수만큼 nex..

JAVA/JAVA1 2021.05.07