Java-流程控制语句

流程控制语句

顺序语句:程序至上而下执行,一条执行完毕后再执行下一条,一直执行到程序末尾;html

选择语句:判断语句,根据条件来选择到底执行哪一个语句;java

循环语句:根据条件来判断执行的次数。算法

 

一、 控制台输入

执行步骤:先有键盘,链接设备、安装驱动,输入数字dom

import java.util.Scanner;  //该代码必须在package下一行,如无package声明,可在首行函数

new Scanner(System.in).nextInt()         //获得用户输入的整数spa

new Scanmer (System.in).nextDouble()    //获得用户输入的浮点数code

new Scanner(System.in).next()           //获得用户输入的字符串,空格结束htm

new Scanner(System.in).nextLine()       //获得用户输入的字符串,换行结束blog

范例:ci

import java.util.Scanner;   //导包(装键盘驱动),Scanner能够变成*

public class demo2{

         public static void main(String[] args) {  

                  Scanner scan = new Scanner(System.in);  //链接键盘,scan是一个名字,能够随意取

                  System.out.println("请输入整数");

                  int num1 = scan.nextInt();

                  System.out.println("你输入的整数是"+num1);

                  System.out.println("请输入小数");

                  double num2 = scan.nextDouble();

                  System.out.println("你输入的小数是"+num2);

         }

}

import java.util.Scanner;

public class demo4{

         public static void main(String[] args) {

                  System.out.println("东软跨境电商平台");

                  System.out.println("1.制造商管理");

                  System.out.println("2.商品管理");

                  System.out.println("请输入你的选择");

                  Scanner scan = new Scanner(System.in);

                  int a = scan.nextInt();

                  if(a==1){

                          System.out.println("进入东软跨境电商平台");

                  }else if(a==2){

                          System.out.println("进入1.制造商管理");

                  }else if(a==3){

                          System.out.println("进入2.商品管理");

                  }else{

                          System.out.println("退出");

                  }

         }

}

产生随机数

    随机数:在产生过程当中是按照部分几率随机产生的,其结果是不可预测的;

    伪随机数:计算机中的随机函数是按照必定算法模拟产生的,所以成为伪随机数

import java.util.Random;  //该代码必须在package下一行,如无package声明,可在首行

多行import能够依次编写,import代码没有必须顺序

产生随机代码:new Randow().nextInt(正整数);

括号中的数字表明产生随机数的范围,如为10,则产生0~9之间的随机整数

import java.util.Random;

public class demo40{

         public static void main(String[] args) {

                  int a = new Random().nextInt(10);

                  System.out.println("随机数为"+a);

         }

}   //随机数为2

 

二、 选择语句if

1).If语句语法格式1

If(判断条件){

    语句;

}

判断语句能够是一个boolean值,也能够是一个表达式(结果也必须是boolean值)

public class demo30{

         public static void main(String[] args) {

                  int a = 3 ;

                  if (a>10){

                          System.out.println(a);

                  }

                  System.out.println("a<10");  

         }

}

2).If语句语法格式2

If(判断条件){

成立时的语句;

}

Else{

不成立时的语句;

}

public class demo31{

         public static void main(String[] args) {

                  int a = 3 ;

                  if (a%2==1){

                          System.out.println("奇数");

                  }

                  else{

                          System.out.println("偶数");  

                  }

         }

}

System.out.println((a%2==1)?"奇数":"偶数");    以上if语句等同于此三目运算符

If语句中的花括号能够省略,可是不建议省略

3).If语句语法格式3:

If(判断条件){

成立时的语句;

}

Else if{

成立时的语句1;

}

Else {

不成立时的语句;

}

public class demo1{

         public static void main(String[] args) {

                  int a = 3 ;    

                  if(a==1){

                           System.out.println("a的值等于1");

                  }else if(a==2){

                          System.out.println("a的值等于2");

                  }else if(a==3){

                          System.out.println("a的值等于3");

                  }else{

                          System.out.println("其余数字");

                  }

         }

}

 

三、 选择语句switch

语法格式

Switch(表达式|变量){

   Case  值1:

语句;

[ break; ]

   Case  值2:

语句;

[ break; ]

 Default:

          语句;

}

import java.util.Scanner;

public class demo5{

