'Java'에 해당되는 글 14건

  1. 2015.10.11 Java - 논리 연산자
  2. 2015.10.11 Java - 조건문
  3. 2015.10.10 Java - 비교와 Boolean
  4. 2015.10.10 Java - 연산자
  5. 2015.10.10 Java - 형변환
  6. 2015.10.10 Java - 상수의 데이터 타입
  7. 2015.10.10 Java - 데이터 타입
  8. 2015.10.10 Java - 주석과 세미콜론
  9. 2015.10.10 Java - 변수
  10. 2015.10.10 Java - 숫자와 문자

Java - 논리 연산자

Java 2015. 10. 11. 00:00

[논리 연산자]

{JAVA - 논리연산자 (1/3) : and}

비교, 불린, 논리연산자는 조건문을 보조하는 것.


&:엔퍼쎈드

B and B (B && B)

좌우항이 모두 참이어야 참.


if (true && true) {

System.out.println(1);

}


if (ture && false) {

System.out.println(2);

}


if (false && true) {

System.out.println(3);

}


if (false && false) {

System.out.println(4);

}




{JAVA - 논리연산자 (2/3) : or}

|:하이프

B or B (B || B)

좌우항 중 하나라도 참이면 참.




{JAVA - 논리연산자 (3/3) : not}

! (느낌표를 "not"이라고 읽음.)

Boolean의 값을 역전시키는 역할

앞에다 씀.


!true -> false

!false -> true


하다보면 not을 쓰는게 편할 때가 있고, 안편할 때가 있다. 자연스럽게 편한 걸로 쓰면 됨.


※조건문이랑 관련된 4가지

비교. 불린. 조건문. 논리연산자.

요것들이 유기적으로 연결되서 조건문이란 걸 만드는 것이고,

조건문을 통해서 컴퓨터 또는 시스템을 똑똑하게 하는 것.

따라서 프로그래밍에서 조건문은 상당히 중요함.


*프로그래밍에서 가장 중요하다고 하는 쌍두마차 : 조건문과 반복문

'Java' 카테고리의 다른 글

Java - 조건문  (0) 2015.10.11
Java - 비교와 Boolean  (0) 2015.10.10
Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Posted by 캬웃
,

Java - 조건문

Java 2015. 10. 11. 00:00

[조건문] ..'조건문'이라는 문법

{Java - 조건문 (1/4) : if}

비교 연산의 결과로 참(true)이나 거짓(false)을 얻을 수 있다.

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

불린(Boolean)


조건문 : 컴퓨터의 동작을(컴퓨터가 동작하는 방법을) 조건에 따라서 분기해주는 역할


if(조건절(true or false만 가능)){ // if절

이 사이 중괄호 부분을 then절이라고 함.

}



{Java - 조건문 (2/4) : else}

if( true false ){


} else {


}



if( true false ){


} else if( true false ){


} else {


}


* 내려가면서 true가 한 번이라도 발견되면 그 부분만 실행되고,(그 뒤엔 true든 false든 실행이 되지 않고)

if문은 종료된다.



{Java - 조건문 (3/4) : 조건문의 응용}

String id = args[0];

if(id.equals("egoing")){

System.out.println("right");

} else {

System.out.println("wrong");

}



{Java - 조건문 (4/4) : 조건문의 중첩}

