欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

关于流程控制

时间:2023-08-10
流程控制

人与程序交互的Scanner

我们可通过Scanner类来获取用户的输入

Scanner基本语法:

Scanner sc=new Scanner(System.in);

通过 Scanner 类的 next() 和 nextLine()方法获取输入的字符串;

在读取前一般需要使用 hasNext() 和 hasNextLine()判断是否还有输入的数据。

​if (sc.hasNext()){//后面没有加==就默认为true            //使用next接收数据            String str=sc.next();  //程序会一直等待用户输入完毕            System.out.println("输出的内容为:"+str);       }

nextLine():

// 以回车为结束符

1、nextLine() 方法返回输入回车之前的所有字符;

2、可以获得空白。

next():

// 以空格为结束符

1、一定要读取到有效字符后才可以结束输入;

2、对输入的有效字符之前遇到空白,next() 方法会自动将其去掉;

3、只有输入有效字符后才将其后面输入的空白作为分隔符或结束符;

4、next() 不能得到带有空格的字符串.

//输入数据Scanner sc=new Scanner(System.in);//接收数据String str=sc.nextLint();//关闭sc.close();

对于Scanner类的常用方法:

String nextLine() 接收控制台输入的一个字符串

int nextInt() 接收控制台输入的一个int型数据

double nextDouble() 接收控制台输入的一个double型数据

note : 对于char类型输入的数据 Scanner 类没有提供直接输入char类型的方法,可通过 chatAt() 方法从 next() 或者nextLine () 获取输入的字符

if选择结构

语法

if(布尔表达式){    //布尔表达式为true时执行}else{    //布尔表达式为flase时执行}​​//多选择结构//只执行其中一个if(布尔表达式1){    //布尔表达式1为true时执行}else if(布尔表达式2){      //布尔表达式2为true时执行}else if(布尔表达式3){    //布尔表达式3为true时执行}else{    //以上都不满足}

switch多选择结构

switch case 语句判断一个变量与一系列值中某个值是否相等,每一个值称为一个分支.

switch(expression){    case value1:        //语句1    case value2:        //语句2        break;                ````````//可以有任意数量的case语句    default:        //语句n+1        }

char grade='A';        switch(grade){            case 'A':  //执行                System.out.println("优秀");            case'B':                System.out.println("良好");                break;​                default:                    System.out.println("未知等级");       }

反编译

打开图示:

点开“我的电脑”,导航栏粘贴地址,找到对应demo的class文件复制 ,在IDEA中找到需要反编译的demo ,鼠标右键,打开所在文件夹下(show in Explorer)将前面所复制的class文件粘贴到该文件夹下,此时在IDEA中会生成一个新的demo,打开即可查看。

循环结构 最基本的while循环

while(布尔表达式){    //语句体}

只要布尔表达式 为true,循环就会一直下去造成死循环,我们应尽量避免;

我们大多需要一个让表达式失效的方式来结束循环,少部分情况需要一直循环,比如服务器的请求响应监听等;

//1+2+ ……+100public static void main(String[] args) { //1+……+100 int i=0; int sum=0; while (i<=100) { sum = sum + i; i++; } System.out.println(sum);//5050

do……while循环

对于while来说不满足条件则不能进入循环,do……while循环至少执行一次;

//初始化表达式 // 1do{ //语句体1 // 3 //语句体2 // 4}while(布尔表达式); // 2//执行顺序为 134>234>234……2不满足条件为止

for循环

是最有效、最灵活的循环结构

for(初始化变量;布尔表达式;变量更新){ //语句体}

在IDEA中使用快捷键 例如:100.for加回车可自动生成

//1——100能被5整除的数,且每行输出3个 public static void main(String[] args) { for (int i = 5; i <=100; i++) { if (i%5==0){ System.out.print(i+"t"); } if (i%(5*3)==0){ System.out.print("n"); //System.out.println(""); } } }

//九九乘法表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+"="+(j*i)+"t"); } System.out.println();//换行 } }

for和while的区别:

控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到

了,⽽while循环结束还可以继 续使⽤,如果你想继续使⽤,就⽤while,

否则推荐使⽤for。原因是for循环结束,该变量就从内存中消 失,能够提

⾼内存的使⽤效率。

在已知循环次数的时候使⽤推荐使⽤for,循环次数未知的时推荐使⽤

while。

增强for循环

public static void main(String[] args) { int[] numbers={10,20,30,40,50}; //遍历数组元素 for (int x:numbers){ System.out.print(x+" "); } }

跳出语句 break

break在任何循环语句的主体部分,均可使用break,强制退出循环,并不是结束程序;

continue

continue在循环语句体中,用于终止某次循环过程,即跳过循环语句中未执行的语句,接着进行下一次是否执行循环的判定;(结束本次循环,继续下次循环)

打印三角形

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

 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。