Java 逻辑结构与方法函数详解刨析

⭐前言⭐

本文主要介绍JavaSE的逻辑结构和方法。
对一门编程语言逻辑结构和方法的理解是站在C语言之上的,建议配套C语言版本的分析一起食用
链接直达:💎C语言:函数💎

🌲逻辑结构

分支结构

if

//格式1
if(a){

}
//格式2
if(a){

}else{

}
//格式3
if(a){

}else if(b){

}else if(c){

}else{

}

需要注意的是,条件必须是布尔表达式

在C语言中if(1)表示进入执行,在Java中必须是if(true)

C语言中0代表false,非0代表true,但是在java中必须是true或者false

需要注意的else的悬垂问题

int x = 10;
int y = 20;
if(x==10)
    if(y==10)
        System.out.println("true");
else
    System.out.println("false");

我们很容易看见else和第一个if在同一个缩进上,所以什么也不输出?

我们看到输出了false,看来是进入到else和第二个循环是一起的

else和它最近的if在一起

在idea编译器中,敲下回车,自动缩进在第二个if。

switch

switch(整数|枚举|字符|字符串){
    case 内容1 : {
        内容满足时执行语句;
        [break;]
    }
    case 内容2 : {
        内容满足时执行语句;
        [break;]
    }
    default:{
        内容都不满足时执行语句;
        [break;]
    }
}

整数和字符很常见,字符串类型好像没有见过,下面给出例子

循环结构

while循环

while(a){

}

for循环

for(a;b;c){

}

do while循环

do{

}while(a);

需要注意的是,do while循环先执行后判断,while先判断后执行

break和continue

两者都是让循环结束,但是不同的是

break会直接结束整个循环

continue结束当前循环,进入下一个循环。

输入输出

输出

System.out.println(data); // 输出一个字符串, 带换行
System.out.print(data); // 输出一个字符串, 不带换行
System.out.printf(format, data); // 格式化输出,类似C语言中的printf

输入

Java中输入比较复杂

import java.util.Scanner; // 需要导入 util 包
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = scanner.nextLine();
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("请输入你的工资:");
float salary = scanner.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法

如果需要多组输入

Scanner sc = new Scanner(System.in);
double sum = 0.0;
int num = 0;
while (sc.hasNextDouble()) {
    double tmp = sc.nextDouble();
    sum += tmp;
    num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();

🌲方法

Java中的方法实质上就是C语言中的函数。

来一个求和方法

public static int addSum(int n){
    int sum = 0;
    for(int i=1;i<=n;i++){
        sum+=i;
    }
    return sum;
}

方法的重载

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int ret = add(a, b);
        System.out.println("ret = " + ret);
        double a2 = 10.5;
        double b2 = 20.5;
        double ret2 = add(a2, b2);
        System.out.println("ret2 = " + ret2);
        double a3 = 10.5;
        double b3 = 10.5;
        double c3 = 20.5;
        double ret3 = add(a3, b3, c3);
        System.out.println("ret3 = " + ret3);
    }
    public static int add(int x, int y) {
        return x + y;
    }
    public static double add(double x, double y) {
        return x + y;
    }
    public static double add(double x, double y, double z) {
        return x + y + z;
    }
}

方法的名字都叫 add. 但是有的 add 是计算 int 相加, 有的是 double 相加; 有的计算两个数字相加, 有的是计算三个数字相加.

同一个方法名字, 提供不同版本的实现, 称为方法重载

需要注意的是

  • 方法名相同
  • 方法的参数不同(参数个数或者参数类型)方法的返回值类型不影响重载.
  • 区分的重点是函数名字后面的参数(类型或者数量)

方法的递归

一个方法在执行的过程中自身调用自身的过程就称为递归。

为了避免死循环,递归必须要有中止条件。

