package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//0420 연산자
short s1=2; //쇼트형 변수 2
short s2= +s1;
//자바에서는 +를 연산자로 인식하고 있다.
//+s1 => 인트형 s1, 한번 더 더하라는 뜻
//오류가 나지 않게 하려면 강제형변환 하거나 + 부호를 빼야한다
System.out.println(s2);
}
}
오류 발생
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//0420 연산자
short s1=2; //쇼트형 변수 2
short s2= s1;
System.out.println(s2);
}
}
2
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//0420 연산자
double e1=3.5;
double e2=-e1;
System.out.println(e2);
}
}
-3.5
실수는 더블형을 기본으로 연산한다
더블e1, 더블e2, 값을 반환하는 것도 더블형이므로 값이 잘 나온다
컴파일 오류가 나지 않게 하려면 명시적으로 형변환을 해줘야 한다
증감 연산자
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//0420 연산자
//증감연산자
int num=7;
System.out.println(++num); //전위연산자 먼저 1증가시킨다 = 8
System.out.println(num++);
//후위연산자 변수값을 먼저 출력시킨후 1증가한다 =8
//출력이 끝난 후 1이 증가되어 다음출력시 9라는 값이 나온다
System.out.println(num); // 9
}
}
8
8
9
비트 연산자
AND | & | a&b | 변수 a, b 비트 단위의 AND |
OR | | | a|b | 변수 a, b 비트 단위의 OR |
XOR | ^ | a^b | 변수 a, b 비트 단위의 XOR |
NOT | ~ | ~a | 변수 a의 단위의 부정 |
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//0420 연산자
byte n1=13; //13(2)=> 0001101
byte n2=7; // 7(2)=> 0000111
byte n3=(byte)(n1&n2);
System.out.println(n3);
}
}
5
n1 & n2 => & : 둘다 트루 일 때 1을 반환
0001101
0000111
======
0000101 => 10진법 5로 반환 된다
제어문 : 실행 흐름의 컨트롤
[조건문]
if문 : if > 만약 ~라면
if문
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int a=1;
int b=3;
int sum= a+b;
if(sum>0)
{
System.out.println("정답입니다!~");
}
}
}
정답입니다!~
if(조건식){
실행부분
}
조건식: 식의 결과가 참 또는 거짓으로 구분될 수 있는 문장
실행부분: 조건식의 결과가 참이면 실행할 문장
if~else문
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int a=1;
int b=3;
int sum= a+b;
if(sum<0)
{
System.out.println("오답입니다!~");
}
else
{
System.out.println("정답입니다!~");
}
}
}
정답입니다!~
if~else문
if(조건식){
실행 부분1
}
else{
실행 부분2
}
조건식: 식의 결과가 참 또는 거짓으로 구분될 수 있는 문장
실행부분1 : 조건식의 결과가 참이면 실행할 문장 (거짓일 경우 if문을 빠져나와 else문이 실행 된다)
실행부분2 : 조건식의 결과가 거짓이면 실행할 문장
if(sum<0)
System.out.println("오답입니다!~");
else
System.out.println("정답입니다!~");
중괄호를 사용하지 않아도 조건문 인식을 한다
중괄호 안에 실행되는 명령이 한줄로 되어있다는 조건하에 중괄호를 생략할 수 있다
강제성은 없지만 개발자들이 이러한 형식으로 사용하기도 한다
if~else if(~else)문
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int a=20;
int b=10;
int sum=a+b;
if(sum<0){
System.out.println("a+b=30");
}
else if(sum>100){
System.out.println("30<100");
}
else {
System.out.println("위의 모든 조건 충족 안함");
}
}
}
위의 모든 조건 충족 안함
if(조건1){
실행 부분1
}
else if(조건2){
실행 부분2
}
else if(조건3){
실행 부분3
}
else{
실행 부분4
}
switch문
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int a=4;
switch(a) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
default:
System.out.println("알수없음");
}
}
}
4
package javaFirstClass;
import java.util.*;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int a=1;
switch(a) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
default:
System.out.println("알수없음");
}
System.out.println("없습니다");
}
}
1
2
없습니다
a=1 이고
case 2 에서 break가 걸려있기 때문에
1 출력
2 출력 후 종료
스위치문을 빠져나와 없습니다 출력
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//제어문
int book=2;
book=book/10;
switch(book) {
case 0:
System.out.println("노력하세요");
break;
case 1:
System.out.println("책을 즐겨 읽으시네요");
break;
case 2:
System.out.println("책을 사랑하시는군요");
break;
default:
System.out.println("다독왕 입니다");
}
}
}
노력하세요
반복문
횟수 for
만족 while/do while
do~while문
package javaFirstClass;
//import java.util.*;
public class prac_for {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=0;
do {
System.out.println("i love java" +num);
num++;
}while(num<3);
}
}
i love java0
i love java1
i love java2
package javaFirstClass;
public class Chapter03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//반복문 1~4까지 출력 시키기
int i=1;
//while문 안에 if문 사용하기
while(i<5){
if(i<5) {
System.out.printf("%d\n",i);
//break; 여기서 브레이크를 걸어버리면 1만 출력되고 if문을 빠져나온다
}
else {
System.out.printf("해당없음");
}
i++; //while문 끝나고 증감시켜야 무한반복x
}
//while문
while(i<5) {
System.out.printf("%d 입니다\n", i);
i++;
}
//do~while문
do {
System.out.printf("%d 입니다\n",i);
i++;
}while(i<5);
}
}
1
2
3
4
break / continue
package javaFirstClass;
public class break문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=1;
boolean search = false;
불린이라는 논리자료형, search 변수에 false로 선언
//while 처음으로 만나는 5의배수이자 7의 배수인 수를 찾기
while(num<100) {
if((num%5==0) && (num%7==0)) {
search=true;
break; //서치 값이 트루가 되면 탈출한다
}
num++;
}
if(search) { //search값이 true일 때 실행하는 조건문
System.out.println("찾는 정수: " +num);
}
//for문 처음으로 만나는 5의배수이자 7의 배수인 수를 찾기
for(; num<100; num++) {
if((num%5==0) && (num%7==0)) {
System.out.println("찾는 정수: " +num); //출력을 하고
break; //브레이크로 반복문 탈출
}
}
}
}
찾는 정수: 35
예시
continue 사용해서 1~100까지 5&7의 배수 모두 출력
package javaFirstClass;
public class break문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//5,7의 배수가 무엇이며 몇개인지 찾는 while 반복문을 for문으로 바꿔보기
int num=0;
int cnt=0;
while((num++)<100) {
if((num%5!=0) || (num%7!=0)) {
continue;
5,7로 나눠 떨어지지않으면 컨티뉴
}
cnt++;
System.out.println(num);
}
System.out.println("cnt: "+cnt);
//for문 처음으로 만나는 5의배수이자 7의 배수인 수를 모두 찾기
int cnt=0;
for(int num=1; num<100; num++) {
if((num%5==0) && (num%7==0)) {
cnt++;
System.out.println("찾는 정수: " +num);
}
}
System.out.println("cnt개수: "+cnt);
}
}
찾는 정수: 35
찾는 정수: 70
cnt: 2
무한루프
package javaFirstClass;
public class continue문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//무한루프
int num=1;
//6의배수이자 14의 배수인 가장 작은 정수를 찾는 반복문, 무한루프 빠져나가기
while(true) {
if(num%6==0 && num%14==0) {
System.out.println(num);
break;
}
num++; //if문 안의 조건에 만족하면 브레이크, 그게 아니라면 num++
}
}
}
42
package javaFirstClass;
public class continue문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//2중 for문
for(int i=0; i<3; i++) {
System.out.println("--------------------");
for(int j=0; j<3; j++) {
System.out.print("["+i+", " + j +"]");
//[i, j] 를 출력하는 문장
}
System.out.print("\n");
}
}
}
--------------------
[0, 0][0, 1][0, 2]
--------------------
[1, 0][1, 1][1, 2]
--------------------
[2, 0][2, 1][2, 2]
package javaFirstClass;
public class continue문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//구구단 2-9단
for(int i=2; i<=9; i++) { //2단부터 9단까지
for(int j=1; j<=9; j++) { //N * 1~9까지
System.out.println(+i +"X"+j+"="+i*j);
}
}
System.out.println("\n");
}
}
package javaFirstClass;
public class continue문제 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//구구단 for문 사용하기
for(int i=2; i<=9; i++) { //2단부터 9단까지
for(int j=1; j<=9; j++) { //N * 1~9까지
System.out.println(+i +"X"+j+"="+i*j);
}
}
System.out.println("\n");
//구구단 while문으로 바꿔보기
int i=2;
while(i<=9) {
int j = 1;
while(j<=9) {
System.out.println(i +"X"+j+"="+i*j);
j++;
}
i++;
}
}
}
'Dev. > java' 카테고리의 다른 글
Java 조건문(if~else) (0) | 2022.04.23 |
---|---|
Java String (0) | 2022.04.23 |
Java Scanner/ next, netxLine (0) | 2022.04.23 |
Java 연산자/instanceof 연산자 (0) | 2022.04.18 |
Java의 시작, 변수와 상수 (0) | 2022.04.15 |
댓글