【Java学习】3.一些流程控制(输入,循环结构和选择结构,break和continue)

初学,肯定有很多理解错误或者表达错误的各种各样的错误的地方,发现错误还请多多指教!!!!!!!
1.用户交互Scanner
可以使用两种方式接收键盘数据。next和nextLine。区别如下:
next():
1,一定要读取到有效字符后才可以结束输入
2,对输入有效字符之前遇到的字符,next会自动除去
3,只有输入有效字符后才将后面输入的空白作为分隔符或者结束符
4,next不能得到带有空格的字符串
nextLine():
1,以Enter为结束符,即返回输入回车之前的所有字符
2,可以获得空白

输入什么数据类型就选择相应的next的后缀。其他地方也类似。
在这里插入图片描述
使用next()方式【以string类型为例】【可以去掉if】:
在这里插入图片描述
使用nextLine()方式【可以去掉if】:
在这里插入图片描述
两种方式的输入输出结果:
在这里插入图片描述
在这里插入图片描述
2.顺序结构
一条一条执行的结构
它的执行顺序是自上而下,依次执行。

3.选择结构
if结构
要严谨地囊括所有可能
使用嵌套的if语句是合法的
【一个方法:
s.equals(“字符串”)
用于判断s和“字符串”相等
类似于C语言里的strcmp函数】
单if的语句可以看上面的scanner。。。
if…else…双选择结构如下:
在这里插入图片描述
if…else if…else多选择结构如下:

在这里插入图片描述
switch结构
switch语句的基本结构如下,用于对n的值进行选择。
n的类型可以为int,byte,short,char,string
当n的值和case后的值相等时,执行后面的语句,遇到break就中止。如果没有break,就执行此后的语句直到break为止。
最后可以列出全部可能,也可以最后一条选择分支用default表示。
在这里插入图片描述

4.循环结构
1.while循环
如下,while后面的布尔表达式为真,就一直执行中括号内的语句。
先判断后循环。
在这里插入图片描述

2.do…while循环
基本格式如下。
与上一个循环不同的是,第一次执行该语句时,不会判断布尔表达式的真伪。即该语句至少执行一次,无论真伪。
先执行后判断。
在这里插入图片描述

3.for循环
和C语言很像【一模一样】我之前记的时候是这样想的:
从初始值开始,判断布尔表达式是否为真,为真则执行语句,然后更新变量。
快捷键【100.for】
在这里插入图片描述
顺便用Java写了一个九九乘法表哈哈哈,但是还不知道怎么控制行列回车。。。

public class lesson2 {
    
    

    public static void main(String[] args) {
    
    
        int i;
        int j;

        for (i=1;i<=9;i++){
    
    
            for (j=1;j<=i;j++) {
    
    
                System.out.print(j+"*"+i+"="+i*j+"\t");
                //这是不带回车的print
            }
            System.out.println("");
        }
    }
}

break和continue
break会跳出整个循环
continue会不执行当前值的循环,执行下一个值的循环
【有点难理解是不是,学过C语言的我已经理解一遍啦哈哈哈】
举个例子。
输出从1到10,用for循环。
如果在5 的时候加break,那么这个循环就中止了,不再循环。
如果加continue,那么5不输出了,继续执行下一个值
如下:
在这里插入图片描述
异常处理
try,catch,finally
尝试,捕获,最终
【快捷键:选中要被检查的代码,ctrl alt T】
catch后的括号写想要捕获的异常的类型。它有一个异常类型的关系树,写一个类型就能捕获它之下的所有分支。最高级是Throwable。

public static void main(String[] args) {
    
    
        int a=1;
        int b=0;
        try {
    
    //try的监控区域,尝试代码有没有exception
            System.out.println(a/b);
        }catch(ArithmeticException e) {
    
    
        	//括号内写想要捕获的异常类型,Throwable可以捕获error。
            //如果出现括号内的异常类型,就执行catch代码块的语句
            System.out.println("cuowu");
        }finally{
    
    //无论出不出现上述异常,都会执行finally内的语句
            System.out.println("ok");
        }
    }

如上所示。其中,finally区域可以不写。用于善后工作。
catch可以有多个,最小的异常放在前面,比如第一个捕获Throwable,第二个捕获error,那么error里的语句块就无法执行。

throw,throws主动抛出异常。

猜你喜欢

转载自blog.csdn.net/m0_51692337/article/details/111645061