지난주 리뷰
[자료형]
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 |