0829

호두·2022년 8월 31일
0

공부

목록 보기
13/25

CODE


public class Exam_07 {
	public static void main(String [] args) {
		// 단항연산자 - 논리부정연산자
		boolean c = true;
		System.out.println(!(!c)); // true
		
		// 논리연산자
		int a = 10;
		int b = 13;
		System.out.println(a==b & ++a>b); //1 10==13 && 11>13 a==b가 거짓이므로 뒤는 실행하지 않는다.
		System.out.println(a==b & ++a>b); //2 11==13 && 12>13
		System.out.println(a==b & ++a>b); //3 12==13 && 13>13
		System.out.println(a==b & ++a>b); //4 13==13 && 14>13
		
		// 배정대입연산자
		byte d = 10;
		//d = (byte)(a+5);
		d += 5; // d = d + 5
		
		// 나열연산자
		int e, f, g;
		
		//삼항연산자
		int h = 10;
		System.out.println(h==10 ? "a는 10입니다." : "a는 10이 아닙니다.");
		
		String i = "안녕";
		System.out.println(i=="안녕" ? "야호" : "메롱");
		
	}
}

public class Exam_06 {
	public static void main(String[] args) {
		String name = "홍길동";
		System.out.println("안녕하세요 " + name + "님, 반갑습니다.");
		int a = 10;
		int b = 3;
		System.out.println("두수의 합: " + a + b);
		System.out.println("두수의 합: " + (a + b)); // 우선순위 적용
		
		System.out.println(a/b); // int / int => int 자동형변환
		System.out.println(a/(float)b); // int / float => float 둘중 하나만 강제형변환
		System.out.println((float)(a/b)); // float(int / int) => float 이미 나온 값을 강제형변환
	}

}
import java.util.Scanner;

public class Exam_04 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		// 클래스 Scanner의 의미 - 키보드(System.in)에 입력된 자료를 in으로 처리하겠다.
		
		// Scanner kk = new Scanner(System.in);
		// 키보드에 입력된 자료를 kk로 처리하겠다.

		System.out.print("이름을 입력: ");
		String name = in.next(); // 문자열을 처리. 공백, 탭, 줄개행 전까지
		System.out.print("국어점수를 입력: ");
		int kor = in.nextInt();
		System.out.print("평균을 입력: ");
		double avg = in.nextDouble();
		
		System.out.println("입력하신 이름: " + name);
		System.out.println("국어점수: " + kor + "점");
		System.out.println("평균: " + avg);
	}
}

\eclipse 우측 상단 웹 버전 / 자바 전용 버전