java 패키지 이름(org.opentutorials.javatutorials.... egoing 11111


LoginDemo2 egoing 11111

  ------ -----

  args[0] args[1]


String id  args[0];

String pssword = args[1]

if (id.equals("egoing")) {

if(password.equals("111111")){

System.out.println("right");

} else {

System.out.println("wrong");

}


} else {

System.out.println("wrong");

}


if문 안에는 또 다른 if문이 들어가서 더 복잡하게 조건을 만들어낼 수 있다.



우리가


if(){


}else{


}


를 쓴 이유는

★하나의 문법적인 구성 안에 하나의 어떤 연관성이 있는 로직들은

하나의 문법적인 틀 안에서 응집성을 갖도록 하기 위해서

어떻게 보면 else라고 하는 것이 도입된 것이다


마찬가지로, 여기 있는 if가 두 번 등장하는 것이 아니라

하나의 if만으로 요러한 조건들을 응집해서 서로 연관되어 있는 로직들은 하나의 덩어리로

우리가 응집시킬 수 있는 그런 장치, 그런 수단들이 존재하는데,

그게 바로 우리가 다음 시간에 배울 "논리 연산자"라는 것.




{Java - 조건문 5 : switch} : switch에는 case라는 구문이 있고, 비교해야 할 조건이 많으면 보기엔 if문보다 편함.

switch문으로 쓴 것은 if문으로 완벽히 대체 가능. if문이 훨씬 더 많이 쓰임.

(switch문과 if문은 서로 대체 가능한 관계에 있다.)


switch문은 switch로 시작.

그 다음 괄호 안엔 어떠한 값이 들어감.



switch(1){

case 1:


case 2:


case 3:

}


위가 기본 형태인데,

괄호 안에 case 다음에 나오는 값이 들어가면, 그 때의 switch조건이 실행되고,

그 뒤의 switch가 순차적으로 다 실행됨.

해당되는 조건의 것만 수행하려면, 아래와 같이 break;를 붙여줘야 된다.

그러면 중괄호를 빠져나와 다음의 것들로 진행된다.


switch(1){

case 1:

break;

case 2:

break;

case 3:

break;

}



default문 : switch괄호 안의 값이 어떤 case에도 해당하지 않을 경우 default부분을 실행한다.


switch(1){

case 1:

break;

case 2:

break;

case 3:

break;

default:

System.out.println("default");

}

'Java' 카테고리의 다른 글

Java - 논리 연산자  (0) 2015.10.11
Java - 비교와 Boolean  (0) 2015.10.10
Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Posted by 캬웃
,

Java - 비교와 Boolean

Java 2015. 10. 10. 23:57

[비교와 Boolean]

{Java - 비교와 Boolean}

불린(Boolean)은 새로운 데이터 타입이다. (데이터 타입엔 숫자와 문자가 있었다.)

숫자와 문자와는 다르게 불린은

단 두 개의 값만을 갖는 데이터 타입니다. 참(true)과 거짓(false)

연산자라고 하는 것은 컴퓨터에게 어떠한 작업을 지시할 때 사용하는 일종의 명령이라고 볼 수 있다고 말했었다.


비교 연산자 : 좌항과 우항을 비교한 결과를 true나 false로 보여줌.


== 동등 비교 연산자. 숫자에도 문자에도 사용 가능.

(= 대입 연산자)


(! not)

!= 같지 않다.


부등호 > < >= <=


문자열을 비교할 때는 주의해야 함.

문자열을 비교할 때는 ==을 사용안하고

.equals라는 문법을 사용.(문자열을 비교할 때 사용하는 메소드다.)


String a = "Hello world";

String b = new String("Hello world");

System.out.println(a == b); // false  데이터 비교는 보이는 곳에서 끝나는 게 아니다.

System.out.println(a.equals(b)); // true

'Java' 카테고리의 다른 글

Java - 논리 연산자  (0) 2015.10.11
Java - 조건문  (0) 2015.10.11
Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Posted by 캬웃
,

Java - 연산자

Java 2015. 10. 10. 23:57

[연산자]

{Java - 연산자 (1/4)} - 연산자(operator)란 특정한 작업을 하기 위해서 사용하는 기호

산술(Arithmetic)

+-*/%



{Java - 연산자 (2/4) - 형변환}

정수와 실수를 연산하면 어떤 게 앞에 있든 결과는 실수로 나옴.

(정보의 손실 없게 더 조밀한(실수)로 형변환 해서 형식 일치시킨 후에 연산함.(예 : 10.0 / 3.0))



{Java - 연산자 (3/4) - 단항연산자} - 좌항과 우항이 있지 않은 연산자

그동안은 이항 연산자(infix operator)를 설명했다.(좌항과 우항이 존재)

단항(unary)

+ 양수. 실제로는 사용할 필요가 없다.

- 음수

++ 증가(increment) 연산자

-- 감소(Decrement) 연산자



{Java - 연산자 (4/4) - 우선순위}

'Java' 카테고리의 다른 글

Java - 조건문  (0) 2015.10.11
Java - 비교와 Boolean  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Posted by 캬웃
,

Java - 형변환

Java 2015. 10. 10. 23:56

[형변환]

{자바 - 형변환}

형 변환(Type Conversion)


int 타입의 정수 200의 bit값은

00000000 00000000 00000000 11001000


실수 200.0을 컴퓨터에 저장하면 다음 bit로 저장이 된다.

01000011 01001000 00000000 00000000


서로 전혀 다른 bit값으로 저장되기 때문에

각각의 데이터를 더해주거나 연산을 하려고 하면

한쪽의 데이터 타입으로 맞춰주어야 함.

데이터 타입을 맞춘다는 것은 데이터 형식을 바꾼다는 것이고, 이것을 형 변환이라고 한다.

그리고 이러한 형변환을 자바는 프로그래밍의 편의성을 위해서 자동으로 해주기도 하는데

그걸 자동(암시적) 형 변환(implicit Conversion) 이라고 한다. : 암시적 형변환은 조금이라도 좀 더 프로그래밍을 편리하게 하기 위해서, 정보의 손실이 발생하지 않는다면 컴퓨터가 알아서 처리해주는.

double a = 3.0F;

float를 a에 넣을 때 double로 자동으로 바꿔주기 때문에 에러가 나지 않음.(이 때, 데이터의 손실이 없음.)

float a = 3.0;

오류가 발생함.

double이 더 많은 데이터를 표현할 수 있기에, double에서 float로 형변환을 하면 데이터 유실의 가능성이 있기 때문에, 변환하지 않음.

※자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다는 것이다.


정수 실수

____________________________    _______________

byte -> short -> int -> long -> float -> double

char

        ----

        문자


문자도 내부적으로는 숫자

char를 int로 형변환을 하게 되면 그 문자의 유니코드 값으로 변하게 됨.



{자바 - 명시적형변환} : 수동으로 하는 형 변환. 이를 명시적형변환(Explicit Conversion)이라고 한다.

'Java' 카테고리의 다른 글

Java - 비교와 Boolean  (0) 2015.10.10
Java - 연산자  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Posted by 캬웃
,

[상수의 데이터 타입]

{Java - 상수형 데이터 타입}

상수(constant):변하지 않는 값

변수도, 상수도 데이터 타입이 있음.

a=1;

a는 변수, 1은 상수


float a = 2.2; 는 type mismatch 에러가 뜸.

2.2는 data type이 double이기 때문에 double로 해야 됨.

float를 쓰려면 2.2의 데이터 타입을 명시적으로 float형으로 지정해주면 됨.

float a = 2.2F;

이렇게.


상수가 실수인 경우 double을 기본형으로 채택함.

float를 쓰려면 상수 뒤에 F를 써줘야 함.



상수가 정수인 경우 int를 기본형으로 채택함.

따라서

long a = 2147483648;

은 에러가 나고,

long a = 2147483648L;

로 바꿔줘야 함.


단, byte b = 100;은 에러가 안남.

byte와 short 변수의 경우엔 int형 상수를 담는 것이 가능함. 단, 이 경우엔 각각의 범위에 맞는 것이어야 됨.

'Java' 카테고리의 다른 글

Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Java - 변수  (0) 2015.10.10
Posted by 캬웃
,

Java - 데이터 타입

Java 2015. 10. 10. 23:55

[데이터 타입]

{Java - 데이터타입 (1/2) : 데이터의 크기}

데이터 크기

bit(가장 작은 단위):0과1

byte:8개의 bit

1KB:1024개의 byte

MB

GB

TB

PB petabyte 페타바이트

EB exabyte 엑사바이트

ZB zettabyte 제타바이트



{Java - 데이터타입 (2/2) : 데이터타입 비교}

데이터 타입

숫자 - 정수 - byte 메모리의 크기 1byte (메모리를 가장 절약할 수 있음.) -128 ~ 127

   - short 2byte -32,768 ~ 32,767

            - int(주) 4byte 가장 처리속도도 빠름. 충분히 큰 수 표현 가능 -2,147,483,648~2,147,483,647

   - long 8byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

     - 실수 - float

       - double(주) 더 큰 숫자를 표현할 수 있다.(더 많은 정보를 표현할 수 있고, 더 많은 정보를 수용할 수 있음.)


변수의 데이터 타입에 따라 소모되는 메모리 용량이 달라짐.

예를 들어

long a = 2148934;

long b = 1;

은 소모되는 메모리가 같음. (변수가 가리키는 데이터의 용량과는 상관없음.)


long을 쓰면 메모리에서 8byte의 용량을 예약하고, 그만큼의 공간을 확보해 놓는 것.

- 마치, 호텔의 룸 8개를 예약해 놓는 것과 같음. 방을 비워놔도 쓰는 건 쓰는 거임.


따라서

int a = 21345;

long b = 21345;

는 같은 데이터를 갖고 있지만,(같은 숫자를 가리키고 있지만,) 사용되는 메모리는 다르다.


일반적으로 정수를 사용할 땐 int를 사용하면 됨. 왜냐하면 int형을 사용할 때 처리속도가 가장 빠르고, 충분히 큰 수를 표현할 수 있기 때문이다.



정밀도 대신에 큰 범위의 수를 표현하는 것을 선택한 형식이 실수형이다.

주의해야할 것, 돈과 같이 아주 정확한 계산이 필요한 경우에는 실수형을 쓰면 안되고 다른 수단을 강구해야 한다.



문자 - char 2byte 모든 유니코드 문자

'A' 2byte 메모리 사용

"AB" 문자열 4byte 메모리 사용



각각의 데이터 타입에 따라서 메모리를 사용하는, 메모리를 소비하는 크기가 다르기 때문에 이렇게 데이터 타입을 구분하고 있다.



*String 클래스의 문자열 길이의 한계 : http://javacan.tistory.com/43

'Java' 카테고리의 다른 글

Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Java - 변수  (0) 2015.10.10
Java - 숫자와 문자  (0) 2015.10.10
Posted by 캬웃
,

Java - 주석과 세미콜론

Java 2015. 10. 10. 23:54

[주석과 세미콜론]

{Java - 주석과 세미콜론}

주석(comment):로직에 대한 설명, 또는 어떤 코드를 비활성화 할 때, 또는 여러분이 작성한 코드의 사용방법을 문서화 시킬 때. 이러한 경우에 주석을 사용한다.

자바에선 크게 세가지 형태의 주석을 제공한다.

한줄 주석 : //

여러줄 주석 : /* */

? JavaDoc 주석 : 기본적으론 주석, 동시에 자바의 어떤 api문서를 만드는 어떤 규약. 그 규약에 따라서 주석을 작성하면 이 주석은

/** */  형태를 가짐.

이렇게 코드를 작성을 하면 자바의 어떤 소프트웨어가 동작을 하면서 주석의 내용을 해석해서 이 밑에 있는 어떠한 코드에 대한 이 실제 문서를 만들어 줍니다.

;(세미콜론) : 문장(statement)이 끝났음을 알려주는 특수한 기호

표현식은 세미콜론을 찍지 않습니다. System.out.println("Hello World!");의 "Hello World!"부분이 표현식.

{}이거는 }이것이 닫혀 있다는 뜻을 이미 가지고 있기 때문에 ;세미콜론을 따로 붙여주지 않는다.

