C 프로그래머에게는 Java의 입출력부터 고민이 된다. C는 scanf, printf 같은 함수가 있는데, Java에서 이런 함수를 찾기 쉽지 않기 때문이다. 대신 Java는 더 안전한 방법을 이용한다. scanf보다 Scanner라는 객체를 만들어 이 객체에게 원하는 데이터를 요청하는 식이다. 그리고 Java 1.5(코드명 Tiger)부터 printf를 지원한다. 정수를 읽고 그 두 배를 출력하는 간단한 Java 프로그램을 작성하면 다음과 같다.

import java.util.Scanner;
public class DoubleUp {
    static public void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int n = sc.nextInt();
        System.out.printf("2 * %d = %d%n", n, n * 2);
    }
}


정수 대신 문자열을 읽고 싶다면 nextInt() 대신 next()를 이용하면 된다. 
또 한 가지 언급해 둘 것은 줄바꿈 문자를 \n 대신 %n으로 쓴다는 것이다. 사실 \n을 써도 상관없다. 그렇지만 %n을 사용하면 플랫폼마다 줄바꿈 문자가 달라지는 문제를 Java가 알아서 해결해 준다.


출처 : 살아가는 이야기 

http://woogyun.tistory.com/326

Posted by 파란개발자
,

자바의 정석 공부 내용 요약

키워드 중심

1장 자바시작전

2장 변수

3장 연산자

4장 조건문, 반복문 

for문, while문, do while문

switch case문

5장 배열(Array)


6,7장 객체지향 :

오버로딩

다형성

오버라이딩


8장 예외처리(Exception handling)

9장 java.lang패키지

10장 내부클래스

11장 컬렉션 프레임웍(Collection Framework)

Map, Set, Iterator, Property

12장 쓰레드(Thread)

Thread란 하나의 cpu가 여러 작업을 병행하여 수행하므로 전체적인 효율을 높일 수 있도록 하는것(io 처리하는 도중에 시간이 오래 걸리므로 그 사이에 다른 작업을 수행함)

13장 AWT와 애플릿

14장 io

FileInputStream, FileOutputStream

15장 네트워크



Posted by 파란개발자
,

SimpleWebServer

Java-Spring/Java 2015. 4. 23. 11:13

package ch15;


import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;


public class SimpleWebServer {    // 같은 폴더내에 NewFile.html파일이 존재해야 작동함.

 // http://211.238.142.62:8800/NewFile.html

public static void main(String[] args) {

try {

ServerSocket ss = new ServerSocket(8800);

while (true) {

System.out.println("접속대기");

Socket sock = ss.accept();

System.out.println("새 쓰레드를 시작합니다");

HttpThread ht = new HttpThread(sock);

ht.start();

}

} catch (Exception ex) {

System.out.println(ex);

}


}


}


class HttpThread extends Thread {

private Socket sock = null;

BufferedReader br = null;

PrintWriter pw = null;


public HttpThread(Socket sock) {

this.sock = sock;


try {

br = new BufferedReader(

new InputStreamReader(sock.getInputStream()));

pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));

} catch (Exception ex) {

System.out.println(ex);

}

}


public void run() {

BufferedReader fbr = null;

try {

String line = br.readLine();

System.out.println("line : " + line);

int start = line.indexOf("/") + 1;

int end = line.lastIndexOf("HTTP") - 1;

String filename = line.substring(start, end);

System.out.println(filename);

if(filename.equals(""))

filename = "index.html";

System.out.println("사용자가 " + filename + "을 요청했습니다.");

fbr = new BufferedReader(new FileReader(filename));

String fline = null;

while ((fline = fbr.readLine()) != null) {

pw.println(fline);

pw.flush();

}

}

catch (Exception ex) {

System.out.println(ex);

}

finally {

try {

if(br != null)

br.close();

}

catch (Exception ex) {

}

try {

if(pw != null)

pw.close();

}

catch (Exception ex) {

}

}

}

}



Posted by 파란개발자
,

자바의 정석 공부 내용 요약

키워드 중심


4장 연산자