JAVA의 주석 - 주석을 잘 달아야 협업하기 좋은 프로그래머
1. // 한줄 주석
2. / ~ / 여러줄 주석
3. /* ~ / JAVA주석, doc 주석


사용자 정의 명칭: 사용자가 임의로 지은 클래스명, 변수명, 메소드명

  • 영문 대/소문자, 숫자, 특수문자(_, $)
  • 숫자는 첫글자로 올 수 없다
  • 특수문자는 _와 $만 사용이 가능
  • 공백사용 불가
  • 글자수 제한이 없다
  • 예약어 사용 불가
  • 권장사항
    - 클래스명은 영문대문자로, 변수or메소드명은 영문소문자로
    - 상수명은 모두 영문대문자로
    - 합성어의 첫글자는 영문대문자(lower camel case) hello + java + jsp = helloJavaJsp


(처리)속도 - 1Hz /s
처리용량 - bit: 1bit는 0과 1 , 01 10, 2의 1승
저장용량 - byte: 8bit는 1byte


자료형, 변수, 상수
변수: 변하는 수. 값이 저장되는 주소의 시작
자료형: 변수의 크기. 변수의 크기를 지정하기 위한 분류


기본자료형 (명칭: 크기, 값)
1. 논리형
boolean★: 1byte, true, false
2. 정수형 (초기값은 범위 안에 위치해야 한다. 이후 시계처럼 이해, 최댓값+1 = 최솟값이 된다)
byte☆ : 1byte, -128 ~ 127
short : 2byte, -32768 ~ 32767
char☆ : 2byte, 0 ~ 65535 (문자)
A -> 65, a-> 97, 0 -> 48
int★ : 4byte, -2,147,483,648 ~ 2,147,483,647 //기본자료형
long : 8byte, -2^63 ~ 2^63
long a = 10L; long b = 10l; (기본자료형이 int이기 때문에 long임을 명시)
※ int 이하의 연산결과 자료형은 항상 int가 된다. 따라서 byte a = -1 \n a = a - 1 \n System.out.println(a) 는 자료형이 맞지 않아 에러.
※ 작은 자료형은 큰 자료형에 값이 들어가지만, 반대는 안 된다.
※ int와 long의 연산결과 자료형은 long이 된다.
3. 실수형
float☆ : 4byte
float a = 10.23F; (기본자료형이 double이기 때문에 float임을 명시)
double☆ : 8byte //기본자료형

    ※ 실수형 자료형은 정수형 자료형보다 크다. double > float > long > int ... 표현할 수 있는 값이 큰 순 ※ 0으로 나눗셈을 하게 된다면? 정수일 때는 오류, 실수일 때는 Infinity라는 Nan 예약어

※ 형변환: 자료형을 변환시키는 것
1. 자동형변환: 작은자료형의 값이 큰 자료형으로 이동 ex) long a = 10 -> 10L
2. 강제형변환: 큰자료형의 값을 작은 자료형으로 이동 ex) c = (byte)(a+b)
- 실수형은 정수형보다 무조건 크다
- byte -> char, char -> byte, short -> char, char -> short 간에는 무조건 강제형변환을 해야 한다. (음수가 표현 되는지 여부가 다름)

※ 문자열: 기본자료형처럼 사용되는 유일한 클래스
String☆ : 4byte


자바의 기본 입출력
System(클래스)
in : 표준입력(키보드 입력받겠다)
- Scanner(클래스)

out : 표준출력(콘솔에 출력하겠다)
- print 줄바꿈 X
- println 줄바꿈 O
- printf 서식문자를 활용해 출력양식 지정 가능.
%d(정수출력), %f(실수출력), %c(문자출력), %s(문자열출력) ex) 자릿수 맞추기 %3d, %10.2f
특수문자
\n(줄개행), \t(탭만큼 이동), \(\를 적을 때)

err : 표준에러출력(out과 똑같다)


연산자
최우선연산자(가장 우선순위가 높다)
- . : 참조연산자
- [] : 배열참조연산자
- () : 괄호연산자

단항연산자(항의 앞에 붙는다)
- !☆	: 논리부정연산자 ex) Exam_07
- ~	: 비트부정연산자 (X)
- + -	: 부호연산자
- ++ --	: 증감연산자 ex) a = a+1 -> ++a
- (자료형): cast연산자 ex)강제형변환
- instanceof: 다형식연산자

산술연산자
- * / %
- + -

시프트연산자 (X)
- <<	: 왼쪽
- >>	: 오른쪽
- >>>	: 부호없는 오른쪽

관계연산자 ☆
- 비교: > < >= <=
- 항등: == !=

비트연산자 (X)
- &	: and 둘다 1이면 1 아니면 0
- |	: or 둘중 하나만 1이면 1, 둘다 0이면 0
- ^	: xor 둘이 다르면 1, 같으면 0

논리연산자 ☆
- &&	: and연산자, 두 식이 모두 참이면 참, 아니면 거짓
- ||	: or연산자, 두 식중 하나만 참이면 참, 아니면 거짓
- &	: and연산자, 두 식을 모두 실행한 후 결과를 나타 냄
- |	: or연산자, 두 식을 모두 실행한 후 결과를 나타 냄

삼항연산자
- 조건식 ? 참일때 : 거짓일때;

배정대입연산자(강제형변환 하지 않아도 된다.)
- += -= *= /= %= >>= <<= >>>=
- =

증감후위연산자
- ++ --	: 단항연산자는 항 앞에 연산자가 붙는데, 증감후위연산자는 유일하게 항 뒤에 붙는다. 증감연산자에 비해 우선순위가 느리다.

나열연산자
- ,
profile
web developer

0개의 댓글