Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

290570

05.09 프로그래밍 본문

java_spring (2024.05 ~ 2024.10)

05.09 프로그래밍

qordpsem 2024. 5. 9. 10:14

\n : 줄바꿈

\t : tab만큼 간격 띄움

 

 

 

a.equals(b)

a는 b와 같다  /   서로 같으면 true, 그렇지 않으면 false 의 결과가 됨

(관련 참고 블로그 : a.equals(b)  와  a == b의 차이
https://velog.io/@kms0211/JAVA-equals.-%EC%99%80-A-B%EC%9D%98-%EC%B0%A8%EC%9D%B4)

 

 

 

#비트 연산자

&     비트곱       ==>  두 개의 비트상태가 모두 1일때 결과가 1이 된다

|       비트합      ==>   두 개의 비트상태 중에 하나만 1이어도 결과가 1이 된다

^      비트차       ==>  두 개의 비트상태가 서로 다를때 결과가 1이 된다

 

X     Y              &         |        ^

0      0              0        0         0

0      1              0         1         1    

1      0              0         1         1

1      1               1         1         0

 

 

 

#비트 이동연산자

<<       비트를 왼쪽으로 이동시키는 연산자   (*2)

>>       비트를 오른쪽으로 이동시키는 연산자   (/2)

 

 

 

# short cut operation (short  circuit operation)

if(조건1 && 조건2)

==> 만약 조건1이 거짓이라면 조건2를 판별하지 않음

 

|| 와 | 의 차이

if (조건1 || 조건2)

==> 만약 조건1이 참이라면 조건2를 판별하지 않음

 

 

#삼항연산자 (조건식연산자)

(항1) ?항2:항3

항1에는 조건식이 오고, 만약 그 조건식이 참이라면 항2를 수행 / 거짓이라면 항3을 수행

 

 

 

# 제어문 : 문장(명령어)의 흐름을 제어시키는 명령(문장)

선택문 - if, switch

반복문 - for, while, do-while

기타 - break, continue

 

 

 

#if

if ( 조건식 ) {

       참일때 동작시킬 명령어들

} else {

       거짓일때 동작시킬 명령어들

}

==> 동작시킬 명령어가 한개밖에 없으면 중괄호{} 생략 가능

 


 

 

 

#비밀번호 일치 확인

//a.equals(b) 사용해서 비밀번호와 비밀번호 확인이 같은지

import java.util.Scanner;

class D06CheckPassword {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String password, checkPassword, result="false";

		System.out.print("비밀번호? ==>");
		password = sc.next();
		System.out.print("비밀번호 한번 더? ==>");
		checkPassword = sc.next();

		if(password.equals(checkPassword)){
			result="true";
		}
		System.out.print(result);
	}
}

 

*주의     :    " == " 사용 시 같은걸 입력해도 일치하지 않는다고 나옴

*String은 equals 사용해야함 /     == 사용불가


 

#비밀번호 일치 확인2

//사용자한테 암호와 암호확인을 입력받아 서로 일치하는지, 8자 이상인지 판별하는 프로그램 (암호는 문자열)

import java.util.Scanner;

class D07CheckPassword {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String password, checkPassword, result="비밀번호 맞는지 확인하세요, 비밀번호는 8글자 이상입니다";

		System.out.print("비밀번호? ==>");
		password = sc.next();
		System.out.print("비밀번호 한번 더? ==>");
		checkPassword = sc.next();

		if(password.equals(checkPassword) && password.length() >= 8 ){
			result="비밀번호가 일치합니다";
		}
		System.out.print(result);
	}
}

 

 

#결과


 

#비트연산자

class D08Bit {
	public static void main(String[] args) {
		int a = 3;
		int b = 7;

		int i = a & b;
		int j = a | b; 
		int k = a ^ b;

		System.out.println("i:"+i);
		System.out.println("j:"+j);
		System.out.println("k:"+k);
	}
}

 

자바 개발자가 잘 쓰지 않지만, 기본 지식으로 알고있어야한다고 하심,,

 


 

#변수 값 맞바꾸기

