Java——控制结构与函数

目录

  • 一、选择结构:
  • 二、循环结构
    • 中断控制流程语句
  • 三、函数

一、选择结构:

  • if(布尔表达式) 单种case
  • if (布尔表达式) …else 两种case
  • if (布尔) …else if (布尔) …else 可以多种case

多重:switch(表达式)

  • 多个case分支
  • 满足一个分支后,需要break
  • 最后一个分支为default

二、循环结构

  • while
  • do…while
  • for
package Primary;

/**
 * Java控制结构
 * @version 15:21 2019-09-29
 * @author xxwang1018
 */

class IfElseTest { //选择结构之if-else
    public void i2() {
        int a = 5;
        if(a>1) {
            System.out.println("aaaaaaa");
        }

        if(a>10) {
            System.out.println("bbbbbbb");
        } else {
            System.out.println("ccccccc");
        }

        if(a>10) {
            System.out.println("dddddd");
        }
        else if(a>=5) {
            System.out.println("eeeeee");
        }
        else {
            System.out.println("ffffff");
        }
    }
}
class SwitchTest { //选择结构之switch
    public void s1() {
        int a1 = 1;
        int a2 = 2;
        switch(a1+a2) {
            case 1: System.out.println("aaaaaaa");
                break;
            case 2: System.out.println("bbbbbbb");
                break;
            case 3: System.out.println("ccccccc");
                //break;
            default:System.out.println("ddddddd");
        }

        String b = "abc";
        switch(b) {
            case "abc": System.out.println("eeeeeee");
                break;
            case "def": System.out.println("fffffff");
                break;
            case "hgi": System.out.println("ggggggg");
                break;
            default:System.out.println("hhhhhhh");
        }
    }
}
class WhileTest { //循环结构之while
    public void w1() {
        System.out.println("=============While Test==========");
        int x = 10;
        while (x < 20) {
            System.out.print("value of x : " + x);
            x++;
            System.out.print("\n");
        }

        System.out.println("=============Do  While Test==========");
        x = 10;
        do {
            x++;
            if(x%2 == 0) {
                continue;
            }
            System.out.println("value of x : " + x);
        } while (x < 20);
    }
}
class ForTest { //循环结构之for
    public void f2() {
        for(int i=0;i<5;i++) {
            for(int j=0;j<5;j++) {
                if(j<=i) {
                    System.out.print("*");
                } else {
                    break;
                }
            }
            System.out.println();
        }
    }
}

public class ControlStructure {
    public static void main(String[] args) {
        new IfElseTest().i2();
        new WhileTest().w1();
        new ForTest().f2();
        new SwitchTest().s1();
    }
}

中断控制流程语句

  • break:跳出当前所在循环,执行循环后面的语句
  • continue: 中断正常的控制流程,将控制转移到最内层循环的首部;若用于 for 语句,跳到循环变量的更新部分
  • 带标签的 break 语句:类似 goto 语句,用于跳出多重循环;标签必须放在希望跳出的最外层循环之前,并且紧跟一个冒号
  • 带标签的 continue?语句:跳到与标签匹配的循环首部
import java.util.*;
import java.math.*;

/**
 * This program discribes special "break" statements
 * @version 15:40 2019-03-27
 * @auther xxwang1018
 */

public class SpecialBreak{
    public static void main(String[] args) {
        int[] score = new int[10];
        int total=0;
        for (int i = 0; i < 10; ++i){
            score[i] = (int) (1 + Math.random() * 100); //随机产生学生分数
            total+=score[i]; //计算总分
        }
        double average=1.0*total/10; //计算平均分
        int counter=0;
        /**
         count 用来记录第一个低于平均分的学生的序号,且必须要初始化
         */

        read_data:
        while(average<total){
            for(int i=0; i<10; ++i){
                if(score[i]>average)
                    System.out.println("Congratulations! You are ok!"); //对超过平均分的学生鼓励
                else{
                    System.out.println("\nThe first student who doesn't get an average score appears.");
                    counter=i;
                    break read_data;
                }
                System.out.println(score[i]);
            }
        }
        System.out.println("\nThe average is "+average+"\nThis student's score is "+score[counter]);
    }
}

/*
测试结果:
Congratulations! You are ok!
92
Congratulations! You are ok!
85

The first student who doesn't get an average score appears.

The average is 61.6
This student's score is 39

三、函数

修饰词(public 或者 static) 返回值(int 或者void),函数名(形 参列表) {函数体}

  • 函数必须放在类的范围内。通常情况下,建议方法是public
  • 函数可以调用其他的函数,例如上例中,main函数调用了add函数
  • 递归函数调用,需要注意终止条件
  • 同一个类中,函数名称可以相同,即重载函数 (overload),但是函数参数的个数或者类型必须有所不同。不能以返回值来区分同名的函数
package Primary;

/**
 * Java函数
 * @version 15:42 2019-09-29
 * @author xxwang1018
 */

