본문 바로가기
학과 공부/컴퓨터프로그래밍2(자바)

3/26

by sonysame 2018. 3. 26.

static variable applies all the instances 


if문에는 불린만 들어가야 한다

if(x=3)하면 에러!


dangling if


onsider the following scenario :

  1. if(x > 0) // first/outer unmatched if
  2. if(x < 10) // second/inner unmatched if
  3. print(A)
  4. else // matches with first unmatched if
  5. print(B)

If there are two unmatched if's and only one else to match them, then the else doesn't know which if to match. This leads to an ambiguity called the dangling else problem in java.


Since java does not follow indentation, the else is usually matched with the first unmatched if.

You can solve this problem by using braces or writing exclusive else conditions for each unmatched if.

  1. if(x>0){
  2. if(x < 10)
  3. print(A)
  4. else
  5. print(B)
  6. }

or

  1. if(x>0) // first/outer if
  2. if(x < 10) // second/inner if
  3. print(A)
  4. else // matched with inner if
  5. print(B)
  6. else // matched with outer if
  7. print(C


double x=1-0.1-0.1-0.1-0.1-0.1을 하면 조금의 에러가 계속 쌓여서 x는 0.5가 아니게 된다!
Math.abs(x-0.5)<1E-14


자바에서 true는 true이다.

조건문을 써서 true/false


boolean x=3>4;

system.out.println(x) -> "false"를 출력한다.



public class Exercise{

  public static void main (String[] args){

    int x=1;

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

      System.out.println(x);

      x*=2;

    }

  }

}


31번까지만 성공(2^30에 1이 올떄까지만!


integer는 32비트로 되어있다. 어느 컴퓨터에서나 integer는 32비트 so, java could run on any platform

2^31자리에 1이 오게 되면 negative value가 된다. 2의 보수에 의해서!


char c='A';

int x=c;

System.out format("0x%X\n",x); //0x41


capital letter comes first!

A 0x41

a 0x61

"은 designator!

"Hello, world!"에서 First char은 H

How many char? 13

String is not an array of characters

This is a value!  a a a !!

String is a class

It hasmany methods

String is not an array of characters

String s = "ABCDE";

System.out.println(s[0]);//에러가 난다!

s[0]='k';//에러가 난다.


instance method

charAt이라는 method 인덱스는 0부터 시작한다.

length라는 method

한글

String s="한글";

s.length()//2 한글이라고 해서 특이한 것은 없다. 모든 언어에 대해서 똑같이 적용된다.

charAt이라는 메쏘드도 한글에서 사용가능하다!




String s="한글";

int x=s.charAt(0)

System.out.format("U%x\n",x); //유니코드에 의해서 uD55C


char c='\uD55C';

'학과 공부 > 컴퓨터프로그래밍2(자바)' 카테고리의 다른 글

4/2  (0) 2018.04.02
3/28  (0) 2018.03.28
3/21  (0) 2018.03.21
3/19  (0) 2018.03.19
3/14  (0) 2018.03.14