Language/Java 184

생성자와 State

자동 들여쓰기이클립스 일괄 들여쓰기 적용 1. 소스를 드래그 한다 2. CTRL + SHIFT + F State 를 사용하면 간단하게 원하는 출력정보를 생성자 처럼 출력이 가능하다. // 예약어 : 프로그래밍 언어에서 미리 등록되어진 단어 ex) int, break 변수이름으로 할 수 없다. class CarBMW { //class Car 를 생성 //변수 String color; String vender; String name; int speed; CarBMW(String inputColor, String inputname) { // CarBMW의 생성자 : 객체를 생성할 때 JVM에 의해 자동으로 호출되는 특수한 메서드 vender = "BMW"; // 제조사 이름은 변경 불가능 : class이름이 ..

Language/Java 2021.03.23

기본형 매개변수

호출스택 (call stack) : 스택을 쌓는것 처럼 생각하면 된다. 호출이 끝나면 없어진다 호출 받은 공간이.(실행 메소드) 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. 참조형 매개변수 : 변수의 값을 일고 변경할 수 있다. 지역변수와 인스턴스 처럼 생각하면 된다. class 에 class Data { int x; // class Data 에 int 형 x를 매개변수를 선언. } public class Ex6_6 { public static void main(String[] args) { //Entry point Data d = new Data(); // 객체 배열을 선언 d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); S..

Language/Java 2021.03.23

인스턴스와 지역변수

iNum2의 이름이 같아도 내용값이 다른 이유 : 지역변수이기 때문에 같은 이름이라도 독자적으로 사용가능하다. 메소드 마다 사용되는 독자적인 변수. return; 되는 순간 BBBBB AAAAA의 공간은 사라진다. public class Test002 { public static void AAAAA(int iNum1) { int iNum2 = 300; //지역변수 BBBBB(iNum1); // 인스턴스 변수 iNum1 System.out.println("AAAAA : iNum1 = " + iNum1); System.out.println("AAAAA : iNum2 = " + iNum2); return; } public static void BBBBB(int iNum1) { int iNum2 = 400; /..

Language/Java 2021.03.23

Car class

// 예약어 : 프로그래밍 언어에서 미리 등록되어진 단어 ex) int, break 변수이름으로 할 수 없다. class Car { //class Car 를 생성 // 상태정보 // 색상 // 속도 // 제조사 String color; //인스턴스 변수 (파란색) String vender; //인스턴스 변수 (파란색)//제조사 String name; //인스턴스 변수 (파란색) int speed; //인스턴스 변수 (파란색) void SpeedState() { System.out.println("현재 속도는 ["+ speed + "]Km 입니다."); // 동일코드는 한 코드로 묶어주면 유지보수에 장점을 가진다. 중복을 막아라, 코드의 } // 행위정보는 메서드로 void Accel () { // 가속 ..

Language/Java 2021.03.23

인스턴스(객체) 변수와 메서드의 변수 (지역변수)

class Spring { int iNum1 = 100; // 인스턴스 (객체)의 변수 :힙 영역에 생성 // 자동으로 초기화 값 0 //파란색로 표기 int iNum2; // 인스턴스 (객체)의 변수 :힙 영역에 생성 // 자동으로 초기화 값 0 int iNum3 = 300; // 인스턴스 (객체)의 변수 :힙 영역에 생성 // 자동으로 초기화 값 0// 상태 값만 있는 class String aString; // 인스턴스 (객체)의 변수 :힙 영역에 생성 // 자동으로 초기화 값 0 void Test() { int iNum; // 메서드의 변수 : 지역변수/ 스택 영역에 생성 String aString; // 메서드의 변수 : 지역변수/ 스택 영역에 생성 System.out.println(iNum);..

Language/Java 2021.03.22

변수의 간단한 출력/ null값을 가질때

public class Test006 { public static void main(String[] args) { String aString1 = "술 한잔 하실?"; System.out.println(aString1); int iNum = aString1.length(); System.out.println(iNum); System.out.println(aString1); System.out.println(aString1.length()); String aString2 = null; // 아무 객체도 가르키지 않는 중, == Null System.out.println(aString2); // initialized 초기화 되지 않았다. 에러. System.out.println(aString2.length(..

Language/Java 2021.03.22

객체의 사용과 생성 예제

public class Ex6_2 { public static void main(String[] args) { Tv t1 = new Tv(); Tv t2 = new Tv(); System.out.println("t1의 channel값은 " +t1.channel + "입니다."); System.out.println("t2의 channel값은 " +t2.channel + "입니다."); t1.channel = 7; System.out.println("t1의 channel값을 "+t1.channel+ "로 변경하였습니다."); System.out.println("t1의 channel값은 " +t1.channel + "입니다."); System.out.println("t2의 channel값은 " +t2.chan..

Language/Java 2021.03.22

객체의 생성과 사용

public class Ex6_1 { public static void main(String[] args) { Tv t; //Tv 인스턴스를 참조하기 위한 변수 t를 선언 t = new Tv(); //Tv인스턴스를 생성한다. //Tv t = new Tv(); t.channel = 7; //Tv인스턴스의 멤버변수 channel의 값을 7로 한다. t.channelDown(); //Tv인스턴스의 메서드 channelDown()을 호출한다. System.out.println("현재 채널은 "+ t.channel + "입니다."); } } class Tv { // Tv의 속성(멤버변수) String color; //색상 인스턴스 변수 boolean power; //전원상태 인스턴스 변수 int channel; ..

Language/Java 2021.03.22

class 와 object/ 객체

class 개념 class 별로 컴파일이 된다. object 객체 public class Test004 { // 파일이름과 일치 Test004 public static void main(String[] args) { Human wonyoung = new Human(); // 변수가 2개가 생성된 것. new 는 필수 wonyoung.eat(); wonyoung.sleep(); wonyoung.walk(); wonyoung.age = 20; wonyoung.tall = 181; System.out.println("wounyoung의 나이는 " + wonyoung.age + "입니다." ); System.out.println("wounyoung의 키는 " + wonyoung.tall + "입니다." ); }..

Language/Java 2021.03.22

지역변수

public class Test003 { public static void SpringA(int iNum) { //iNum의 값(50)은 같지만 공간은 다르다. =다른 iNum System.out.println(iNum); //여기서의 iNum은 지역변수, 중괄호가 끝날 때 수명이 끝난다. } public static void SpringB(int iNum) { System.out.println(iNum); //여기서의 iNum은 지역변수 } public static void main(String[] args) { //Entry Point, args 또한 지역변수 int iNum = 50; //여기서의 iNum은 지역변수 SpringA(iNum); SpringB(iNum); System.out.print..

Language/Java 2021.03.22

메서드 호출과 인자,인수의 변수를 선언 했을 때

public class Test001 { public static void ArgTest1(int ArgNum) { // () 안 : 인자,인수 변수를 선언 Arg System.out.println("ArgTest1 메소드가 호출되었습니다 " + ArgNum); } public static int ReturnTest2() { int temp = 1000; System.out.println("NoReturnTest1 메소드가 호출되었습니다");//3 return temp; } public static int ReturnTest1() { System.out.println("NoReturnTest1 메소드가 호출되었습니다");//3 return 100; } public static void NoReturn()..

Language/Java 2021.03.22

main 메서드

*ctrl 키 누르고 클릭을 하면 해당 위치로 점프 (찾아준다) *Entry Point : 진입점 ★★★★★★★★★★★★★★★★★★★main★★★★★★★★★★★★★★★★★★★★ ** main 메서드가 없으면 에러가 난다. public class Test001 { public static void NoReturn() { //반환을 하지 않을 것이다. System.out.println("NoReturn 메소드가 호출되었습니다"); } /*public static void main(String[] args) { System.out.println("main 메소드가 호출되었습니다"); }*/ }

Language/Java 2021.03.22

String 클래스의 주요메서드 // 반환타입

char charAt(int index) : 문자열에서 해당위치(index)에 있는 문자를 반환한다. int length() : 문자열의 길이를 반환한다. String substring(int from, int to) :문자열에서 해당 범위(from~to)의 문자열을 반환하다. (to는 포함 안 됨) boolean equals(object obj) : 문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false char[] toCharArray() : 문자열을 문자배열(char[])로 변환해서 반환한다. public class Test006 { static double SpringC() { System.out.println("SpringC 호출됨"); return 3.14; } stati..

Language/Java 2021.03.19

String 배열의 초기화

public class Ex5_6 { public static void main(String[] args) { String[] names = {"kim", "Park", "Yi"}; // new가 없는이유 : 특별히 허락 문자입력 for(int i = 0; i < names.length; i++) // length 는 위의 Kim, Park Yi,의 갯수를 찾아줌 System.out.println("names["+i+"]:"+names[i]); // i는 ""안에 안쌓여있다. 그래서 값을 출력 String tmp = names[2]; //0,1,2 개, 변수 tmp에 배열 names의 세 번째 요소를 저장 System.out.println("tmp:"+tmp); names[0] = "yu"; // 배열의..

Language/Java 2021.03.19

do - while문

Math.random();을 이용하여 1과 100사이의 임의의 수를 변수 answer에 저장하고 이 값을 맞출 때까지 반복하는 예제. import java.util.*; public class Ex4_15 { public static void main(String[] args) { int input = 0, answer = 0; answer = (int)(Math.random() * 100) + 1; // 1~100사이의 임의의 수를 저장 Scanner scanner = new Scanner(System.in); do { System.out.print("1과 100사이의 정수를 입력하세요.>"); input = scanner.nextInt(); if (input > answer) { System.out...

Language/Java 2021.03.19

continue

import java.util.Scanner; public class Test002 { public static void main(String[] args) { Scanner aScanner = new Scanner(System.in); String aString; while(true) { // true를 넣으면 무한동작. System.out.print("문장을 입력하세요(종료 quit) : "); aString = aScanner.nextLine(); System.out.println("[" + aString + "]"); if (!aString.equals("quit")) { // equals는 내용이 같냐를 묻는 것?! continue; // 아래 코드 수행 없이 반복문의 제일 처음으로 이동,반복문..

Language/Java 2021.03.19

break문

import java.util.Scanner; public class Test002 { public static void main(String[] args) { Scanner aScanner = new Scanner(System.in); String aString; while(true) { // true를 넣으면 무한동작. System.out.print("문장을 입력하세요(종료 quit) : "); aString = aScanner.nextLine(); System.out.println("[" + aString + "]"); if (aString.equals("quit")) { // equals는 내용이 같냐를 묻는 것?! break; // 브레이크를 넣으면 한번만 동작한다. } } } }

Language/Java 2021.03.19