public class Function {
    public static void main(String[] args) {
        int a = 5;
        int b = factorialCalculation(a);
        System.out.println("The factorial of " + a + " is " + b);
    }

    public static int factorialCalculation(int m) {
        if (m > 1) {
            return m * factorialCalculation(m - 1);
        } else {
            return 1;
        }
    }
}

原文地址:https://www.cnblogs.com/xxwang1018/p/11607032.html

时间: 2024-11-01 14:27:47

Java——控制结构与函数的相关文章

2.scala控制结构、函数、异常处理

a:focus { outline: 5px auto -webkit-focus-ring-color } a:hover,a:active { outline: 0 } a { color: #0088cc; text-decoration: none } a:hover { color: #005580; text-decoration: underline } p { margin: 0 0 1.1em } small { font-size: 85% } strong { font-w

Scala学习(二)--- 控制结构和函数

控制结构和函数 摘要: 本篇主要学习在Scala中使用条件表达式.循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异.在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句)看做两样不同的东西.表达式有值,而语句执行动作.在Scala中,几乎所有构造出来的语法结构都有值.这个特性使得程序更加精简,也更易读.本篇的要点包括: 1. 表达式有值 2. 块也有值,是它最后一个表达式的值 3. Scala的for循环就像是"增强版"的Java for循环 4. 分号

快学Scala习题解答—第二章 控制结构和函数

2 控制结构和函数 2.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值 简单的逻辑判断 Scala代码   def signum(num:Int){if(num>0)print(1)else if(num<0)print(-1)else print(0)} Scala中已经有此方法了,刚才查找API的时候,应该能看到 Scala代码   BigInt(10).signum 2.2 一个空的块表达式{}的值

Scala的控制结构和函数

控制结构和函数 先看以下简单的一个条件表达式的demo object TestConditional { def main(args: Array[String]): Unit = { // scala的if判断表达式 var x = 1 if (x > 0) x = 10 else x = 20 println(x) } } Scala的if/else语法结构与java一样,如以上代码一样,需要注意的是当else部分缺失了比如:if(x>0) 1,这个if语句没有输出值,但是在Scala中,

java基础知识回顾之java Thread类学习(六)--java多线程同步函数用的锁

1.验证同步函数使用的锁----普通方法使用的锁 思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证.创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定.假设我们事先不知道同步函数用的是什么锁:如果在同步代码块中指定的某个锁(测试)和同步函数用的锁相同,就不会出现线程安全问题,如果锁不相同,就会发生线程安全问题. 看下面的代码:t1线程用的同步锁是obj,t2线程在操作同步函数的资源,假设不

不使用java内置函数,将String字符串转换为int类型

package com.test; public class AtoiTest { public static void main(String[] args) throws Exception { String s = "-011134"; System.out.println("转换前的字符串:" + s); System.out.println("atoi1转换后的字符串:" + atoi1(s)); System.out.println(

Android使用JNI(从java调用本地函数)

当编写一个混合有本地C代码和Java的应用程序时,需要使用Java本地接口(JNI)作为连接桥梁.JNI作为一个软件层和API,允许使用本地代码调用Java对象的方法,同时也允许在Java方法中调用本地函数. 在Java端,开发者所需要做的仅仅是在连接本地函数的方法之前加上native关键字.这样VM就会去寻找这个本地函数. 1.从Java调用本地函数 从Java调用本地函数时,需要在类中定义一个带有native关键字的特有方法,作为连接本地代码的桥梁.通过这个定义,尝试调用本地方法时JVM会找

c/c++和java实现swap函数的不同处

首先我们来看一下在c/c++中实现的swap函数 void swap ( int & a, int & b) { int Temp; temp = a; a = b; b = temp; } 那么在java中是否还能这样呢,很显然java中没有地址引用符号了. 首先我们来看下c/c++和java的区别. 本质区别 C/C++中swap功能的本质:通过传递变量地址(指针或引用)来交换变量地址中的值. Java标榜其中对C/C++一个很大的改进就是:Java对程序员屏蔽了变量地址的概念,减少指

java String.split()函数的用法分析

在java.lang包中有String.split()方法的原型是:public String[] split(String regex, int limit)split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组.在其中每个出现regex的位置都要进行分解.需要注意是有以下几点:(1)regex是可选项.字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符.如果忽略该选项,返回包含整个字符串的单一元素数组.(2)limit也是可选项.