;을 잘못해서 붙이거나 붙이지 않거나 하면 자바에선 컴파일이 되지 않음.

;이 있기 때문에 문장과 문장을 정확하게 구분할 수 있기 때문에 한 줄에 두 개 이상의 문장을 사용할 수 있다.



'Java' 카테고리의 다른 글

Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Java - 변수  (0) 2015.10.10
Java - 숫자와 문자  (0) 2015.10.10
이클립스의 기능과 예제의 사용법  (0) 2015.10.10
Posted by 캬웃
,

Java - 변수

Java 2015. 10. 10. 23:54

[변수]

{Java - 변수 (1/4) : 변수의 선언과 할당}

변수(Variable):변할 수 있는 데이터. 숫자뿐만 아니라 문자 등. 정확하게는 가리키는 거지만 담는다고 하는 것이 생각하기 더 편할 것.

선언과 할당이라는 용어를 쓴다.

int a;     -- 변수를 만드는 구문.(변수를 '선언')

데이터 형식, 변수의 이름

데이터 형식에 맞지 않은 데이터를 넣으면 자바는 아예 실행조차 되지 않음. 컴파일도 되지 않음.

// 주석



{Java - 변수 (2/4) : 변수와 실수}

자바에서 숫자는 정수(int)와 실수(double)로 분류함.

