정수타입
byte, short, int, long
실수타입
float, double
논리타입
boolean
문자타입
char
null
어떠한 래퍼런스 타입의 값으로도 사용 가능.
int n = null; //사용불가
String str = null;
문자열 리터럴
자바에서 문자열은 객체이므로 기본 타입이 아니다.
문자열 리터럴은 String 객체로 생성된다.
변수 이름 관례
클래스명
각 단어의 첫글자는 대문자로 한다.
변수명, 메소드명
첫번째 단어는 소문자로 시작되어 2번째 단어부터 첫글자는 대문자로 한다.
상수
모든 글자를 대문자로 한다.
변수는 실행도중에 값을 변경할 수 있으나 상수는 한번 값이 정해지면 변경이 불가능하다.
변수선언은 앞에 final 을붙인다.
대입연산자
대입 연산자는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장한다.
대입 연산자는 할당 연산자, 배정 연산자 라고도 한다.
사용자로부터 값 입력받기
Scanner
ex) Scanner sc = new Scanner(System.in);
System.out.println("문장을 입력해주세요. : ");
String line = sc.nextLine(); //한줄 읽음
nextLine(), next(), nextInt(), nextDouble()
if-else
Q1 키보드에서 입력받은 정수가 홀수인지 짝수인지를 말해주는 프로그램을 작성해보자.
Scanner input = new Scanner(System.in);
int i; //변수선언
System.out.print("숫자를 기입해주세요. : "); //변수에 할당할 값 입력
i = input.nextInt(); //변수에 값 할당
if( i%2 != 0) //홀 짝 판독기
{
System.out.printf(" %d 는 홀수입니다.", i);
}
else
{
System.out.printf(" %d는 짝수입니다.", i);
}
Q2 두 개의 정수를 입력 받아서 둘 중에 큰 수를 출력하는 프로그램을 만들어보자.
Scanner input = new Scanner(System.in);
int i, j ;
System.out.print("숫자를 기입해주세요. : ");
i = input.nextInt();
System.out.print("한번 더 숫자를 기입해주세요. : ");
j = input.nextInt();
if( i < j)
{
System.out.printf("둘중 더 큰 수는 %d 입니다.", j);
}
else if (i == j)
{
System.out.print(" 두 수의 크기가 같습니다.");
}
else
{
System.out.printf("둘중 더 큰 수는 %d 입니다.", i);
}
Q3 사원이 실적 목표를 달성하였을 경우에는 실적 목표를 초과한 금액의 10%를 성과급으로 받는 프로그램작성.
ex)실적을 입력하시오(단위: 만원): 1200
실적 목표: 1000만원
실적 달성
보너스:20
Scanner input = new Scanner(System.in);
int i, j;
double bonus=0;
System.out.print("목표 실적을 입력하세요.(단위: 만원) : ");
i = input.nextInt();
System.out.print("당신의 실적을 입력하세요.(단위: 만원) : ");
j = input.nextInt();
if( i < j)
{
bonus = ((j-i) * 0.1);
}
else
{
bonus = 0;
}
System.out.printf(" 당신의 보너스는 %.1f 만원 입니다.", bonus);
switch
Q1 사용자가 값을 입력하면 화면에 "하나", "둘"과 같이 출력하는 코드를 작성해보자.
ex) 숫자를 입력하시오:1
하나
Scanner input = new Scanner(System.in);
int i, j;
System.out.print("1-5 사이의 숫자를 입력하세요: ");
i = input.nextInt();
switch (i)
{
case 1: System.out.println("하나");
break;
case 2: System.out.println("둘");
break;
case 3: System.out.println("셋");
break;
case 4: System.out.println("넷");
break;
case 5: System.out.println("다섯");
break;
default : System.out.println("1-5 사이의 숫자가 아닙니다.");
}
while
while(조건식)
{
실행식
}
do-while
int i =10;
do
{
System.out.println("i의 값 : " + i);
i++;
while (i <3);
}
i변수 값이 10으로 3보다 작지 않지만 do while 문이므로 최소 1회 실행된다.
올바른 월(month) 값 입력할 때 까지 반복하기.
Scanner input = new Scanner(System.in);
int month;
do
{
System.out.print("올바른 월을 입력하시오 [1-12]: ");
month = input.nextInt();
}
while (month < 1 || month > 12); //조건에서 벗어날 때 까지 반복
System.out.println("사용자가 입력한 월은 "+month + " 월 입니다.");
for
for(i=0; i<5; i++) // 조건문
{
실행문
}
Random
Q 난수의 합을 구하는 Random 코드를 구성하시오
Random 난수 = new Random();
System.out.print("난수의 개수 : ");
Scanner scan = new Scanner(System.in);
int count = scan.nextInt();
int sum = 0;
for (int i = 0; i < count; i++)
{
int number = 난수.nextInt(100); //난수 범위 지정
sum += number; //선택된 난수를 더함
}
System.out.print("난수 " +count + "개의 합은 " + sum);
break
int total = 0;
int count = 0;
Scanner scan = new Scanner (System.in);
while (true)
{
System.out.print("점수를 입력하시오 : ");
int grade = scan.nextInt();
if ( grade < 0 )
break;
total += grade;
count++;
}
System.out.println("평균은 " + total / count);
continue
String s = "no news is good news";
int n =0;
for( int i = 0; i<s.length(); i++)
{
//n이 나오는 횟수 카운트
if(s.charAt(i) != 'n')
continue;
//n의 개수 하나씩 증가
n++;
}
System.out.println("문장에서 발견된 n의 개수" + n );
배열
배열 참조 변수 선언
int[] s;
s = new int[배열의 크기];
배열의 요소는 index라고 부르며 첫번째는 0부터 시작한다.
즉, 0번 인덱스에 값을 저장하려면
s[0] = 입력값;
Q 5명의 성적을 입력받아서 평균을 구하는 프로그램을 배열을 통해서 만드시오.
int a[] = new int[5];
int i , score=0;
double total=0;
Scanner sc =new Scanner(System.in);
for(i=0;i<5;i++)
{
System.out.println("성적을 입력하세요 : ");
a[i] = sc.nextInt();
}
for(i=0; i<a.length; i++)
{
score = score+ a[i];
}
total = score/5;
System.out.printf(" 평균 성적은 %.1f 입니다.", total);