5장 반복문, 조건문

for문, while문, do while문

switch case문


6,7장 객체지향 :

오버로딩

다형성

오버라이딩


12장 Collection Framework

Map, Set, Iterator, Property


13장 Thread

Thread란 하나의 cpu가 여러 작업을 병행하여 수행하므로 전체적인 효율을 높일 수 있도록 하는것(io 처리하는 도중에 시간이 오래 걸리므로 그 사이에 다른 작업을 수행함)


14장 io

FileInputStream, FileOutputStream

15장 네트워크


Posted by 파란개발자
,

parseInt() : 문자열을 정수형(int)으로 변환

substring() : 한 문자열에서 내용의 일부를 추출하는데 쓰임

indexOf() : 특정 문자를 특정 위치부터 찾음


Posted by 파란개발자
,

정의


overloading(오버로딩) :  기존의 메서드와 이름이 같고 매개변수의 타입이나 개수가 다른 메서드를 만드는것.


overriding(오버라이딩) : 조상클래스로부터 상속받은 메서드의 내용을 자식클래스에서 사용하기에 맞게 변경하는것.

-부모클래스가 갖고있는 메서드를 상속받아 body(구현부)를 자식클래스에서 사용하고자 하는데로 변경하여 사용하는것으로 다형성을 추구하기 위해 사용된다.


장점


overloading의 장점 : 같은 기능을 하는 메서드의 이름을 하나로 정의함으로서 개발자가 기억하기 쉽다. 메서드의 이름을 절약할 수 있다.


overriding의 장점 : 같은이름으로 body(구현부)를 변경하여 내용을 수정하여 사용함을 통해 프로그램의 리소스를 줄여준다.

'Java-Spring > Java' 카테고리의 다른 글

SimpleWebServer  (0) 2015.04.23
java 전체 정리(자바의 정석 공부 내용 요약)  (0) 2015.04.22
java.lang패키지의 유용한 메서드  (0) 2015.04.10
자주쓰는 eclipse 단축키  (0) 2015.04.02
Java의 구성 4가지 및 기타  (0) 2015.03.24
Posted by 파란개발자
,

1. Ctrl + space : 자동완성기능

2. Ctrl + shift + /   : /* */ 모양으로 주석달기 


3. Ctrl + /  : // 모양으로 주석달기(한줄씩 각줄 주석), 해제

Ctrl + shift + /  : /* */ 모양으로 주석달기(여러줄 주석)

Ctrl + shift + \  : /* */ 모양으로 주석달기(여러줄 주석) 해제

4. Ctrl + shift + O : import 하기

5. Ctrl + shift + f : 정렬하기

6. 클래스 이름 클릭 후 Ctrl + shift + T : 같은 이름의 클래스 찾기

7. Ctrl + 클릭 : 정의된 부분으로 이동 

   alt + left : 원래 있던곳으로 이동

8. 변수명클릭해서 선택후 Alt + shift + R : 변수명 일괄 변경

9. 코드긁어서 선택후 Alt + 상/하 화살표 : 선택한 코드 위 아래로 이동

10. shift + Home / End : 현재 커서 위치에서 앞 / 뒤 코드 선택

(Home 누른 후 , shift+Home 하면 현재 줄 코드 선택이 됨)


마우스를 통한 자동입력

toString 입력하기 : 우클릭 -> source -> Generate toString()

Getter 와 Setter 입력하기 : 우클릭 -> source -> Generate Getters and Setters

생성자 입력하기 : 우클릭 -> Constructor Using Fields

interface implement시 method overiding -> 클래스 명에 마우스 갖다대기 -> Add umimlemented methods


Posted by 파란개발자
,

Java의 구성 4가지

1. 클래스

2. 변수

3. 메소드

4. 생성자


-변수의 종류 2가지

1.기본형 - 8가지 : int, byte, short, long, float, double, char, boolean

2.참조형


-메소드의 구성 4가지

1.접근제어자 : public, private 등..

2.메소드명

3.리턴타입

4.매개변수(parameter)

Posted by 파란개발자
,