정수 : -3 -2 -1 0 1 2 3 ..

실수 : 

어떤 언어는 정수와 실수를 구분하지 않고 퉁쳐서 숫자라고 하기도 함.

정수,실수,문자 상관없이 변수에는 모든 값을 담을 수 있는 언어도 있음.

javascript, php, 최근 script언어들이 대체로 그럼.

프로그래밍에서 수학은 어느정도 필요하긴 함.

할 거에 따라 수학은 그렇게 중요하지 않을 수도 있음.


double : 실수

strong data type : 엄격하게 데이터 타입을 지정해야 함.



{Java - 변수 (3/4) : 문자열}

문자열 데이터 타입의 변수 만드는 법

String : 문자열 강제

String first;

first = "coding";


두 가지를 한 번에 쓸 수도 있음.

String first = "coding";

변수를 선언하는 것과 변수에 값을 할당하는 것을 한 줄에 끝냄.


String a, b;

a = "coding";

b = "everybody";

System.out.println(a+b); //codingeverybody



{Java - 변수 (4/4) : 변수의 효용}

왜?

변수가 없다면?


변수는 프로그래밍에서 가장 중요한 것 중 하나.


변할 수 있는 수는 변수로 선언해 둬야 함.


★중복의 제거★  --여러분들이 지금부터 배울 프로그래밍의 여러가지 문법적인 요소들, 여러가지 기능적인 요소들이 공통적으로 추구하고 있는 바라고 할 수 있어요. 그러한 지향성을 이해하고 프로그래밍을 공부하신다면 굉장히 재밌게 느껴지실 겁니다. 마치 퍼즐하는 거와 같이. 게임처럼 재밌게 느낄 수 있는 부분이 분명히 있습니다.

