1 / 19

Linux 용 JAVA 설치

Linux 용 JAVA 설치. http://java.sun.com/javase/downloads/index.jsp 에서 JDK 6u1 의 Download 를 선택하여 해당 플랫폼의 JDK 6u1 를 다운받는다 Linux 용 RPM 버전 sh jdk-6u1-linux-i586-rpm.bin rpm –Uvh jdk-6u1-linux-i586-rpm PATH 에 JAVA 경로를 추가해준다 vi .bash_profile PATH 설정부분에 /usr/java/jdk1.6.0_01/bin 을 추가

sharla
Download Presentation

Linux 용 JAVA 설치

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux용 JAVA 설치 http://java.sun.com/javase/downloads/index.jsp 에서 JDK 6u1 의 Download 를 선택하여 해당 플랫폼의 JDK 6u1 를 다운받는다 Linux용 RPM버전 sh jdk-6u1-linux-i586-rpm.bin rpm –Uvh jdk-6u1-linux-i586-rpm PATH에 JAVA 경로를 추가해준다 vi .bash_profile PATH 설정부분에 /usr/java/jdk1.6.0_01/bin을 추가 . .bash_profile (환경설정 적용) 만약 javac가 실행이 되지 않는다면 터미널 환경설정에서 로그인 쉘사용을 체크해준다 http://www.javasoft.com참조 http://docs.oracle.com/javase/7/docs/api/index.html참조 운영체제

  2. Java 기초 • Java program: main() 메소드 가지는 class를 포함하는 하나 이상의 class들의 모임 • public static void main(String args[]) • 간단한 프로그램 • 파일 First.java (main 메소드 가지는 class 이름과 같아야 함) /* The first simple program */ public class First { public static void main(String args[]) { //output a message to the screen System.out.println(“Java Primer Now Brewing”); } } • 컴파일: $ javac First.java • First.class 파일 생성 • 실행: $ java First 운영체제

  3. Java 기초 • 메소드(Methods) public class Second { public static void printIt(String message) { System.out.println(message); } public static void main(String args[]) { printIt(“Java Primer Now Brewing”); } } • 연산자(Operators) • 산술 연산자: + - * / ++(autoincrement) --(autodecrement) • 관계 연산자: ==(equality) !=(inequality) &&(and) ||(or) • 문자열 연산자: +(concatenate) • 문장(Statements): C 언어와 유사 • for 문 • while 문 • if 문 • 데이터 형 • primitive data types: boolean, char, byte, short, int, long, float, double • reference data types: objects, arrays 운영체제

  4. Java 기초 • 클래스와 객체(Classes and Objects) class Point { // constructor to initialize the object public Point(int i, int j) { xCoord = i; yCoord = j; } public Point() { xCoord = 0; yCoord = 0; } // exchange the values of xCoord and yCoord public void swap() { int temp; temp = xCoord; xCoord = yCoord; yCoord = temp; } public void printIt() { System.out.println(“X coordinate = “ + xCoord); System.out.println(“Y coordinate = “ + yCoord); } // class data private int xCoord; //X coordinate private int yCoord; //Y coordinate } 운영체제

  5. Java 기초 • 클래스 Point 타입의 객체 ptA 생성 • constructor Point • 클래스 이름과 동일해야 함 • no return value • (예) Point ptA = new Point(0, 15); • method overloading: 한 클래스 안에 이름이 같은 두개의 메소드 공존(단, 파라미터 리스트의 데이터 타입은 달라야 함) • (예) Point ptA = new Point(); • static method와 instance method • static:객체와 연결 없이 단지 메소드 이름만으로 호출 • class Second의 printIt(); • instance: 반드시 객체의 특정 instance와 연결하여 호출 • ptA.swap(); • ptA.printIt(); • public과 private • public: class 외부에서 접근 가능 • constant는 키워드 static final로 정의 • public static final double PI = 3.14159; • private: class 내부에서만 접근 가능 • By reference • instance 생성마다 reference(포인터 개념) 설정됨 • 메소드의 모든 파라미터들은 reference로 전달됨 • 키워드this: 자기 자신을 참조 하는 객체(self-referential object) 제공 운영체제

  6. Java 기초 • Object parameters are passed by reference • public static void change(Point tmp) { • tmp.swap(); • } • … • Point ptD = new Point(0,1); • change(ptD); • ptD.printIt(); • … • Objects as references public class Third { public static void main(String args[]) { //create 2 points and initialize them Point ptA = new Point(5, 10); Point ptB = new Point(-15, -25); // output their values ptA.printIt(); ptB.printIt(); // now exchange values for first point ptA.swap(); ptA.printIt(); //ptC is a reference to ptB; Point ptC = ptB; //exchange the values for ptC ptC.swap(); //output the values ptB.printIt(); ptC.printIt(); } } 운영체제

  7. Java 기초 • 배열(Arrays) • 10 바이트 배열 byte[] numbers = new byte[10]; • 배열의 초기화 int[] primeNums = {3,4,7,11,13}; • 객체배열 생성: new문으로 배열 할당한 후 각 객체를 다시 new로 할당 • 5 references 생성 Point[] pts = new Point[5]; • 각 reference에 해당 객체를 배정 for (int i = 0; I < 5; I++) { pts[i] = new Point(i,i); pts[i].printIt(); } • Java의 default initialization • primitive numeric data: zero • arrays of objects: null 운영체제

  8. Java 기초 • 패키지(Packages): 관련 있는 class들의 모임 • core Java application programming interface(API) • http://www.javasoft.com참조 • http://docs.oracle.com/javase/7/docs/api/index.html참조 • core java package 이름: java.<package name>.<class name> • 표준 패키지 java.lang • java.lang.String, java.lang.Thread 포함 • class 이름만으로 참조 가능 • 다른 패키지들은 full name으로 참조 java.util.Vector items = new java.util.Vector(); • 또는 import java.util.Vector; Vector items = new Vector(); • 또는 import java.util.*; 운영체제

  9. 예외 처리(Exception Handling) public class TestExcept { public static void main(String args[]){ int num,recip; //generate a random number 0 or 1 //random() returns a double,type-cast to int num=(int)(Math.random()*2); try{ recip=1/num; System.out.println(“The reciprocal is ” +recip); } catch(ArithmeticException e){ //output the exception message System.out.println(e); } finally{ System.out.println(“The number was ”+num); } } } • Public final void wait() throws InterruptedException; • wait() 메소드 호출이 InterruptedException을 초래할 수 있음 • try-catch 블록으로 예외 처리 try { //call some method(s) that //may result in an exception. } catch(theException e){ //now handle the exception } finally{ //perform this whether the //exception occurred or not. } 운영체제

  10. Inheritance public class Student extends Person { public Student(String n,int a,String s, String m,double g){ //call the constructor in the //parent (Person) class super(n,a,s); major=m; GPA=g; } public void studentInfo(){ //call this method in the parent class printPerson(); System.out.println(“Major: “+major); System.out.println(“GPA: “+GPA); } public static void main(String args[]) { Student stu = new Student("ABC", 20, "123456-1234567", "CSE", 100); stu.studentInfo(); } private String major; private double GPA; } • 객체지향 언어의 특징인 이미 존재하는 class를 확장하여 사용하는 기능 • derived-class extends base-class public class Person { public Person(String n,int a,String s){ name=n; age=a; ssn=s; } public void printPerson(){ System.out.println(“Name: “ + name); System.out.println(“Age: “+age); System.out.println(“Social Security: “+ssn); } private String name; private int age; private String ssn; } 운영체제

  11. Class Object (java.lang.Object ) • 모든 class는 Object에서 유도되었음 • Public class Object • Constructor : public Object() • Method Summary • protected Object clone() : Creates and returns a copy of this object. • boolean equals(Objectobj) :Indicates whether some other object is "equal to" this one. • protected void finalize() : Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. • Class getClass() : Returns the runtime class of an object. • int hashCode() : Returns a hash code value for the object. • void notify() : Wakes up a single thread that is waiting on this object's monitor. • void notifyAll() : Wakes up all threads that are waiting on this object's monitor. • String toString() : Returns a string representation of the object. • void wait() : Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object. • void wait(longtimeout) : Causes current thread to wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amount of time has elapsed. • void wait(longtimeout, intnanos) : Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed. 운영체제

  12. Interfaces • Interface : class 정의와 유사 • method들의 구현 내용 없고 method들과 그 파라미터 리스트만 포함 • Polymorphism: 하나 이상의 형태를 가질 수 있는 능력 • Polymorphic reference public interface Shape { public double area(); public double circumference(); public static final double PI=3.14159; } public class Circle implements Shape { //initialize the radius of the circle public Circle(double r){ radius=r; } //calculate the area of a circle public double area(){ return PI*radius*radius; } //calculate the circumference of a circle public double circumference(){ return 2*PI*radius; } private double radius; } 운영체제

  13. Interfaces public class Rectangle implements Shape { public Rectangle(double h,double w){ height=h; width=w; } //calculate the area of a rectangle public double area(){return height*width;} //calculate the circumference of a rectangle public double circumference() { return 2*(height + width); } private double height; private double width; } public class TestShapes { public static void display(Shape figure){ System.out.println(“The area is “ + figure.area()); System.out.println(“The circumference is “+ figure.circumference()); } public static void main(String args[]){ Shape figOne=new Circle(3.5); display(figOne); figOne=new Rectangle(3,4); display(figOne); } } 운영체제

  14. Abstract Classes • Shape Interface의 method들은 모두 추상적임(abstract) (정의되어 있지 않음) • 키워드 abstract : optional, implied • Abstract class: 추상 메소드(abstract method)와 보통의 정의된 메소드(defined method) 포함 • Interface와 abstract class에서는 instance 만들 수 없음 public abstract class Employee { public Employee(String n,String t,double s){ name=n; title=t; salary=s; } public void printInfo(){ System.out.println(“Name: “+name); System.out.println(“Title: “+title); System.out.println(“Salary : $ “ +salary); } public abstract void computeRaise(); private String name; private String title; protected double salary; } • public : 정의된 class 밖에서도 유효 • private : 정의된 class 안에서만 유효 • protected : 정의된 class와 유도된(derived) sub class에서만 유효 운영체제

  15. Abstract Classes • A developer • public class Developer extends Employee • { • public Developer(String n, String t, double s, int np){ • super(n,t,s); • numOfPrograms=np; • } • public void computeRaise(){ • salary+=salary * .05 +numOfPrograms*25; • } • private int numofPrograms; • } • A manager public class Manager extends Employee { public Manager(String n, String t, double s) { super(n,t,s); } Public void computeRaise(){ salary+=salary * .05+BONUS; } private static final double BONUS=2500; } 운영체제

  16. Abstract Classes • Manager class와 Developer class의 사용 public class TestEmployee { public static void main(String arg[]) { Employee[] worker = new Employee[3]; worker[0] = new Manager(“Pat”,”Supervisor”,30000); worker[1] = new Developer(“Tom”,”Java Tech”,28000,20); worker[2] = new Developer(“Jay”,”Java Intern”,26000,8); for(int i = 0; i < 3; i++){ worker[i].computeRaise(); worker[i].printInfo(); } } 운영체제

  17. Applet • standalone application : 지금까지 본 자바 프로그램들 • applet : web page에 삽입되어 실행되는 자바 프로그램 • No main() • Constructor: init() • AppletViewer FirstApplet.html 로 실행 • FirstApplet.java 파일 import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void init(){ //initialization code goes here } public void paint(Graphics g){ g.drawString(“Java Primer Now Brewing!”,15,15); } } • FirstApplet.html 파일 • <applet • Code = FirstApplet.class • Width = 400 • Height = 200> • </applet> 운영체제

  18. 리눅스에서 Applet 실행준비 과정 • 자바 plugin 설치하기 • 모질라의 플러그인 디렉토리로 이동하여 심볼릭 링크를 만들여주면 자바 엣플릿을 실행할수 있다. • 플러그인 디렉토리로 이동 # cd /usr/lib/mozilla/plugins/ • 심볼릭 링크를 만든다. • 설치 버전에 따라 jre 버전 디렉토리가 생기므로 각 버전에 맞는 디렉토리를 확인후 링크한다. # ln -s /usr/java/jdk1.6.0_01/jre/plugin/i386/ns7/libjavaplugin_oji.so • PATH에 JAVA경로 추가 # vi .bash_profile PATH 설정 부분에 /usr/java/jdk1.6.0_01/jre/bin을 추가 운영체제

  19. Java Primer 실습 과제 (택 1) • java.lang.ArrayIndexOutOfBoundsException 을 테스트 하는 TestArrayException.java 프로그램 작성 int [] num = {5, 10, 15, 20, 25}; for (int I = 0; I < 6; i++) System.out.println(num[i]); • Vector 인스턴스 생성 후 아래 내용을 담고 있는 객체 3개 삽입하고 각각의 내용을 출력하는 TestVector.java 프로그램 작성 String first=“The first element”; String second=“The second element”; String third=“The third element”; • 실습 결과는 Unix 서버 117.16.244.157과 117.16.244.59의 숙제방에 복사해 주세요. 운영체제

More Related