         public static void main(String[] args) {

                  System.out.println("东软跨境电商平台");

                  System.out.println("1.制造商管理");

                  System.out.println("2.商品管理");

                  System.out.println("请输入你的选择");

                  Scanner scan = new Scanner(System.in);

                  int a = scan.nextInt();

                  switch(a){

                  case 1:

                          System.out.println("进入东软跨境电商平台");

                          break;

                  case 2:

                          System.out.println("进入1.制造商管理");

                          break;

                  case 3:

                          System.out.println("进入2.商品管理");

                          break;

                  default:

                          System.out.println("退出");

                  }

         }

}

说明:

a).Switch支持的类型:byte、int、short、char、String、Byte、Integer、Character、枚举,注意不支持boolean,包括返回boolean类型的表达式

b).case后面的值不可重复(和unicode转义字符集重复也不行),不一样进制的相同值也不行

c).case后面的值类型不必定要统一,但需是支持的类型,且能够相互转换的

d).default的位置能够改变,但若不在末尾,建议给default增长一个break;

e).case后面的值必须是常量,不能够是变量

public class demo6{

         public static void main(String[] args) {

                  char input = '男';   //采用的是unicode转义字符集,\u7537

                  switch(input){

                  case 'a':

                          System.out.println("进入东软跨境电商平台");

                          break;

                  case '男':

                          System.out.println("进入1.制造商管理");

                          break;

                  case 999:

                          System.out.println("进入2.商品管理");

                          break;

                  default:

                          System.out.println("退出");

                  }

         }

}   //运行正常

public class demo7{

         public static void main(String[] args) {

                  char input = 86;

                  switch(input/10){

                  case 10:

                          System.out.println("满分");

                          break;

                  case 9:

                          System.out.println("优秀");

                          break;

                  default:

                          System.out.println("差");

                          break;

                  case 8:

                          System.out.println("良好");

                          break;

                  }

         }

}

public class demo8{

         public static void main(String[] args) {

                  char input = 95;

                  final int Y = 9;  //常量的表示,在前面加上final,且名字建议所有为大写

                  switch(input/10){

                  case 10:

                          System.out.println("满分");

                          break;

                  case Y:

                          System.out.println("优秀");

                          break;

                  default:

                          System.out.println("差");

                          break;

                  case 8:

                          System.out.println("良好");

                          break;

                  }

         }

}       //返回 优秀

 

四、 循环语句while

语法格式:

while(循环判断条件){

语句;

}

public class demo11{

         public static void main(String[] args) {

                  int a = 1;

                  int sum = 0;

                  while(a<=100){

                          sum += a;

                          a++;

                  }

                  System.out.println("结果为"+sum);

         }

}     //结果为5050

 

五、 循环语句do…while

语法格式:

do{

语句;

}while(循环判断条件);

public class demo13{

         public static void main(String[] args) {

                  int a = 1;

                  int sum = 0;

                  do{

                      sum += a;

                          a++;

                  }while(a<=100);

                  System.out.println("结果为"+sum);

         }

}

While和do…while的区别:

While是先判断,符合条件才执行语句;Do…while不论是否符合都先执行语句,再进行判断

Do…while最少执行一次,while能够一次都不执行;

语法上,Do…while后面必须加上分号,while后面能够不加分号。

练习1:打印出100之内全部的奇数

public class demo14{

         public static void main(String[] args) {

                  int a = 1;

                  while (a<=100){

                  switch(a%2){

                  case 1:

                          System.out.print(a);

                          break;

                  case 0:

                          System.out.print(",");

                  }a++;

                  }

         }

}

练习2:求10之内奇数之积

public class demo15{

         public static void main(String[] args) {

                  int a = 1 ;

                  int sum = 1 ;

                  while (a<=10){

                  switch(a%2){

                  case 1:

                          sum *= a;

                          break;

                  }

                  a++;

                  }

                  System.out.print(sum);

         }

}

 

六、 循环语句for

语法格式

for (初始化部分; 循环条件判断部分; 迭代部分){

         执行语句块;

}

范例

public class demo20{

         public static void main(String[] args) {

                  int sum = 0 ;

                  for(int a=1;a<=100;a++){

                          sum +=a;

                  }

                  System.out.print(sum);

         }

}

For循环中的3个部分均可以省略,可是格式不能变

For循环中的3个部分能够包含多个变量,不仅是一个变量

public class demo21{

