java流程控制
  wDEQCMw5w7sG 2023年11月01日 77 0

流程控制

用户交互

java通过Scanner类来获取用户输入

基本语法

Scanner in = new Scanner(System.in);

之后通过Scanner的next()和nextLine()获取输入字符串,读取前一般用hasNext()和hasNextLine()判断是否还有输入数据

Scanner in = new Scanner(System.in);
if(in.hasNext()){
    String str = in.next();
    System.out.println(str);
}
// in: abcd ef
// out:abcd
/*
如果是nextLine和hasNextLine 
out:abcd ef
*/
//前者以非空白开始,以空白为结束符;后者以enter为结束符
in.close();
//关闭scanner,节省资源

Scaner的其他方法:整数

if (in.hasNextInt()){
                int a = in.nextInt();
                System.out.println(a);
 }else{
                System.out.println("输入不是整数");
            }

小数:

if (in.hasNextDouble()){
                Double a = in.nextDouble();
                System.out.println(a);
 }else{
                System.out.println("输入不是小数");
            }
//Float 同理

ctrl + 左键 :进入源代码

顺序结构

java的基本结构,字面意思,一句一句的向下执行

选择结构

if单选择

String s = "hi"
if(s.equals("hello")){
    
}
// equals是字符串的方法,判断字符串是否相等

if双选择

if(){
    
}
else{
    
}

if多选择

if(a>5){
     System.out.println(a>5);
}
else if(a>4){
     System.out.println(5>a>4);
}
else if(a>3){
     System.out.println(4>a>3);
}
else{
    
}

嵌套if

if(){
    if(){
        
    }
}

swich-case

switch (a){
    case 1:
        System.out.println("1");
        break;
    case 4:
        System.out.println("4");
    case 6:
        System.out.println("6");
        break;
    default:
        System.out.println("其他");
}
// in:4
// out:4 
//     6

// case 后面可以是数字或者字符串

idea反编译

正常情况:java 经过编译变成 class 文件,class文件无法正常阅读(像乱码),将class文件从文件夹层面直接拖到java类的文件夹里就可以正常阅读了

循环结构

while 循环

while(){
    
}

do while 循环

do{
    
}while()

do while 循环至少会执行一次,先执行后判断

for 循环

for(初始化;布尔表达式;更新){
    
}
//idea 快捷键100.for

增强for循环

int[] number = {10,20,30,40}
for (int x : number)
{
    
}

break & continue

循环中的:

break :强制退出循环

continue:终止某一次循环

关于goto:尽管其是一个保留关键字,但从未在java中正式使用。goto的功能被break和continue替代了

outer:
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (i % j == 0) {
            continue outer;
            //跳转到外层的下一次for循环
        }
    }
}
//outer为标签,可以为不同命名name

练习

利用循环写一个三角形:

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();
}

最后效果:

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   110   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
wDEQCMw5w7sG