초보 자 자바 프로 세 스 제어
사용자 인 터 랙 션 스캐너
java.util.Scanner
자바 5 의 새로운 특징 으로 Scanner 류 를 통 해 사용자 의 입력 을 얻 을 수 있 습 니 다
Scanner sc = new Scanner(System.in);
Scanner 류 의 next()와 nextLine()방법 을 통 해 입력 한 문자열 을 가 져 옵 니 다.읽 기 전에 우 리 는 일반적으로 hasNext()와 hasNextLine()을 사용 하여 입력 한 데이터 가 있 는 지 여 부 를 판단 해 야 합 니 다.next()
1.유효한 문 자 를 읽 어야 입력 을 끝 낼 수 있 습 니 다.
2.유효한 문 자 를 입력 하기 전에 발생 하 는 공백 에 대해 next()방법 은 자동 으로 제거 합 니 다.
3.유효한 문 자 를 입력 한 후에 야 뒤에 입력 한 공백 을 구분자 나 끝 문자 로 합 니 다.
4.next()는 빈 칸 이 있 는 문자열 을 얻 을 수 없습니다.
public static void main(String[] args) {
// ,
Scanner scanner = new Scanner(System.in);
System.out.println(" next :");
//
if (scanner.hasNext()){
// next
String str = scanner.next();// hello world, hello
System.out.println(" :"+str);
}
// IO ( ) ,
scanner.close();
}
nextLine()1.Enter 를 끝 문자 로 합 니 다.즉,nextLine()방법 은 차 로 돌아 가기 전의 모든 문 자 를 입력 하 는 것 입 니 다.
2.공백 후의 문 자 를 얻 을 수 있 습 니 다.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" nextLine ");
if (scanner.hasNextLine()){
String str = scanner.nextLine();// hello world
System.out.println(" :"+str);
}
scanner.close();
}
정수 유형,부동 소수점 유형 도 상응하는 용법 이 있다.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
if (scanner.hasNextInt()){
int a = scanner.nextInt();
System.out.println(" :"+a);
}else {
System.out.println(" ");
}
System.out.println(" ");
if (scanner.hasNextFloat()){
float b = scanner.nextFloat();
System.out.println(" :"+b);
}else {
System.out.println(" ");
}
scanner.close();
}
선택 구조if 단일 선택 구조
우 리 는 한 가지 물건 이 가능 한 지 판단 한 후에 야 실행 할 때 가 많다.이런 과정 은 프로그램 에서 if 문 구 를 사용 하여 표시 한다.
문법
if( ){
// true
}
예:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
String str = scanner.nextLine();
// Hello,
if(str.equals("Hello")){
System.out.println(str);
}
scanner.close();
}
if 이중 선택 구조지금 수요 가 있다 고 가정 하면 회 사 는 소프트웨어 를 인수 하려 고 한다.성공 하면 100 만 위안 을 지불 하고 실패 하면 스스로 사람 을 찾 아 개발 해 야 한다.이러한 수 요 는 하나의 if 로 결정 할 수 없다.우 리 는 두 가지 판단 이 필요 하고 하나의 이중 선택 구조 가 필요 하기 때문에 if-else 구조 가 있다.
문법
if( ){
// true
}else{
// false
}
예:
public static void main(String[] args) {
// 60, ,
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
int score = scanner.nextInt();
if (score>=60){
System.out.println(" ");
}else{
System.out.println(" ");
}
scanner.close();
}
if 다 중 선택 구조우 리 는 방금 전 코드 가 실제 상황 에 부합 되 지 않 고 실제 상황 은 ABCD 가 존재 할 수 있 으 며 구간 다단 계 판단 이 존재 한 다 는 것 을 발견 했다.예 를 들 어 90-100 은 A,80-90 은 B.등 이다.생활 속 에서 우리 가 선택 할 때 두 가지 만 있 는 것 이 아니 기 때문에 여러 가지 선택 구조 로 이런 문 제 를 처리 해 야 한다!
문법
if( 1){
// 1 true
}else if( 2){
// 2 true
}else if( 3){
// 3 true
}else{
// true
}
예:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
int score = scanner.nextInt();
if (score==100){
System.out.println(" !!!");
}else if(score<100 && score>=90){
System.out.println("A");
}else if(score<90 && score>=70){
System.out.println("B");
}else if(score<70 && score>=60){
System.out.println("C");
}else if(score<60 && score>=0){
System.out.println(" , ");
}else{
System.out.println(" ");
}
scanner.close();
}
끼 워 넣 기 if 구조끼 워 넣 은 if...else 문 구 를 사용 하 는 것 은 합 법 적 입 니 다.즉,다른 if 나 else if 구문 에서 if 나 else if 문 구 를 사용 할 수 있다 는 것 이다.너 는 if 문장 처럼 else if..else 를 끼 워 넣 을 수 있다.
문법:
if( 1){
// 1 true
if( 2){
// 2 true
}
}
예:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" 1 100 ");
int i = scanner.nextInt();
if(i<=100){
if(i>=1){
System.out.println(" :"+i);
}else {
System.out.println(" ");
}
}else{
System.out.println(" ");
}
scanner.close();
}
스위치 다 중 선택 구조다 중 선택 구조 와 또 하나의 실현 방식 은 switch case 문 구 였 다.
switch case 문 구 는 하나의 변수 가 일련의 값 중의 특정한 값 과 같 는 지 판단 하고 모든 값 을 하나의 분기 라 고 합 니 다.
문법:
switch(expression){
case value:
//
break;//
case value:
//
break;//
// case
default://
//
}
switch 문장의 변수 형식 은 다음 과 같 습 니 다.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
String name = scanner.nextLine();
switch (name){
case " ":
System.out.println(name);
break;
case " ":
System.out.println(name);
break;
default:
System.out.println(" :"+name);
}
}
while 순환while 는 가장 기본 적 인 순환 입 니 다.불 표현 식 이 true 라면 순환 은 계속 실 행 됩 니 다.그것 의 구 조 는 다음 과 같다.
while( ){
//
}
예:while 순환 으로 1+2+3+...+100 의 합 을 계산 합 니 다.
public static void main(String[] args) {
// 1+2+3+...+100
int i = 0;
int sum = 0;//
while (i<=100){
sum = sum + i;
i++;
}
System.out.println(sum);//
}
do while 순환
do{
//
}while( );
예:do while 와 while 의 차이
public static void main(String[] args) {
int a = 0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("========================");
// out
do{
System.out.println(a);
a++;
}while (a<0);
}
순환 용for 순환 문 구 는 교 체 를 지원 하 는 통용 구조 로 가장 효과 적 이 고 유연 한 순환 구조 이다.
for 순환 실행 횟수 는 실행 전에 확 정 됩 니 다.문법 형식 은 다음 과 같 습 니 다.
for( ; ; ){
//
}
예 1:0 에서 100 사이 의 홀수 와 짝수 의 합 을 계산한다.
public static void main(String[] args) {
// 0 100
int odd = 0;//odd
int even = 0;//even
for (int i = 0; i < 100; i++) {
if(i%2==0){
even+=i;
}else {
odd+=i;
}
}
System.out.println(" :"+odd);// 2500
System.out.println(" :"+even);// 2450
}
예 2:for 순환 으로 1-1000 사이 에 5 로 나 눌 수 있 는 수 를 출력 하고 줄 당 3 개 를 출력 합 니 다.
public static void main(String[] args) {
// for 1-1000 5 , 3
for (int i = 1; i < 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){
System.out.println();
}
}
}
예 3:구구 곱셈 표 인쇄
public static void main(String[] args) {
//
for (int i = 1;i <= 9;i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
순환 을 위 한 강화자바 5 는 주로 배열 이나 집합 에 사용 되 는 증강 형 for 순환 을 도입 했다.증강 for 순환 문법 형식 은 다음 과 같 습 니 다.
for( : ){
//
}
1.증강 형 for 순환 을 사용 할 때 원 소 를 삭제 하 는 것 은 지원 되 지 않 습 니 다.
2.증강 형 for 순환 을 사용 할 때 옮 겨 다 니 는 집합 에 대해 null 판단 을 해 야 합 니 다.그렇지 않 으 면 빈 포인터 이상 을 일 으 킬 수 있 습 니 다.
public static void main(String[] args) {
// array
int [] array = {1,2,3,4,5,6};
for(int i : array){
System.out.print(i);// 123456
}
System.out.println();
//for(int i : array) for
for(int i=0;i<array.length;++i){
int j = array[i];
System.out.print(j);// 123456
}
}
break 와 continue
public static void main(String[] args) {
int i = 0;
int j = 0;
while (i<100){
i++;
if(i==30){
break;
}
System.out.println(i);// 1-29
}
System.out.println("------------------------");
while (j<100){
j++;
if(j%2==0){
continue;
}
System.out.println(j);// 100
}
}
연습:5 줄 의 정삼각형 과 역 삼각형 을 순환 인쇄 합 니 다.
public static void main(String[] args) {
//
for (int i=1;i<=5;i++) {
for (int j=5;j>=i;j--) {
System.out.print(" ");
}
for (int j=1;j<=i;j++){
System.out.print("*");
}
for(int j=1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void main(String[] args) {
//
int n=5;
for(int i=n;i>=1;i--){
for(int j=1;j<=n-i;j++){
System.out.print(" ");
}
for(int j=i*2-1;j>=1;j--){
System.out.print("*");
}
System.out.println();
}
}
총결산이 글 은 여기까지 입 니 다.당신 에 게 도움 이 되 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.