         public static void main(String[] args) {

                  int a = 1 ;

                  int sum = 0 ;

                  for(;;){

                          if(a<=100){

                                   sum +=a;

                                   a++;

                          }else{

                                   break;

                                   }

                  }System.out.print(sum);

         }

}

public class demo29{

         public static void main(String[] args) {

                  int sum = 0 ;

                  for(int a=1;a<=100;sum+=a,a++){

                  }

                  System.out.println(sum);

         }

}

For的判断条件能够是任意的基本数据类型之一,包括boolean

public class demo40{

         public static void main(String[] args) {

                  boolean flag = false;

                  for(;!flag;){

                          System.out.println("a");

                  }

         }

}

For语句中的花括号能够省略,但不建议省略

在for循环中,初始值部分和迭代部分能够是多个表达式,表达式之间用逗号分隔

public class demo25{

         public static void main(String[] args) {

                  for(int a=1,b=0;a<=10;a++,b++){

                          System.out.println("hello");

                  }

         }

}

public class demo26{

         public static void main(String[] args) {

                  for(int a=1,b=10;a<=b;a++,b--){

                          System.out.println(a*b);

                  }

         }

}

For的判断条件能够是语句,不仅是表达式

public class demo27{

         public static void main(String[] args) {

                  int i = 0 ;

                  for(System.out.print("初始值"),System.out.println(i);i<=3;System.out.println(i++)){

                  }

         }

}

 

七、 做用域

public class demo30{

         public static void main(String[] args) {

                  for(int a=1;a<=100;a++){

                          int sum = 0 ;

                          sum += a;

                  }

                  System.out.println(sum);

         }

}      //报错,找不到第七行的变量sum

 

八、 嵌套

难点:for循环的嵌套

public class demo31{

         public static void main(String[] args) {

                  for(int a=1;a<=5;a++){       //第一个for循环 负责行数

                          for(int b=1;b<=8;b++){   //第二个for循环 负责每行的个数

                                   System.out.print("*");

                          }

                          System.out.println();

                  }

         }

}

 

 

九、 Break和continue语句

在使用循环语句时,只有循环条件为false时,才可结束循环。有时,咱们想提早终端循环,那就可使用break或continue语句,

Break语句能够迫使程序中断,跳出循环。Break语句用于终止最近的封闭循环或它所在的switch语句,控制传递给种植语句后面的语句。

public class demo32{

         public static void main(String[] args) {

                  for(int a=1;a<=5;a++){       //负责行数

                          if(a==4){

                                   break;

                          }

                          System.out.println(a);

                  }

         }

}

continue语句语句将控制权传递给它所在的封闭迭代语句的下一次迭代。

也就是说,continue语句能够跳出本次循环,继续执行下一次循环。

continue语句只能出如今循环语句while、do…while、for中

public class demo33{

         public static void main(String[] args) {

                  for(int a=1;a<=5;a++){       //负责行数

                          if(a==4){

                                   continue;

                          }

                          System.out.println(a);

                  }

         }

}

 

十、 死循环

         靠自身控制没法终止的程序称为“死循环”

  

 

课后练习题:

练习1:键盘输入一个月份,判断当月多少天?(2月28天)

import java.util.Scanner;

public class demo36{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入月份");

                  int month = scan.nextInt();

                          switch(month){

                          case 1:

                          case 3:                     

                          case 5:                              

                          case 7:                               

                          case 8:                                       

                          case 10:

                          case 12:

                                   System.out.println("你输入的月份有31天");

                                   break;

                          case 2:

                                   System.out.println("你输入的月份有28天");

                                   break;

                          case 4:

                          case 6:                     

                          case 9:                              

                          case 11:                            

                                   System.out.println("你输入的月份有30天");

                                   break;

                          default:

                                   System.out.println("你输入的月份有误");

                                   break;

                  }

         }

}

练习2:循环获得用户从控制台输入的5个整数,并计算出它们之和

import java.util.Scanner;

public class demo37{

         public static void main(String[] args) {

                  int sum = 0 ;

                  for(int a=1 ; a<=5 ; a++){

                          Scanner scan = new Scanner(System.in);

                          System.out.println("请输入整数");

                          int x = scan.nextInt();

                          sum += x;

                  }System.out.println("总数为"+sum);    

         }

}

 

 

做者:kerwin-chyl

文章连接:https:////www.cnblogs.com/kerwin-chyl

本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利