'JAVA > JAVA 기본 문법' 카테고리의 다른 글
[JAVA] Set (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA] Set (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- Map (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- Map (0) | 2019.01.20 |
---|---|
[JAVA] Set (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA] Set (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
instance of 연산자
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
---|---|
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
interface field 는 기본적으로 public static final 수식어가 붙는다
interface method 는 기본적으로 public, abstract 붙어있다.
때문에 interface의 추상 메소드를 재정의 할때는 무조건 public을 적어줘야 한다. 상속받은 메소드 보다 접근제한자가
커져야 하는데 그 전 메소드가 public 이기 때문이다 .
interface를 implements 하면 무조건 모든 추상메소드를 재정의해줘야한다.
[JAVA]-#Collection API (0) | 2019.01.20 |
---|---|
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
---|---|
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-interface (0) | 2019.01.20 |
---|---|
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-abstract (0) | 2019.01.20 |
---|---|
[JAVA]- static (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
[JAVA]- static (0) | 2019.01.19 |
---|---|
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
[JAVA]-Java #접근수식어 (접근지정자, 접근 제한자) (0) | 2019.01.19 |
# 상속
원칙적으로 JAVA는 단일 상속만을 지원하지만 다중상속 하는 기능도 지원을 한다.
상속 예제
[JAVA]- final (0) | 2019.01.19 |
---|---|
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
[JAVA]-Java #접근수식어 (접근지정자, 접근 제한자) (0) | 2019.01.19 |
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
#Java Encapsulation
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
---|---|
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-Java #접근수식어 (접근지정자, 접근 제한자) (0) | 2019.01.19 |
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
#접근수식어 (접근지정자, 접근 제한자)
[JAVA]-Java 상속 (0) | 2019.01.19 |
---|---|
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
[JAVA]-Java 클래스 (0) | 2019.01.19 |
Java #Method Overloading
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
---|---|
[JAVA]-Java #접근수식어 (접근지정자, 접근 제한자) (0) | 2019.01.19 |
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
[JAVA]-Java 클래스 (0) | 2019.01.19 |
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
Java 클래스 생성자
생성자는 무조건!!! 클래스와 이름이 같아야 한다 void 타입도 적으면 안돼
int num; String model;
String owner;
[JAVA]-Java #접근수식어 (접근지정자, 접근 제한자) (0) | 2019.01.19 |
---|---|
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
[JAVA]-Java 클래스 (0) | 2019.01.19 |
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
Class
Class 기본 예제
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
---|---|
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
[JAVA]-Java 1차원 배열 (0) | 2019.01.19 |
#다차원 Array
같은 타입의 많은 데이터를 행과 열을 이용하여 저장하기 위해 사용
*선언
int[][] su;
int su[][];
*생성
su=new int[5][3]; //5행(가로) 3열(세로)
*값 할당
su[0][0]=10;
#2차원 배열의 length
arr[5][3]
arr.length -> (행) 길이는 5
arr[x].length (열) 길이는 3
for(int i=0; i<multi.length; i++) {
for(int j=0; j<multi[i].length ; j++) {
System.out.print(multi[i][j]+"\t");
}
System.out.println();
}
이런식으로 배열 입력, 출력 가능
#행 마다 length 가 다른 배열도 선언이 가능하다
int[][] some = new int[3][];
some[0] = new int[3];
some[1] = new int[5];
some[2] = new int[7];
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
---|---|
[JAVA]-Java 클래스 (0) | 2019.01.19 |
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
[JAVA]-Java 1차원 배열 (0) | 2019.01.19 |
[JAVA]-Java 반복문 (0) | 2019.01.19 |
#Operation(메소드)
기본 구조
public static return_tyep method_name(parameter list)
{
//수행할 문장들
}
메소드의 종류는 총 4가지가 있다.
1. 입력과 출력이 모두 있는 메소드
public int sum(int a, int b) { //파라메타로 a,b 모두 입력 받고
return a+b; // 리턴해준다.
}
Test myTest = new Test(); //메소드 사용할려면 객체 생성해야한다. myTest 클래스의 객체를 만들고 메소드 호출
int c = myTest.sum(a, b);
*return 타입이 int라서 int로 받아야한다.
2. 입력과 출력이 모두 없는 메소드
public void say() {
System.out.println("Hi");
}
Test myTest = new Test();
myTest.say();
3. 입력은 없고 리턴은 있는 메소드
public String say() {
return "Hi";
}
Test myTest = new Test();
String a = myTest.say();
System.out.println(a);
4. 입력은 있고 리턴은 없는 메소드
public void sum(int a, int b) {
System.out.println(a+"과 "+b+"의 합은 "+(a+b)+"입니다.");
}
리턴값이 없는 메소드는 명시적으로 리턴타입 부분에 void라고 표기
Test myTest = new Test();
myTest.sum(3, 4);
#배열 타입 메소드 활용하기
static void total(int[] data) {
int sum=0;
for(int i=0; i<data.length; i++) {
sum+=data[i];
}
System.out.println(sum);
}
int[] data = {10,28,30,50,90,123,450,66,67};
total(data);
#리턴 타입이 배열인 경우
static int[] makeArray(int len) {
int code[]=new int[len];
return code;
}
int[] data1;
data1=makeArray(3);
for(int i=0; i<data1.length; i++) {
System.out.println(data1[i]);
}
#return의 또 다른 쓰임새!
특별한 경우에 메소드를 빠져나가기를 원할 때 return만 단독으로 써서 메소드를 즉시 빠져 나갈 수 있다.
public void say_nick(String nick) {
if ("fool".equals(nick)) {
return;
}
System.out.println("나의 별명은 "+nick+" 입니다.");
}
만약 nick의 입력값이 "fool" 이면 바로 메소드를 빠져나가게 하고 싶어서 return 을 써준다.
이 방법은 리턴자료형이 void형인 메소드만 해당된다. 리턴자료형이 명시되어 있는 메소드에서 return 문만작성하면 컴파일 오류가 발생
void // 리턴이 없는 메소드에 형식적으로 쓰는건데
그떄 return 을 써버리면 강제적으로 메소드를 종료시킨다.
[JAVA]-Java 클래스 (0) | 2019.01.19 |
---|---|
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
[JAVA]-Java 1차원 배열 (0) | 2019.01.19 |
[JAVA]-Java 반복문 (0) | 2019.01.19 |
[JAVA]-Java 조건문 (0) | 2019.01.19 |
Java 배열
Java에서 배열은 객체이다. 그러므로 객체를 생성하여 사용하듯이 배열도 객체 생성하여 사용해야한다.
기본 선언문
int[] su = new int[7];
1. 배열 선언
int[] score;
int score2[];
int[] a,b;
int[] x,y[],z[]; //x 1차원 , y 2차원, z 2차원
2. 배열 생성
score = new int[3]; //배열도 객체이기 때문에 new로 생성해주고 사용한다, 생성 할때 사이즈를 줘야한다.
2-1. 선언과 생성을 동시에
int score[] = {50,90,88,100,50};
int code[]= new int[] {2,4,5,6,7}
3. 배열 사용
score[0]=123;
score[1]=300;
score[2]=789;
//배열을 만든 후에 값을 대입하고 사용
for(int i=0; i<score.length; i++) {
System.out.println(score[i]);
}
for(int i:score ) {
System.out.println(i);
}//인덱스 위치를 알기는 어렵다
보통 이렇게 많이 사용한다.
#배열의 크기
int len=score.length;
length 함수를 이용해서 배열의 크기를 반환 받을 수 있다.
#배열의 초기값
int codes[]= new int[1000]; // 디폴트값 0 대입
boolean flags[] = new boolean[20]; //디폴트값 false
double points[] =new double[300]; //디폴트값 0.0
String names[] =new String[500];//참조형 타입은 기본값이 null 예외 처리를 잘 해줘야 한다.
배열이 아닌 일반 타입들은 초기값이 없다.
System.out.println(names[567]);
#배열 전체 초기화(Arrays.fill)
import java.util.Arrays;
int codes[]= new int[1000];
Arrays.fill(codes, 1);
#args 배열 사용법
public static void main(String[] args)
실행할 때 마다 값을 다르게 하고싶을때 사용한다.
사용하는 방법
public static void main(String[] args) {
for(String a:args) {
System.out.println(a);
}
}
Run->Run Configuration -> Arguments -> 값 설정
#배열 복사하기 - System.arraycopy()
Java의 한번 설정된 배열은 사이즈 조절이 되지 않는다.
그래서 더 큰 크기의 배열을 만들어 복사를 한다
System.arraycopy(소스배열, 시작위치, 목적배열, 시작위치, 길이)
class CopyArray{
public static void main(String[] args){
int[] soArray={11,22,33,44};
int[] tarArray=new int[10];
System.arraycopy(soArray,0,tarArray,0,soArray.length);
}
}
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
---|---|
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
[JAVA]-Java 반복문 (0) | 2019.01.19 |
[JAVA]-Java 조건문 (0) | 2019.01.19 |
[JAVA]-Java 연산자 (0) | 2019.01.19 |
Java 반복문
기존 썼던 반복문이랑 똑같이 쓰면되는데 추가된 반복문이 있다.
for -each
for(type 변수: 데이터들 ){
//반복 처리 문장
}
맨날 forforforofoororrr만 쓰지말고 ㅠ_ㅠ
! while 쓰는 연습좀 하자
반복문에서 사용되는 문장들
break;
반복중인 루프를 벗어나기 위해 사용한다.
continue;
아랫부분의 문장들을 무시하고, 반복중인 루프를 계속 처리한다.
label:
//
//
break label:
다중 루프문을 처리하고 있을 경우 지정된 label의 루프를 벗어난다.
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
---|---|
[JAVA]-Java 1차원 배열 (0) | 2019.01.19 |
[JAVA]-Java 조건문 (0) | 2019.01.19 |
[JAVA]-Java 연산자 (0) | 2019.01.19 |
[JAVA]-Java Data Types, 형 변환 (0) | 2019.01.19 |