본문 바로가기

자바

[자바기초요약2]while , do~while, continue, break, 배열

# while문

 while(조건식){

 

  실행문;

  실행문;

  ...

 }

[ex]

class A{

 public static void main(String args[]){

  int i=0;

  while(i<3){ // 0<3  1<3 2<3  3<3(false)

   System.out.println(i);

   i++;

  }

 }

}



# do~while문 ( while조건문까지만 do해라? )

 do{

  

  실행문;

  실행문;

  ...

 }while(조건식);


[ex]

class A{

 public static void main(String args[]){

  int i=0;

  while(i<-1){

   System.out.println("aa");

  }

 }

}

class B{

 public static void main(String args[]){

  int i=0;

  do{

   System.out.println("aa");

  }while(i<-1);

 }

}



# break문, continue문 : 반복문내에서만 사용가능

[ex]

class A{

 public static void main(String args[]){

  int i=1;

  while(i<101){

   if(i==7){ break; }

   System.out.println(i);

   i++;

  }

 }

}



[ex]

class A{

 public static void main(String args[]){

  for(int i=1;i<11; i++){

   if(i==7){ continue; }

   System.out.println(i);

  }

 }

}


 

[ex]

class A{

 public static void main(String args[]){

  int i=1;

  while(i<11){

   if(i==7){ i++; continue; }

   System.out.println(i);

   i++;

  }

 }

}

# 배열선언하기

 자료형[] 변수명=new 자료형[방갯수];

 변수명[0]=값;

 변수명[0]=값;

 ...

 int double char String boolean

 

[ex]

class A{

 public static void main(String args[]){

  int[] d=new int[3];

  d[0]=10;

  d[1]=20;

  d[2]=30;


  System.out.println(d[2]);

 }

}


 

# 자바의 자료형

1. 기본형(boolean char int double)

2. 참조형(클래스형,배열형,인터페이스형)

[ex] 기본형의 변수에는 값이 참조형의 변수에는 주소가 들어있다.

 이것이 기본형과 참조형의 차이다.

class A{

 public static void main(String args[]){

  int[] a=new int[2];

  a[0]=10;

  a[1]=20;

  int b=30;

  System.out.println(a); // [I@주소

  System.out.println(b); // 30

 }

}



[ex] 변수a,b는 같은 주소값을 가지고 있습니다.

 변수c는 주소값이 다릅니다.

class A{

 public static void main(String args[]){

  int[] a=new int[2];

  a[0]=10;

  a[1]=20;

  int[] b=a;

  int[] c=new int[2];

  c[0]=30;

  c[1]=40;

  System.out.println(a);

  System.out.println(b);

 }

}


 


[ex]

class A{

 public static void main(String args[]){

  int[] a=new int[2];

  a[0]=10;

  a[1]=20;

  b=a;

  c=a[0];

 }

}



[ex] 총점을 구하시오.

class A{

 public static void main(String args[]){

  int[] jumsu=new int[3];

  jumsu[0]=99;

  jumsu[1]=78;

  jumsu[2]=85;

  //here

 }

}


[an]

class A{

 public static void main(String args[]){

  int[] jumsu=new int[3];

  jumsu[0]=99;

  jumsu[1]=78;

  jumsu[2]=85;

  int sum=0;

  for(int i=0; i<jumsu.length; i++)

   sum=sum+jumsu[i];


  System.out.println(sum);


 }

}



# 배열의 길이

 int 변수=배열.length;

[ex]

class A{

 public static void main(String args[]){

  int[] a=new int[3];

  int[] b=new int[5];

  System.out.println(a.length);

  int len=b.length;

  System.out.println(len);

 }

}


 

# 배열의 두번째 선언구조

 자료형[] 배열=new 자료형[방갯수];

 자료형[] 배열={값,값, ...};


[ex] 배열a,b의 길이를 구하시오.

class A{

 public static void main(String args[]){

  int[] a=new int[3];

  a[0]=10; a[1]=20; a[2]=30;

  int[] b={40,50,60,70,80,90,100};

  //here

 }

}


[an]

class A{

 public static void main(String args[]){

  int[] a=new int[3];

  a[0]=10; a[1]=20; a[2]=30;

  int[] b={40,50,60,70,80,90,100};

  System.out.println(a.length);

  System.out.println(b.length);

 }

}


 

# 2차원배열 : 1차원배열을 요소로 가지고 있는배열


[ex] 아래 두 소스코드는 같은 소스코드입니다.

 int[][] a=new int[3][];


 a[0]=new int[2];

 a[1]=new int[3];

 a[2]=new int[5];


 a[0][0]=10;

 a[0][1]=20;


 a[1][0]=30;

 a[1][1]=40;

 a[1][2]=50;


 a[2][0]=50;

 a[2][1]=60;

 a[2][2]=70;

 a[2][3]=80;

 a[2][4]=90;


 -----------------------------------------------------


int[][] a={ {10,20},{30,40,50},{50,60,70,80,90}  };

 


[ex] 변수d,e,f의 자료형을 선언하시오.

class A{

 public static void main(String args[]){

  int[] a={10,20};

  int[] b={30,40,50};

  int[][] c={ a,b,{60,70,80} };

  d=c;

  e=c[0];

  f=c[0][0];

 }

}


[an]

  int[][] d=c;

  int[] e=c[0];

  int f=c[0][0];



[ex]

class A{

 public static void main(String args[]){

  int[][] a={{1,2},{3,4,5}};

  int[][] b={{6,7,8},{9,10,11,12}};

  ? c={a,b};

  System.out.println(//here); // 11

 }

}


[an]

class A{

 public static void main(String args[]){

  int[][] a={{1,2},{3,4,5}};

  int[][] b={{6,7,8},{9,10,11,12}};

  int[][][] c={a,b};

  System.out.println(c[1][1][2]); // 11

 }

}


 


# 배열과 반복문

[ex]

class A{

 public static void main(String args[]){

  int[][] a={{1,2},{3,4,5},{6,7,8,9}};

  for(int i=0; i<2; i++)

   System.out.println(a[0][i]);

 }

}


 

[ex]

class A{

 public static void main(String args[]){

  int[][] a={{1,2},{3,4,5},{6,7,8,9}};

  for(int j=0; j<3; j++){


   int len=a[j].length;

   for(int i=0; i<len; i++){

    System.out.println(a[j][i]);

   }

  }

 }

}


 


[ex] break로 원하는 반복문지점 탈출 

class A{

 public static void main(String args[]){

  f1:for(int i=0; i<3; i++){

        for(int j=0; j<5; j++){

              if(j==2) break f1;

                   System.out.println(i+","+j);

        }

  }

 }

}



[ex] 변수의 초기화 : 변수에 최초의 값을 할당하는 작업

class A{

 public static void main(String args[]){

  int a;

  System.out.println(a); // 컴파일에러

 }

}