class D09Swap {
	public static void main(String[] args) {
		int a = 3;
		int b = 7;

		System.out.println("두 변수의 초기값");
		System.out.println("a:"+a);
		System.out.println("b:"+b);

		//두변수의 내용 맞바꾸기
		//코드 추가하기

		int temp;
		temp = a;
		a = b;
		b = temp;

		System.out.println("두 변수의 값 변경 후");
		System.out.println("a:"+a);
		System.out.println("b:"+b);

	}
}

 

임시 변수 필요 (빈 자리에 넣기)

 

 

 

#비트 차 이용해서 자리 바꾸기

/*
	비트 차 연산자를 사용하면 임시변수 없이 두 변수의 값 맞바꿀 수 있음
	1) a와 b를 비트차 연산하여 a에 저장
	2) a와 b를 비트차 연산하여 b에 저장
	3) a와 b를 비트차 연산하여 a에 저장
*/
class D10SwapBit {
	public static void main(String[] args) {
		int a = 3;
		int b = 7;

		System.out.println("두 변수의 초기값");
		System.out.println("a:"+a);
		System.out.println("b:"+b);

		a = a^b;
		b = a^b;
		a = a^b;

		System.out.println("두 변수의 값 변경 후");
		System.out.println("a:"+a);
		System.out.println("b:"+b);

	}
}

 

 

class D14BitLogical{
	public static void main(String[] args){
		int age1 = 28;
		int age2 = 29;

		if(++age1 >= 30 && ++age2 >=30){
			System.out.println("두 사람 모두 내년에는 30대 입니다.");
		}else{
			System.out.println("두 사람 모두 내년에는 30대가 아닐 수 있습니다.");
		}

		System.out.println(age1); //29
		System.out.println(age2); //29
	}
}

 


++age1 을 판단했을때 false 이기때문에, ++age2 는 보지 않음     =>    age2는 출력해도 원래 숫자로 나옴

 

&& 는 하나만 틀려도 다 틀렸기때문에 그렇고,  || 사용 시 앞이 틀려도 뒤도 판단함

 


 

#삼항연산자 (조건식 연산자)

/*
두 개의 정수를 입력받아, 그 중에 큰 수를 출력 (조건식연산자 이용)
*/
import java.util.Scanner;
class D17Condition{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int a, b, max;

		System.out.print("숫자 하나 입력하세요 :");
		a = sc.nextInt();
		System.out.print("숫자 하나 더 입력하세요 :");
		b = sc.nextInt();
		max = (a>b)?a:b;
		System.out.printf("큰 수는 %d", max);
	}
}

 

 

 


 

//사용자한테 임의의 수 N을 입력받아 그 수가 양수(0포함)이면 그 수를 그대로 출력,
//음수이면 제곱하여 출력

import java.util.Scanner;
class D20If{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N;

		System.out.print("숫자 하나 입력하세요 :");
		N = sc.nextInt();

		if(N>=0){
			System.out.println(N);
		} else {
			System.out.println(N*N);
		}

	}
}
import java.util.Scanner;
class D20If{
	public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int N;
   	System.out.print("숫자 하나 입력하세요 :");
	N = sc.nextInt();
	if (N<0){
   	N = N*N;
   	}
	System.out.printf("결과 :"+N);
    }
 }

//0~9 사이 숫자 입력받아서 한글 표기식으로 출력 (if문 사용)

import java.util.Scanner;
class D25Kor{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int num;
		String result="0~9 사이 숫자만 입력가능";
		
		System.out.print("0~9 사이 숫자를 입력하세요 :");
		num = sc.nextInt();

		if(num == 0){
			result = "영";
		}else if (num == 1){
			result = "일";
		}else if (num == 2){
			result = "이";
		}else if (num == 3){
			result = "삼";
		}else if (num == 4){
			result = "사";
		}else if (num == 5){
			result = "오";
		}else if (num == 6){
			result = "육";
		}else if (num == 7){
			result = "칠";
		}else if (num == 8){
			result = "팔";
		}else if (num == 9){
			result = "구";
		}
		System.out.printf("결과: %s\n",result);
	}
}

'java_spring (2024.05 ~ 2024.10)' 카테고리의 다른 글

05.09 부동소수점 오류  (0) 2024.05.09
05.09 숫자 한글로 변환  (0) 2024.05.09
05.09 논리 연산자  (0) 2024.05.09
24.05.09  (0) 2024.05.09
05.08 printf  (0) 2024.05.08