首页 > 编程语言 > 详细

Java流程控制

时间:2021-07-08 09:49:43      阅读:15      评论:0      收藏:0      [点我收藏+]

流程控制

  1. 用户交互Scanner

  2. 顺序结构

  3. 选择结构

  4. 循环结构

  5. break&continue

  6. 联系

Java流程控制Scanner

java.util.Scanner,通过Scanner类对象来获取用户的输入

基本语法

Scanner s=new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

public class Demo01 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("使用next方式接收:");//会被空格打断
       //判断用户是否输入字符串
       if(scanner.hasNext()){
           String str=scanner.next();
           System.out.println("输入的内容为:"+str);
      }
       scanner.close();//节约资源
  }
}
public class Demo02 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("使用nextLine方式接收:");//相比之下更加常用
       //判断是否还有输入
       if (scanner.hasNextLine()){
           String str=scanner.nextLine();
           System.out.println("输出的内容为:"+str);
      }
       scanner.close();
?
  }
}
package scanner;
?
import java.util.Scanner;
?
public class Demo04 {
   public static void main(String[] args) {
       //输入多个数字并求其总和与平均数,每输入一个数字用回车确认,通过非数字来结束输入并
       // 并输出执行结果
       Scanner scanner=new Scanner(System.in);
       //和
       double sum=0;
       //计算输入的多少个数字
       int m=0;
       //通过循环判断是否还有输入,并在里面对每一次结果进行求和统计
       while(scanner.hasNextDouble()){
           double x=scanner.nextDouble();
           m=m+1;//m++
           sum=sum+x;
           System.out.println("你输入了第"+m+"个数据,当前的结果sum="+sum);
           
      }
       System.out.println(m+"个数的和为"+sum);
       System.out.println(m+"个数的平均值是"+(sum/m));
       
  }
}
?

顺序结构

package struct;
?
public class Shunxu {
   public static void main(String[] args) {
       System.out.println("1");
       System.out.println("2");
       System.out.println("3");
       System.out.println("4");
  }
}
?

 

选择结构

package struct;
?
import java.util.Scanner;
?
public class XuanZe01 {
   public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
       System.out.println("请输入内容:");
       String s=scanner.nextLine();
       //equals判断是否字符串是否相等
       if(s.equals("hello")){
           System.out.println(s);
?
      }
       System.out.println("end");
       scanner.close();
  }
}
?
package struct;
?
import java.util.Scanner;
?
public class XuanZe02 {
   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();
  }
}
?
package struct;
?
import java.util.Scanner;
?
public class Xuanze03 {
   public static void main(String[] args) {
       //分数大于60就是及格,否则不及格
       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("优秀");
      } else if (score < 90 && score >= 75) {
           System.out.println("中等");
      } else if (score < 75 && score >= 60) {
           System.out.println("及格");
?
?
      } else if (score < 60) {
           System.out.println("不及格");
?
      }else{
           System.out.println("输入有误");
      }
       scanner.close();
  }
}
?
?

switch(expression){

case value:

//语句

break;//可选

case value:

//语句

break;//可选

//可以有任意数量的case语句

default://可选

//语句

}

package struct;
?
public class switchDemo01 {
   public static void main(String[] args) {
       //case穿透//switch 匹配一个具体的值
       char grade=‘C‘;
       switch (grade){
           case‘A‘:
               System.out.println("优秀");
               break;
           case‘B‘:
               System.out.println("良好");
           case ‘C‘:
               System.out.println("及格");
      }
  }
}
?

循环结构

while是最基本的循环

package struct;
?
public class while01 {
   public static void main(String[] args) {
       //输出1~100
       int i=0;
       while(i<100){
           i++;
           System.out.println(i);
      }
  }
}
?
package struct;
//死循环
public class while02 {
public static void main(String[] args) {
while (true){
//等待客户端连接
//定时检查任务
//......
}
}
}
package struct;

public class while03 {
public static void main(String[] args) {
//输出1~100
int i=0;
int sum=0;
while(i<=100){
sum=sum+i;
i++;
System.out.println(sum);
}
}
}

while是先判断后执行,dowhile是先执行后判断

package struct;

public class dowhile01 {
public static void main(String[] args) {
int i=0;
int sum=0;
do {
sum=sum+i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
package struct;

public class dowhile02 {
public static void main(String[] args) {
int a=0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("========================================");
do {
System.out.println(a);
a++;
}while (a<0);
}
}

循环之王 ::for循环

for(初始化 ; 布尔表达式 ; 更新){

//代码语句

}

package struct;

public class fordemo01 {
public static void main(String[] args) {
int a=1;//初始化条件
while (a<=100){//条件判断
System.out.println(a);//循环体
a+=2;//迭代
}
System.out.println("while循环结束!");
for(int i=1;i<=100;i++){
System.out.println(i);
}
System.out.println("for循环结束!");
}
}
//死循环
for(; ;){

}

快捷键

100.for

package struct;

public class fordemo02 {
public static void main(String[] args) {
//练习1:计算0-100之间的奇数和偶数的和
int addsum=0;
int evensum=0;
for (int i=0;i<100;i++){
if (i%2!=0){
addsum+=i;
}else{
evensum+=i;
}
}
System.out.println("奇数的和:"+addsum);
System.out.println("偶数的和:"+evensum);
}
}
package struct;
//经典嵌套for循环,打印九九乘法表
public class fordemo03 {
public static void main(String[] args) {
for (int j =1; j <= 9; j++) {
for (int i=1;i<=j;i++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}

增强for循环

for (声明语句:表达式){

//代码句子

}

package struct;

public class zengqiangfor {
public static void main(String[] args) {
int[]numbers={10,20,30,40,50};//定义了一个数组
for(int x:numbers){//1、
System.out.println(x);
}
for (int i = 0; i < 5; i++) {//2
System.out.println(numbers[i]);

}
}
}

break

package struct;

public class BreakDemo {
public static void main(String[] args) {
int i=0;
while (i<100){
i++;
System.out.println(i);
if (i==30){
break;
}
}
}
}

continue

package struct;

public class Continuedemo {
public static void main(String[] args) {
int i=0;
while (i<100){
i++;
if(i%10==0){
System.out.println();
continue;
}
System.out.print(i);
}
}
}
//break在任何循环语句的主体部分,均可用来控制循环语句的流程
// break用于强制退出循环,不执行循环的剩余语句.(break语句也在switch中使用)
//continue语句用在循环语句体中,用于中止某次循环过程,即跳过循环体中尚未执行的语句
//接着进行下一次是否执行循环的判定

打印三角形

package struct;

public class triangledemo {
public static void main(String[] args) {
//打印三角形 5行
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();
}
}
}

 

Java流程控制

原文:https://www.cnblogs.com/gwj0424/p/14984332.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!