Java基础知识--逻辑控制

简介: java逻辑控制

输入输出
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

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

判断闰年
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语句
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类型

public class TestDemo2{
public static void main(String[] args){

int a=10;
while(a>=0){
    System.out.println("yes");
    a--;
}

}
}
复制代码
求5的阶乘
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循环
//求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);

}

}

目录
相关文章
|
2月前
|
Java C语言
【一步一步了解Java系列】:探索Java逻辑控制
【一步一步了解Java系列】:探索Java逻辑控制
31 1
|
3月前
|
Java
java基础(1)逻辑控制if、switch
本文继续介绍了Java中的基础逻辑控制语句,包括if-else语句和switch语句。文章通过示例代码展示了if-else语句如何根据条件判断执行不同的代码块,以及switch语句如何根据变量的值执行不同的case分支。还提供了一个使用Scanner类从键盘获取输入,并根据输入的数字输出对应的星期日的示例。最后提到了如何在IDEA中格式化代码。
37 2
|
6月前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
47 1
|
7月前
|
Java 调度 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第29天】 在现代软件开发中,多线程编程是一个不可忽视的领域。特别是在Java这种广泛使用的编程语言中,掌握多线程的概念和技术对于开发高效、响应迅速的应用程序至关重要。本文将深入探讨Java多线程的核心概念、实现机制以及常见问题的解决方案。我们将从基础出发,逐步揭示如何通过多线程提升程序性能,并且讨论并发编程中的挑战和解决策略。文章的目的是为开发者提供一个清晰的多线程编程指南,帮助他们在实际项目中有效地应用这些知识。
44 3
|
7月前
|
Java 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第26天】 在现代计算机科学中,多线程编程是一个复杂且强大的概念。Java作为一种广泛使用的编程语言,其对多线程的支持使得开发者能够创建出更为复杂、高效和响应迅速的应用程序。本文将深入探讨Java中的多线程编程,从基础概念到实际编程技巧,为读者提供全面的理解和实践指导。
|
7月前
|
监控 IDE Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第30天】 在现代软件开发中,多线程编程是提高应用程序性能和响应能力的关键。特别是在Java这样的多平台、多用途的编程语言中,掌握多线程技术至关重要。本文旨在为读者提供有关Java多线程编程的全面介绍,从基本概念到高级应用技巧,帮助初学者和有经验的开发者理解并有效使用多线程。文章不仅涉及基础理论,还包括代码示例和最佳实践,确保读者能够将知识应用于实际项目中。
|
7月前
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【5月更文挑战第28天】 在现代计算机科学中,多线程编程是一个重要的概念,它允许程序同时执行多个任务。在Java中,多线程编程是通过创建并管理线程来实现的。本文将介绍Java中多线程编程的基础知识,包括线程的概念、创建和控制线程的方法,以及线程同步和通信的相关技术。通过阅读本文,读者将对Java中的多线程编程有一个全面的了解,并能在实际编程中应用这些知识。
|
7月前
|
Java C语言
Java基础——逻辑控制
Java基础——逻辑控制
|
7月前
|
安全 Java 数据安全/隐私保护
Java中的多线程编程:基础知识与实践
【5月更文挑战第24天】 在现代软件开发中,多线程编程是提升应用性能和响应速度的关键技术之一。Java 作为一种广泛使用的编程语言,其内置的多线程功能为开发者提供了强大的并发处理能力。本文将深入探讨 Java 多线程的基础概念、实现机制以及在实际开发中的应用。我们将从线程的创建和管理出发,逐步讲解同步机制、死锁问题以及如何利用高级并发工具有效地构建稳定、高效的多线程应用。通过理论结合实例的方式,旨在帮助读者掌握 Java 多线程编程的核心技能,并在实际项目中灵活运用。
|
7月前
|
安全 Java
Java基础知识面试总结(全面,实时更新)
Java基础知识面试总结(全面,实时更新)