반응형
언어 : JAVA
환경 : eclipse
프로그램은 실행할 때 비로소 태어난다? 메모리에 올려지면서.
static이 붙어있는 메서드는 실행하지 않아도 살아있다.
즉, 메모리에 올라가지 않아도 된다.
public class Hello {
public static void main(String[] args) {
System.out.println("hello world");
}
}
따라서 main함수는 늘 살아있다.
java의 최소 단위는 1byte(8bit)이다.
기본 타입 :
- boolean : 1byte
- char : 2 byte
- byte : 1 byte(-127~127)
- short : 2 byte(-30,000~30,000)
- int : 4 byte(-21억~21억)
- long : 8 byte
- float : 4 byte
- double : 8 byte
식 종류 :
- 산술식 : + , -, *, /, %
- 논리식 : 계산 결과가 true 또는 false인 것. [!, &&, ||, <, <=, >, >=, ==, !=, e1?e2:e3]
- 지정식 : x=e의 결과값은 식 e를 계산한 결과값이다. 그 결과값을 x에 저장한다. [x=e]
변수 선언 시 초기화를 함으로써 쓰레기값을 없앤다.
그렇지 않으면 메모리가 재활용되면서 원하지 않는 값이 들어있을 수 있다.
변수 이름 작명 규칙 :
- 명사로 작명하는것을 추천
- 두 단어가 연결되었을 때, 두번째 단어를 대문자로 만드는 것 대신 밑에 언더바(_)를 사용
정사각형 면적 구하기 :
public class Geometry {
public static void main(String[] args) {
int side, area;
side=7;
area=side*side;
System.out.println(area);
}
}
원 면적 구하기 :
public class Geometry {
public static void main(String[] args) {
int radius;
double area;
radius = 7;
area = 3.14*radius*radius;
System.out.println(area);
}
}
byte가 작은 타입에서 byte가 큰 타입으로는 묵시적 형변환이 가능하나, 그 역은 성립하지 않는다.
따라서 명시적 형변환을 한다. (ex. double --> int)
Math 클래스에 원주율(PI) 필드와 제곱(pow(double a, double b))메서드가 있다.
논리식 :
public class Demo {
public static void main(String[] args) {
boolean tag = false;
tag = tag && true || ! tag;
System.out.println(tag);
}
}
문자열 :
public class Demo{
public static void main(String[] args) {
char c = 'A';
char n = '0';
char s = '#';
char backspace = '\b';
char tab = '\t';
char newline = '\n';
char return_character = '\r';
char double_quote = '\"';
char single_quote = '\'';
char backslash = '\\';
char hangul = '한';
System.out.println(hangul);
System.out.println((int)hangul);
System.out.println((char)(hangul+1));
String hello;
}
}
문자는 int형으로 변환할 수 있다. 아스키코드가 숫자로 되어있기 때문.
반대로 int형의 정수를 문자로 변환시키면 그 아스키코드에 해당하는 문자가 나온다.
String형은 선언 시 주소값만 담아놓는다.
또한 String은 원래 있던 자료형이 아니라 java.lang의 클래스이다.
java는 타입검사를 철저히 한다.(strongly tight)
실제 문제:
GUI로 계산기를 만들어보았다.
import javax.swing.*;
import java.text.*;
public class Calculator {
public static void main(String[] args) {
String message = "반지름을 주시면 원의 면적을 계산해드립니다.";
String input = JOptionPane.showInputDialog(message);
int radius = Integer.parseInt(input);
double area = Math.PI*Math.pow(radius, 2);
DecimalFormat f = new DecimalFormat("0.00");
JOptionPane.showMessageDialog(null, "반지름이 " + radius + "인 원의 면적은 " + f.format(area));
}
}
728x90
반응형