yoni

5회차 본문

java of educational by mind

5회차

yoni-1117 2018. 12. 8. 15:06

//조금있다가 여쭤보기


 --------------------------------------------------------------------------------------------------------------------------------
package oop3;
 
public class Tool {
  /**
   * 수를 전달받아 자료의 단위를 적용합니다.
   * @param size
   * @return 1000 > 1000 Byte
   */
  public String unit(long size){
    String str = "";
    
    if (size < 1024){ // 1 KB 이하
      str = size + " Byte";
    }else if (size < 1024 * 1024){ // 1 MB 이하
      str = (int)(Math.ceil(size/1024.0)) + " KB";
    }else if (size < 1024 * 1024 * 1024){ // 1 GB 이하
      str = (int)(Math.ceil(size/1024.0/1024.0)) + " MB";
    }else if (size < 1024L * 1024 * 1024 * 1024){ // 1 TB 이하
      str = (int)(Math.ceil(size/1024.0/1024.0/1024.0)) + " GB";
    }else if (size < 1024L* 1024 * 1024 * 1024 * 1024){ // 1 PT 이하
      str = (int)(Math.ceil(size/1024.0/1024.0/1024.0/1024.0)) + " TB";
    }else if (size < 1024L* 1024 * 1024 * 1024 * 1024 * 1024){ // 1 EX 이하
      str = (int)(Math.ceil(size/1024.0/1024.0/1024.0/1024.0/1024.0)) + " PT";
    }
    
    return str;
  }
 

 //->
1024L 이렇게 L을 붙이는것은 자바는 기본적으로 자료형을 int로 할당하기 때문에 int가 넘어가는 double에 대해서는
문자열을 하나 추가하는 방법으로 강제 형변환을 시켜버린다.
 --------------------------------------------------------------------------------------------------------------------------------

package oop3;

 

import java.io.File;

 

public class Folder2{

 

  public static void main(String[] args) {

    File swiss = new File("C:/201812_java/swiss");

    File[] files = swiss.listFiles();

    Tool tool = new Tool();

    

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

      File file = files[i];

      System.out.println(file.getName() + "(" + tool.unit(file.length()) + ")");

      }

    }

}

// -> tool 이라는 다른 class 파일에 있는 함수를 접근하기 위에서는 Tool tool = new Tool();이렇게 선언을 해주고 

//구현구현부에 tool. 으로 그안의 메소드를 접근하여 사용하면됨

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


/** doc 주석 이다 사용방법은 /** 후 엔터 치면 파라미터와 리턴을 쓸수있는 doc이 나옴

   * 이 doc문서들은 출력부분에서 설명문이 나옴

   * 문자열을 전달 받아 파일 객체를 만든후 추출

   * @param path

   * @return

   */

  //[과제2] 파일의 확장자를 추출하여 리턴하는 메소드를 제작 할 것.

  public String getExt(String path){


    File file = new File(path);

    int point = file.getName().lastIndexOf(".");

    String ext = file.getName().substring(point + 1); 

    

    return ext;

  }


//-> 파일의 doc 문서를 자동으로 help처럼 사용하는 방법이 궁금했는대 

이런식으로 설명이나오고 파라미터랑 리턴을 help처럼 쓸 수 있음


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

[꼭 알아야할 알고리즘 기본중에기본]

1씩 증가하는 알고리즘

모든 합을 구하는 알고리즘

스왑하는 알고리즘

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

sun사 에서 만든 암호화 알고리즘으로 인해서 

중복되지 않는 알고리즘류의 하나를 해시라고 함

선에서 만들어졌고


ps)여담, 해시레이트가 높아지면 해시 알고리즘의 복잡도가 높아지는


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

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

package oop4;

 

class Winter {

  static String snow; // class 변수, 1회만 메모리 할당을 받고 공유됨.

  String rain;    // instance variable, new  명령어 실행시 계속 새로운 메모리 생성

}

 

public class Wrapper {

 

  public static void main(String[] args) {

    Winter.snow = "함박눈";//사용하는 순간 메모리 할당

    // Winter.rain = "";//class Winter에서 static을 쓰지 않아서 에러가남

    //static은 메모리를 계속 점유

    System.out.println(Winter.snow);

    

    System.out.println("----------------------");

    

    Winter winter = new Winter();    // 객체 생성

    

    // The static field Winter.snow should be accessed in a static way

    System.out.println(winter.snow); // 공유 변수

    System.out.println(winter.rain);   // null

    

    System.out.println("----------------------");

    

    Winter winter2 = new Winter();    // 객체 생성

    System.out.println(Winter.snow); // 공유 변수

    System.out.println(winter2.rain);   // null

    

    System.out.println("----------------------");

    

    Winter.snow = "첫눈";

    Winter winter3 = new Winter();    // 객체 생성

    System.out.println(Winter.snow);   // 공유 변수

    System.out.println(winter3.rain);   // null

    

    System.out.println("----------------------");

    

    // static method

    int price = Integer.parseInt("35000"); // static method

    price = price + 15000;

    System.out.println(price);

    

    String bin = Integer.toBinaryString(2017);

    System.out.println(bin);

    

    Integer itg = new Integer(2017);

    int pre = itg; // JDK 1.5 부터 지원, 객체를 원시 타입에 할당시 값만 자동 추출됨.

    System.out.println(pre);

    

    Integer itg2 = 2019; // 단순 숫자가 객체로 변경됨

    System.out.println(itg2);

    

  }

 

}

 

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

toBinaryString()

이진수로 바꾸는 메소드


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


쿠키를 사용해서

'java of educational by mind' 카테고리의 다른 글

7회차  (0) 2018.12.15
6회차  (0) 2018.12.09
3회차  (0) 2018.12.01
2회차 (if,  (0) 2018.11.25
Comments