가독성이 좋아짐

유지보수의 용이성

자연스럽게 버그가 발생할 가능성이 낮아짐


고정되는 것과 가변적인 것을 잘 구분할 필요가 있음.

고정적인 것들은 그것들끼리 묶어서 그루핑을 해 주고, 가변적인 것들은 가변적인 것들끼리 묶어준다.

그렇게 하면 나중에 소프트웨어가 동작하는 방법을 바꿔야 할 경우에는, 고정되는 부분은 신경쓰지 않고

가변적으로 바뀔 수 있는 영역에만 관심을 집중해서 수정하면 되기 때문에

로직을 핸들링하는 것이 훨씬 더 수월해진다.

'Java' 카테고리의 다른 글

Java - 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Java - 숫자와 문자  (0) 2015.10.10
이클립스의 기능과 예제의 사용법  (0) 2015.10.10
개발도구와 이클립스  (0) 2015.10.10
Posted by 캬웃
,

Java - 숫자와 문자

Java 2015. 10. 10. 23:53

[숫자와 문자]

{Java-숫자와 문자열-숫자}

* : 에스터리스크. Asterisk


{Java-문자열}

자바가 내부적으로 문자와 문자열을 다르게 처리함.

문자:A Character '' 작은따옴표

문자열:AB String "" 큰따옴표 (문자와 문자가 결합된 것.) 한 글자도 문자열이 됨.

'생활코딩'블럭 설정하고 바로 수정할 거("생활코딩") 쓰지말고, 일단 다 삭제하고 해야 큰 따옴표 한 번 썼을 때 뒤에도 붙음.

이상하면 라인 앞에 x가 떠서 경고를 미리 해 줌. 이것이 우리가 IDE툴을 사용하는 이유중에 하나라고 할 수 있음.

아래 Problems View를 보면

Description : 이런 형식의 에러가 발생했습니다.   Resource : 어떤 파일 Path : 어느 위치 Location : 몇 번째 라인

문자열과 문자열을 결합할 때 +연산자를 사용

이스케이프 : \(역슬래쉬) 역슬래쉬는 원화 표시로 사용되고 있기 때문에 역슬래쉬를 어디에 기술하느냐에 따라서 원화 표시가 출력이 될 수도 있고, 역슬래쉬가 그대로 표시될 수도 있음.

\n : 줄바꿈

'Java' 카테고리의 다른 글

Java - 주석과 세미콜론  (0) 2015.10.10
Java - 변수  (0) 2015.10.10
이클립스의 기능과 예제의 사용법  (0) 2015.10.10
개발도구와 이클립스  (0) 2015.10.10
Java의 실행  (0) 2015.10.10
Posted by 캬웃
,