前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础知识--逻辑控制

Java基础知识--逻辑控制

作者头像
用户9996207
发布2023-01-13 14:40:03
2490
发布2023-01-13 14:40:03
举报
文章被收录于专栏:学习之旅111学习之旅111

输入输出

代码语言:javascript
复制
import java.util.Scanner;
public class TestDemo1{
public static void main(String[] args){
    Scanner scan =new Scanner (System.in);
    int a=scan.nextInt();//输入一个整型
    System.out.println(a);
    String str=scan.next();//输入一个字符串
    System.out.println(str);
    }
}

要是使用

String str=scan.nextLine(); System.out.println(str);

打印出数字之后就会结束程序,因为str把回车键录了进去,所以读入int和String 类型时,应该使用String str=scan.next();

使用scan.next读到空格就结束了,而使用scan.nextLine可以正常读入带有空格的字符串

image-20220329211131593
image-20220329211131593
代码语言:javascript
复制
import java.util.Scanner;
public class TestDemo2{
public static void main(String[] args){
    Scanner scan =new Scanner (System.in);
    int a=scan.nextInt();
    System.out.println(a);
    //String str=scan.nextLine();//会读入空格,无法录入字符串
    //System.out.println(str);
    String str=scan.next();//可以接着数字后面输入字符串
    System.out.println(str);
}
}
//但是单独输入字符串,String str=scan.nextLine()就可以打印出带空格的完整的字符串,而
//String str=scan.next()只会打印到空格之前的字符串

顺序结构

正常写就行

分支结构

if else

if括号里面的必须是布尔类型的表达式

eg:if(a==10)

image-20220331093136923
image-20220331093136923
判断闰年
代码语言:javascript
复制
import java.util.Scanner;//包
public class TestDemo1{
public static void main(String[] args){
    Scanner scan =new Scanner (System.in);
    while(scan.hasNextInt()){		//多组输入
            int year=scan.nextInt();
            if((year%4==0&&year%100!=0)||(year%400==0))
            {
                System.out.println("闰年");
            }
            else {
            System.out.println("不是闰年");
            }
    }	
}
}

else会与最近的未匹配的if结合

if语句只会进入一个条件里面

(多组输入结束的方法:按ctrl+C(强制终止)或者 ctrl+D也可以结束程序)

switch语句

代码语言:javascript
复制
import java.util.Scanner;
public class TestDemo1{
public static void main(String[] args){
    Scanner scan =new Scanner (System.in);
    while(scan.hasNextInt()){     //多组输入
        int a=scan.nextInt();
        switch(a){    //写switch语句时,(在没有特殊情况下)不要忘记写break
            case 1:
            System.out.println("1");
            break;
            case 2:
            System.out.println("2");
            break;
            default :
            System.out.println("错误");
            break;
        }
    }
}   
}

哪些类型不能作为switch参数?

long float double boolean

String 和 枚举也是可以作为switch的参数

循环语句

while循环

与if语句一样,while语句后面的参数也要是boolean类型

代码语言:javascript
复制
public class TestDemo2{
public static void main(String[] args){
    int a=10;
    while(a>=0){
        System.out.println("yes");
        a--;
    }
}
}
求5的阶乘
代码语言:javascript
复制
public class TestDemo2{
public static void main(String[] args){
     int i=1;
    int ret=1;
    int num=5;
    int sum=0;
    while(i<=5){
        ret*=i;
        i++;
        sum+=ret;
    }
    System.out.println(sum);
    }
}
break与continue

break是跳出循环,break是在循环和循环中使用

continue是解释本次循环,continue只能在循环中使用

for循环

代码语言:javascript
复制
//求5!+4!+3!+2!+1!
import java.util.Scanner;
public class TestDemo3 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a=scan.nextInt();//5
        int ret=1;
        int sum=0;
        //方法一:
        for(int j=1;j<=a;j++){
            for(int i=1;i<=j;i++){
                ret*=i;
            }
            sum+=ret;
            ret=1;//记得重置
        }
        System.out.println(sum);
        //方法二:
        //for(int i=1;i<=a;i++){
        //	ret*=i;
        //	sum+=ret;
        //	
        //}
        //System.out.print(sum);
   }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 输入输出
  • 顺序结构
  • 分支结构
    • if else
      • 判断闰年
  • switch语句
  • 循环语句
    • while循环
      • 求5的阶乘
      • break与continue
    • for循环
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档