到此这篇关于Java 逻辑结构与方法函数详解刨析的文章就介绍到这了,更多相关Java 逻辑结构内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 逻辑控制全面详解

    目录 1 顺序结构 2 分支结构 2.1 if语句 基本语法形式1: 示例代码1: 基本语法形式2: 示例代码2: 基本语法形式3: 示例代码3: 注意事项1: 注意事项2: 2.2 switch语句 基本语法格式 示例代码: 3 循环结构 3.1while循环 基本语法格式: 示例代码:输出1~10 3.2 break语句 3.3 continue语句 3.4 for循环 基本语法格式: for循环执行的顺序是: 示例代码: 3.5 do while 循环 基本语法格式: do whiie 循

  • Java 基础语法中的逻辑控制

    目录 Java 基础语法中的逻辑控制 一.逻辑控制语句 1. 顺序结构 2. 分支结构 3. 循环结构 二.输入输出方式 1. 输出到控制台 2. 从键盘输入 三.猜数字游戏 四.总结 Java 基础语法中的逻辑控制 一.逻辑控制语句 1. 顺序结构 像我们写的代码,执行时会按照从上到下一行一行的执行.这z就是顺序结构,不同的顺序,结果可能就不一样.如 System.out.println(1) System.out.println(2) System.out.println(3) 该代码结果为

  • Java的方法和this关键字如何理解与应用

    目录 步骤 1 .给顾客增加一个吃饭的方法 步骤 2 . 没有加static的属性和方法,一定需要先new对象 步骤 3 . 用new出来的对象去执行eat方法 步骤 4 . 怎么理解c.eat() 步骤 5 . 消息接受器 步骤 6 . 如果有两个顾客? 步骤 7 . 答案 步骤 8 .其实有个this 步骤 9 . 在eat方法里面直接使用this 步骤 10 . 构造方法 步骤 11 . 总结:this的意义是什么? 步骤 12 . 道理我都懂,那static又是什么? 步骤 13 . 本

  • Java中的逻辑结构详解

    Java中的逻辑结构 逻辑结构 Java中的逻辑结构 顺序结构分支结构循环结构 顺序结构 顺序结构顾名思义,就是按照代码的顺序依次往下执行,这个不必多讲 分支结构 分支结构又可以细分为两个: if-else-这两个单词相信都认识,翻译成中文就是我们平时所说的如果-就-,那么在Java中该怎么用呢: ①:if else: 它的基本语法结构如下: if(判断条件){ 语句1: }else{ 语句2: 当判断条件为真的时候,执行语句1,否则执行语句2 示例: import java.util.*; p

  • java方法及this关键字原理分析详解

    目录 步骤1 .给顾客增加一个吃饭的方法 步骤 2 . 没有加static的属性和方法,一定需要先new对象 步骤 3 . 用new出来的对象去执行eat方法 步骤 4 . 怎么理解c.eat() 步骤 5 . 消息接受器 步骤 6 . 如果有两个顾客? 步骤 7 . 答案 步骤 8 .其实有个this 步骤 9 . 在eat方法里面直接使用this 步骤 10 . 构造方法 步骤 11 . 总结:this的意义是什么? 步骤 12 . 道理我都懂,那static又是什么? 步骤 13 . 本节

  • Java程序顺序结构中逻辑控制语句详解流程

    目录 一.顺序结构 二.分支结构 1.if语句 2.switch 语句 三. 循环结构 1 .while 循环 2. break 3. continue 4.for循环 5.do while循环 四.输入输出 1.输出到控制台 2 .从键盘输入 五.练习 看前欣赏美图! 上才艺! 目录 一.顺序结构二.分支结构1.if语句2.switch 语句 三. 循环结构1 .while 循环2. break3. continue4.for循环5.do while循环 四.输入输出1.输出到控制台2 .从键

  • Java 逻辑结构与方法函数详解刨析

    ⭐前言⭐ 本文主要介绍JavaSE的逻辑结构和方法. 对一门编程语言逻辑结构和方法的理解是站在C语言之上的,建议配套C语言版本的分析一起食用 链接直达:

  • Java集合框架之List ArrayList LinkedList使用详解刨析

    目录 1. List 1.1 List 的常见方法 1.2 代码示例 2. ArrayList 2.1 介绍 2.2 ArrayList 的构造方法 2.3 ArrayList 底层数组的大小 3. LinkedList 3.1 介绍 3.2 LinkedList 的构造方法 4. 练习题 5. 扑克牌小游戏 1. List 1.1 List 的常见方法 方法 描述 boolean add(E e) 尾插 e void add(int index, E element) 将 e 插入到 inde

  • java compare compareTo方法区别详解

    1,compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable<T>接口的,必须重写public int compareTo (T o)方法,比如MapReduce中Map函数和Reduce函数处理的<key,value>,其中需要根据key对键值对进行排序,所以,key实现了WritableComparable<T>接口,实现这个接口可同时用于序列

  • Java集合框架之Stack Queue Deque使用详解刨析

    目录 1. Stack 1.1 介绍 1.2 常见方法 2. Queue 2.1 介绍 2.2 常见方法 3. Deque 3.1 介绍 3.2 常见方法 1. Stack 1.1 介绍 Stack 栈是 Vector 的一个子类,它实现了一个标准的后进先出的栈.它的底层是一个数组. 堆栈只定义了默认构造函数,用来创建一个空栈.堆栈除了包括由 Vector 定义的所有方法,也定义了自己的一些方法. 1.2 常见方法 方法 描述 E push(E item) 压栈 E pop() 出栈 E pee

  • java金钱处理方法实例详解

    java金钱处理方法实例详解 在支付行业中,涉及到对金钱的处理比较多.比如分转化成元.费率计算.手续费计算等等. 1.分转化成元 /** * 单位换算:分->元 * * @param amount * 分 * @param scale * 保留小数点位数 * @return */ public static String fenToYuan(long amount, int scale) { return new BigDecimal(amount).divide(new BigDecimal(

  • Java身份证验证方法实例详解

    Java身份证验证方法实例详解 身份证号码验证 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码, 八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码(前六位数) 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码(第七位至十四位) 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符. 4.顺序码(第十五位至十七位) 表示在同

  • Java基础之方法重写详解

    一.java方法重写 方法的重写是子类根据需求对父类继承的方法进行重新的编写,在重写时,可以使用super方法的方式来保留父类中的方法,注意:构造方法不可以被重写. 创建一个人类,属性包括姓名 性别 年龄 行为方法是输出信息 二.super关键字 方法重写时要在子类中定义一个和父类相同名称的方法,并采用super关键字super.方法名();,这样就实现了方法的重写 package cn.zhz.Kind.dh; public class Person1 { public String sex;

  • Java Collections.shuffle()方法案例详解

    Java.util.Collections类下有一个静态的shuffle()方法,如下: 1)static void shuffle(List<?> list)  使用默认随机源对列表进行置换,所有置换发生的可能性都是大致相等的. 2)static void shuffle(List<?> list, Random rand) 使用指定的随机源对指定列表进行置换,所有置换发生的可能性都是大致相等的,假定随机源是公平的. 通俗一点的说,就像洗牌一样,随机打乱原来的顺序. 注意:如果给

  • Java构造方法和方法重载详解

    目录 第一 构造方法的作用 第二 构造方法的特点 方法重载 总结 类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下三方面的作用: (1)在构造方法中为创建的对象初始化赋值 (2)在创建一个对象的时候,至少需要调用一个构造方法 (3)每一个类都有构造方法 一个例子加深对以上三条的理解 public class Car{ String name; String color; float price; } 上一篇文章已经讲解

  • C语言形参和实参传值和传址详解刨析

    目录 例题 分析 实参与形参 实际参数(实参): 形式参数(形参): 修改 分析 传值和传址 传值调用 传址调用 讲解知识点之前,我们先来做一道题! 例题 写一个函数可以交换两个整形变量的内容 例如: 交换前:20 30 交换后:30 20 题目让我们用函数的方式写 #include <stdio.h> void Swap1(int x, int y) { int z = 0; z = x; x = y; y = z; } int main() { int a = 0; int b = 0;

随机推荐