Dev/Java

[java] for문, switch문

창문닦이 2019. 1. 21. 22:37

지난주 리뷰

[자료형]

boolean 1byte true/false

byte : 1byte -128~127

int : 4byte

long : 8byte

char:문자상수('a')

10진수:10

8진수:016

16진수:0x17

단정도(float):3.14f

배정도(double):3.14


[연산자]

1. 산술연산자

+,-,*,/,%,++,--

2. 관계형연산자

>,>=,<,<=: 결과(true, false)

3. 등가연산자

==,!=

4. 논리연산자

&&(and),||(or)

5. 비트단위 - 2진수 사용할때 씀

&,|,^,~,>>,<<,>>>

6. 삼항연산자

조건 ? 참값 : 거짓값

7. 대입연산자

=, +=, -=, *=, /=


int a=10;

double b; //초기화 안시켜서 쓰레기값 들어있음

b=a; //암시적 형변환

b=(double)a;//명시적 형변환

a=b; //형변환을 하라고 오류 메세지 뜸

a=(int)b; //명시적 형변환

//부모클래스, 자식클래스의 상속 개념시 형변환 작업 많이 필요하므로 꼭 이해.


[if문]

if(조건){

작업

}


if(조건){

작업1

}else{

작업2

}


if(조건){

작업1

}else if(조건2){

작업2

}


if(조건1){

작업1

}else if(조건2){

작업2

}else if(조건3){

작업3

}else{

작업4

}


[while문]

while(조건){

증가값

작업

}


[do~while문]

do{

작업

}while(조건);


[for문]

for(시작값;최대값;증가값){

작업

}


for문을 이용한 *찍기

package com.day04;

public class Test1 {

public static void main(String[] args) {

int i, j;

System.out.println("직각삼각형");

for(i=1;i<=5;i++){   //행의 수 5개

//j는 5-i번까지 공백을 찍음

for(j=1;j<=5-i;j++){

System.out.print(" ");

}

//j는 i번 별을 찍어라

for(j=1;j<=i;j++){

System.out.print("*");

}

System.out.println();//줄바꿈

}



System.out.println("\n정삼각형");

for(i=1;i<=5;i++){ //행의 수 5개

//j는 5-i번까지 공백을 찍음. 위의 예제와 공백개수는 동일

for(j=1;j<=5-i;j++){

System.out.print(" ");//공백한칸

}

//j는 2i-1번 별을 찍어라. 어떠한 수든 2*x-1은 홀수가 나온다.

for(j=1;j<=i*2-1;j++){

System.out.print("*");

}

System.out.println();//줄바꿈

}



System.out.println("\n역삼각형");

for(i=5;i>=1;i--) {// i=i-1

for(j=1;j<=5-i;j++) {

System.out.print(" ");// 공백한칸

}

for(j=1;j<=i*2-1;j++) {

System.out.print("*");

}

System.out.println();// 줄바꿈

}



System.out.println("\n모래시계");

for(i=5;i>=1;i--) {// i=i-1

for(j=1;j<=5-i;j++) {

System.out.print(" ");

}

for(j=1;j<=i* 2 - 1; j++) {

System.out.print("*");

}

System.out.println();// 줄바꿈

}

for(i=2;i<=5;i++){

for(j=1;j<=5-i;j++){

System.out.print(" ");

}

for(j=1;j<=i*2-1;j++){

System.out.print("*");

}

System.out.println();//줄바꿈

}

}//end~class


실행결과



switch문

import java.util.Scanner;

public class Test2 {

public static void main(String[] args) {

// switch

Scanner sc = new Scanner(System.in);

int su;

System.out.print("1~3이내의 수?");

su = sc.nextInt();

// switch(변수)에는 자료형 모두 사용 가능. String도 가능해짐. 따옴표 잊으면 오류

switch (su) {

case 3:

System.out.print("***");break;

case 2:

System.out.print("**");break;

case 1:

System.out.print("*");break;

default:

System.out.print("숫자입력오류!!");

}

sc.close();

}

}


실행결과





switch문(계산기)

import java.io.IOException;

import java.util.Scanner;

public class Test3 {

public static void main(String[] args) throws IOException {

Scanner sc = new Scanner(System.in);

int num1,num2;

char oper;

System.out.print("첫번째 수?");//30

num1 = sc.nextInt();

System.out.print("두번째 수?");//20

num2 = sc.nextInt();

System.out.print("연산자[+,-,/,*]?");//+

oper = (char)System.in.read();

/*

* switch문 사용

switch(oper){

case '+':

System.out.printf("%d %c %d = %d\n",num1, oper, num2, (num1+num2));break;

case '-':

System.out.printf("%d %c %d = %d\n",num1, oper, num2, (num1-num2)); break;

case '/':

System.out.printf("%d %c %d = %d\n",num1, oper, num2, (num1/num2)); break;

case '*':

System.out.printf("%d %c %d = %d\n",num1, oper, num2, (num1*num2)); break;

default:

System.out.printf("연산자 오류");

}

* if문 사용

if(oper=='+')

System.out.println(num1 +"+"+ num2+"="+ (num1+num2));

else if(oper=='-')

System.out.println(num1 +"-"+ num2+"="+ (num1-num2));

else if(oper=='/')

System.out.println(num1 +"/"+ num2+"="+ (num1/num2));

else if(oper=='*')

System.out.println(num1 +"*"+ num2+"="+ (num1*num2));

*/

//중복되는 내용은 최대한 줄여서 작성

int result=0;

switch(oper){

case '+':

result = num1+num2;break;

case '-':

result = num1-num2;break;

case '/':

result = num1/num2;break;

case '*':

result = num1*num2;break;

}

System.out.printf("%d %s %d = %d\n",num1, oper, num2, result);

sc.close();

}

}


실행결과



'Dev > Java' 카테고리의 다른 글

[java] 선택정렬, 난수, 가위바위보 게임만들기  (0) 2019.01.22
[java] 배열, 달력만들기  (0) 2019.01.21
[java] 반복문  (0) 2019.01.21
[java] 간단한 계산기 만들기  (0) 2019.01.21
[java] 기초  (2) 2019.01.21