자바 시작하기

C/Java : 2007. 11. 5. 11:15
 

# 자바는 어떤 식으로 돌아갈까.


1. 소스 - 자바언어로 코드를 작성합니다.

2. 컴파일러 - 컴파일러로 오류를 확인하고 제대로 돌아가면 최종결과를 만들어줍니다.

3. 결과물(코드) - 바이트코드라는 코딩된 문서를 만들어줍니다.

                             비교적 컴퓨터가 알아들을수 있도록 번역된 것입니다.

4. 가상머신 - 가상 머신에서 바이트코드를 실행시킵니다. 결과물이 제대로 나왔는지 확인합니다.


# 실제 자바로 할수 있는 일


1. 소스 코드를 입력 - [.java]라는 확장자로 저장됩니다.

2. 컴파일러 - 타이핑한 소스를 컴파일합니다. 오류가 없으면 [.class]라는 확장자 파일이 만들어집니다.

3. 결과물(코드) - [.class]확장자의 파일

4. 가상머신 - 실제 이해 가능한 형태가 되어 실행시켜줍니다.


# 자바 코드의 구조 (소스파일>클래스>메소드>선언문)


1. 클래스 - 하나의 프로그램에는 하나이상의 클래스가 들어갑니다.

2. 메소드 - 일반적인 함수나 프로시저 비슷~~~ 자바에서는 메소드라고 합니다.  (클래스에는 하나이상의 메소드가 있다.)

3. 선언문 - 메소드안에서 처리할 일을 지시하는 내용.


# 문법


1. 모든 선언문은 세미콜론(;)으로 끝난다.

2. 주석문 쌍슬래쉬(//)로 시작한다.

3. 대부분의 공백은 큰 의미가 없다.

4. 변수선언은 다른 언어와 다르지 않다.

5. 클래스나 메소드를 정의하는 부분은 중괄호안에 들어간다.

6. 대입연산자는 등호 한개(=)로 구성.

7. 동치 연산자는 등호 두개(==)로 구성.

8. 반복문에 관하여  아직은 C언어와 충돌하는 곳은 없어보인다.


# print / println 의 차이.


println에는 줄바꿈 문자를 포함한다.


# 소스를 쳐보자.


//p.46

public class Loopy {
 public static void main(String[] args) {
  int x=1;
  System.out.println("순환문이전");
  while(x<4) {
   System.out.println("순환문내부");
   System.out.println("x의 값은 '+x+'입니다.");
 
   x++;
   
  }
  System.out.println("여기는 순환문 이후입니다.");
 }
}



//p.47_1

class IfTest {
 public static void main(String[] args) {
  int x=3;
  if(x==3) {
   System.out.println("x는 3이군요.");
  }
  System.out.println("이부분은 무조건 실행됩니다.");
 }
}



//p.47_2

class IfTest2 {
 public static void main(String[] args) {
  int x = 2;
  if(x==3) {
   System.out.println("x는 3이군요.");
  }
  else {
   System.out.println("x는 3이 아니군요.");
  }
  System.out.println("이부분은 무조건 실행됩니다.");
 }
}



//p.47

public class DooBee {
 public static void main(String[] args) {
  int x = 1;
  while (x<3) {
   System.out.print("Doo");
   System.out.print("Bee");
   x++;
  }
  if(x==3) {
   System.out.print("Do");
  }
 }
}



//p.48 (개선해보자)

public class BeerSong {
 public static void main(String[] args) {
  int beerNum = 99;
  String word = "bottles";
 
  while (beerNum > 0) {
   if(beerNum == 1) {
    word = "bottle";
   }
   
   System.out.println(beerNum + " " + word + " of beer on the wall");
   System.out.println(beerNum + " " + word + " of beer.");
   System.out.println("Take one down.");
   System.out.println("Pass it around.");
   
   beerNum--;
   
   if(beerNum > 0) {
    System.out.println(beerNum + " " + word + " of beer on the wall");
   }
   else {
    System.out.println("No more borrles of beer the wall");
   }
  }
 }
}



//p.50

public class PhraseOMatic {
 public static void main(String[] args) {
  String[] wordListOne = {"24/7","multi-Tier","30,000 foot","B-to-B", "win-win",
    "front-end","web-based","pervasive","smart","six-sigma","critical-path",
    "dynamic"};
 
  String[] wordListTwo = {"empowered","sticky","valued-added","oriented","centric","distributed",
    "clustered","branded","outside-the-box","positioned","networded","focused","leveraged",
    "aligned","targeted","shared","cooperative","accelerated"};
 
  String[] wordListThree = {"process","tipping-point","solution","architecture","core competency",
    "strategy","mindshare","portal","space","vision","paradigm","mission"};
 
  int oneLength = wordListOne.length;
  int twoLength = wordListTwo.length;
  int threeLength = wordListThree.length;
 
  int rand1 = (int) (Math.random() * oneLength);
  int rand2 = (int) (Math.random() * twoLength);
  int rand3 = (int) (Math.random() * threeLength);
 
  String phrase=wordListOne[rand1] + " " + wordListTwo[rand2] + " " + wordListThree[rand3];
 
  System.out.println("What we need is a " + phrase);
 }
}



//p.54

class Shuffle1 {
 public static void main(String[] args) {
  int x = 3;
 
  while (x>0) {
   if(x>2) {
    System.out.print("a");
   }

   x--;
   
   System.out.print("-");
   
   if(x==2) {
    System.out.print("b c");
   }
   
   if(x==1) {
    System.out.print("d");
    x--;
   }
  }
 }
}

Posted by 청웨일