public class Array2D { // 2차원배열 클래스를 생성 하였습니다.
/**
* for 반복문을 통해 구구단을 만들어 볼꺼구요
* 각 값들을 문자형태로 저장하여
* 문자형 2차원 배열을 만들고 각 값을 넣어
* 배열값을 출력 할것입니다.
*/
public static void main(String[] args) { //main을 선언하여 시작합니다.
// TODO Auto-generated method stub
String arr[][] = new String[9][8]; //배열을 선언했습니다. *,=이 들어가기때문에 문자형태로 저장합니다.
int x=0; //이것은 1차원 배열 인덱스를 증가 시키기 위해 선언했습니다.
for (int j=1;j <= 9;j++){ //우선 반복문을 돌립니다. 2차식부터 먼저 돌립니다.
int y=0; //2차원 배열인덱스 값을 증가 시키기 위해 선언했습니다.
for (int i=2;i <= 9;i++){ //다시 반복문을 돌려 1차식을 돌립니다. 2차식부터 돌린 이유는
//2*1=2 , 3*1=3 가로로 먼저 출력하고 줄내림을 하기 위해서입니다.
int re; //2*1=2 곱하기의 결과값을 저장할 변수입니다. result 앞자만 땄어요
re = i * j; // 1차식 * 2차식 값을 re에 저장합니다.
String de = i+"*"+j+"="+re+" "; //de라는 문자형변수를 선언하면서 초기값으로 바로 화면에 출력할 형태를 넣습니다.
//" " 이것은 각 단별로 구별을 하려고 띄어쓰기를 한건데 tab을 어떻게 쓰는지 몰라서 공백으로 두었습니다.
arr[x][y] = de; // 배열인덱스별로 de 값을 문자형태로 넣습니다.
// 첫번째는 arr[0][0] = 2*1=2 가 문자형태로 들어가겠지요
// 반복 후 두번째는 arr[0][1] = 3*1=3 이 들어갑니다.
y++; // 배열 2차원값을 증가시킵니다. 아마 반복이 끝나는 마지막에는 arr[0][8]이 되겠지만
// 반복문 초기에 0으로 초기화 시키고 들어갑니다.
// System.out.print(arr[a][b]);
// System.out.print(i+"*"+j+"="+re+" ");
// break;
}
x++; // 배열 1차원값을 증가시킵니다.
// System.out.println();
}
for (int gugu=0;gugu < arr.length ;gugu++){ //2차원 배열을 반복문을 사용하여 빼 오는게 잘 안되네요
System.out.println(arr[gugu]);
// System.out.println(arr[1][0]); //각 값이 배열 공간마다 잘 들어갔는지 확인, 결과 이상무
}
}
}
'도브의 프로그래밍/Java'에 해당되는 글 18건
- 2010.09.28 Java 연습
- 2010.09.28 Java#03 수업내용
- 2010.09.14 #2 자바의 기초 문법
- 2010.09.07 Java 시작하기
- 2010.09.07 자바 개발환경의 구축
- 2010.09.07 객체지향프로그래밍 2일차
- 2010.09.03 2010학년도 2학기 개강
- 2010.08.31 객체지향 프로그래밍
2010. 9. 28. 17:19
도브의 프로그래밍/Java
2010. 9. 28. 15:38
도브의 프로그래밍/Java
배열을 생성해야 하는 이유
배열 선언 시 단 한 개의 데이터를 저장할 수 있는 메모리가 확보 된다.
ex) int arr[];
배열 항목의 메모리를 확보하는 일은 배열의 생성식이 한다.
new int[5]
배열 생석식의 결과를 배열 변수에 대입하면 참조값이 저장
arr = new int[5]
ex) int arr[] = new int[10]
ex) int arr[];
배열 항목의 메모리를 확보하는 일은 배열의 생성식이 한다.
new int[5]
배열 생석식의 결과를 배열 변수에 대입하면 참조값이 저장
arr = new int[5]
ex) int arr[] = new int[10]
2차원 배열
new 타입[크기1][크기2]
int table[][] = { {1,2,3,4,}, {5,6,7,8,}, {8,10,11,12}};
배열의 항목 수
<배열이름>.length
ex) int arr[] = {1,2,3,4,5,6,7,12,123,12,312,45123};
System.out.println(arr.length);
new 타입[크기1][크기2]
int table[][] = { {1,2,3,4,}, {5,6,7,8,}, {8,10,11,12}};
배열의 항목 수
<배열이름>.length
ex) int arr[] = {1,2,3,4,5,6,7,12,123,12,312,45123};
System.out.println(arr.length);
매개변수 : 어떤 메소드가 일을 할때 필요한 변수의 전체
if 조건문
if (조건식) if (조건식)
명령문 블록
명령문 블록
중첩 if문
dangling else : 어느 if 키워드와 짝을 이루는지 모호한 else 키워드
dangling else는 가장 가까이 있는 if 키워드와 짝을 이룬다.
switch 조건문
dangling else : 어느 if 키워드와 짝을 이루는지 모호한 else 키워드
dangling else는 가장 가까이 있는 if 키워드와 짝을 이룬다.
switch 조건문
switch (식) {
case 값1:
명령문들
break;
case 값2:
..
default :
명령문들
break;
}
case 값1:
명령문들
break;
case 값2:
..
default :
명령문들
break;
}
while (true) -> 무한 반복
do-while 반복문
for 반복문
for 반복문
for(초기화식;조건식;업데이트식)
ex) for (int cnt= 0; cnt <10; cnt++)
System.out.println(cnt);
ex) for (int cnt= 0; cnt <10; cnt++)
System.out.println(cnt);
for (;;) -> 무한 반복
향상된 for문
for(변수타입 변수이름 : 배열이름)
ex) for (int num : arr)
System.out.println(num);
num은 0으로 자동으로 초기화 시키고 arr[]배열의 크기까지 반복 하여 각 대응 값을 반환
*배열의 범위를 벗어날 우려가 없다.
for(변수타입 변수이름 : 배열이름)
ex) for (int num : arr)
System.out.println(num);
num은 0으로 자동으로 초기화 시키고 arr[]배열의 크기까지 반복 하여 각 대응 값을 반환
*배열의 범위를 벗어날 우려가 없다.
break 문
2010. 9. 14. 15:23
도브의 프로그래밍/Java
컴퓨터가 일을 처리 하는 방법은
자바 프로그램의 구성 요소
단어 : 키워드(keyword), 식별자(identifier), 상수를 표현하는 단어
class - keywrod, 이미 정의 되어 있음 있음
class 이름 -> 이름 - identifier, 이름은 지정 가능
상수 값을 표현하는 단어
true - 1, false - 0, null - ( )
기호
{ 클래스 시작과 끝, 메소드의 시작과 끝 }
(함수의 정의, 매개변수)
; 문장이 끝났다는 의미, ; 단위로 컴파일이 이루어진다.
[배열을 표시할 때]
" " / 문자열로 인식
' ' / 문자로 인식
변수
대입문 =
조건문
부명령문
반복문 while, do, for
while (num < 0) {
system.out.println("hi");
num = num+1;
}
num = num+1;
}
클래스에서 쓰이는 전역변수는 초기화를 시키지 않아도 자동적으로 초기화 시킨다.
메소드 내에서 사용 되는 변수는 초기화 시켜 줘야한다.
블럭(block) : 명령문들을 중괄호로 둘러 싼 것
주석(comment)
/*
*/
//
Ctrl + / 자동 주석
공백 스페이스(SP) , 탭(TH), 줄바꿈문자(CR,LF), 새페이지 문자(FF)
로컬 변수(지역변수)
인스턴스 변수-메소드 밖에서 선언, 클래스 내 변수{
클래스에서 생성된 인스턴스가 사용 할 수 있는 변수
}
변수의 타입
프리미티브타입 - 자바에서 기본적으로 제공 되는 데이터 타입 (원시적 타입)
String type - class type의 data type
식별자 명명 규칙
- 하나 이상의 글자
- 첫 글자 = 문자, $, _
- 두번째 이후 첫 글자 + 숫자, 문자
- $, _ 외의 특수문자 사용불가
- 길이 제한 없음
- 키워드는 식별자로 사용 안됨
- 상수값을 표현하는 단어 true, false, null 사용 불가
int a = 10
{
int a = 20
}
println a
a = 20 출력 됨
{
int a = 20
}
println a
error ({} 밖에서 선언 되어 있어야 함)
final 변수 : 변수에 값을 한번만 대입할수 있는 변수
변수를 상수처럼 쓴다.
단순대입 연산자 =
복합대입 연산자 += ' a+=3 = 'a = a + 3'
증가 연산자 ++ 'a++' = 'a = a + 1' 감소연산자 --
메소드 내에서 사용 되는 변수는 초기화 시켜 줘야한다.
블럭(block) : 명령문들을 중괄호로 둘러 싼 것
주석(comment)
/*
*/
//
Ctrl + / 자동 주석
공백 스페이스(SP) , 탭(TH), 줄바꿈문자(CR,LF), 새페이지 문자(FF)
로컬 변수(지역변수)
인스턴스 변수-메소드 밖에서 선언, 클래스 내 변수{
클래스에서 생성된 인스턴스가 사용 할 수 있는 변수
}
변수의 타입
프리미티브타입 - 자바에서 기본적으로 제공 되는 데이터 타입 (원시적 타입)
String type - class type의 data type
식별자 명명 규칙
- 하나 이상의 글자
- 첫 글자 = 문자, $, _
- 두번째 이후 첫 글자 + 숫자, 문자
- $, _ 외의 특수문자 사용불가
- 길이 제한 없음
- 키워드는 식별자로 사용 안됨
- 상수값을 표현하는 단어 true, false, null 사용 불가
int a = 10
{
int a = 20
}
println a
a = 20 출력 됨
{
int a = 20
}
println a
error ({} 밖에서 선언 되어 있어야 함)
final 변수 : 변수에 값을 한번만 대입할수 있는 변수
변수를 상수처럼 쓴다.
단순대입 연산자 =
복합대입 연산자 += ' a+=3 = 'a = a + 3'
증가 연산자 ++ 'a++' = 'a = a + 1' 감소연산자 --
a++, ++a 도 됨
num++ : num을 먼저 사용한 뒤 ++ 증가 연산
++num : ++ 증가 연산 뒤 num을 사용
배열
이름 a , b, c, - 전화번호, 주소로 설명하는게 좋을듯q
num++ : num을 먼저 사용한 뒤 ++ 증가 연산
++num : ++ 증가 연산 뒤 num을 사용
배열
이름 a , b, c, - 전화번호, 주소로 설명하는게 좋을듯q
배열의 선언
타입 식별자[]; or
타입[] 식별자; 배열을 여러개 선언할때 용이
int arr[]; or int[] arr;
배열의 생성
new 타입[크기];
arr = new int[10];
num = new float[5];
배열의 이용
배열이름[인덱스];
arr[0] = 12;
num[3] = num[1] + num[2];
타입 식별자[]; or
타입[] 식별자; 배열을 여러개 선언할때 용이
int arr[]; or int[] arr;
배열의 생성
new 타입[크기];
arr = new int[10];
num = new float[5];
배열의 이용
배열이름[인덱스];
arr[0] = 12;
num[3] = num[1] + num[2];
2010. 9. 7. 14:17
도브의 프로그래밍/Java
hellojava.java
source code
class HelloJava
{
public static void main(String args[])
source code
class HelloJava
{
public static void main(String args[])
{
System.out.println("Hello, Java");
}
}
저장 후 javac HelloJava.java (컴파일) 후 java HelloJava.java 실행
클래스와 메소드(함수)
class HelloJava
HelloJava 클래스이름
main이라는 메소드(함수)
void - main이라는 함수가 아무것도 값을 반환하지 않는다. 반환값이 없다.
String args[] - 매개변수 - 타입 + 이름[]
클래스 생성 -> 메소드 생성 ->
명령문 작성
System.out.println -> 인쇄 후 커서를 한칸 내려라
print -> 인쇄
("출력할내용");
메소드는 항상 클래스 내부(class body)에서 정의 되어야 한다.
main 메소드는 프로그램의 실행 시작점이 되는 메소드이다.
eclipse는 JAVA, C, SOA 등을 개발할수 있는 툴
이클립스 기본구조
Package Explorer
Navigator
Outline
Console
Problems
javadoc
프로젝트, 패키지, 클래스
프로젝트 : 이클립스에서 작업하는 기본적인 단위,
패키지 : 관련된 자바 클래스들을 하나의 폴더에 묶어 놓은 것
클래스 : 자바 프로그램의 기본이 되는 단위
저장 후 javac HelloJava.java (컴파일) 후 java HelloJava.java 실행
클래스와 메소드(함수)
class HelloJava
HelloJava 클래스이름
main이라는 메소드(함수)
void - main이라는 함수가 아무것도 값을 반환하지 않는다. 반환값이 없다.
String args[] - 매개변수 - 타입 + 이름[]
클래스 생성 -> 메소드 생성 ->
명령문 작성
System.out.println -> 인쇄 후 커서를 한칸 내려라
print -> 인쇄
("출력할내용");
메소드는 항상 클래스 내부(class body)에서 정의 되어야 한다.
main 메소드는 프로그램의 실행 시작점이 되는 메소드이다.
eclipse는 JAVA, C, SOA 등을 개발할수 있는 툴
이클립스 기본구조
Package Explorer
Navigator
Outline
Console
Problems
javadoc
프로젝트, 패키지, 클래스
프로젝트 : 이클립스에서 작업하는 기본적인 단위,
패키지 : 관련된 자바 클래스들을 하나의 폴더에 묶어 놓은 것
클래스 : 자바 프로그램의 기본이 되는 단위
2010. 9. 7. 13:56
도브의 프로그래밍/Java
자바 개발환경의 구축
Java SE 6.x
Eclipse 3.6.x
자바 다운로드사이트
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html
java embedded -> 모바일 등등 PMP
java EE - 회사 차원의 전사적
이클립스 다운로드
http://www.eclipse.org/downloads
2010. 9. 7. 13:51
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
2010. 9. 3. 13:52
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
2010. 8. 31. 20:28
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.