基础学习day03---程序结构与控制、函数与数组入门

一、程序结构

1、顺序结构

2、选择结构

3、循环结构

二、顺序结构

程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾

三、条件选择结构

选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构

3.1 、IF语句--单分支结构

if (判断条件){

语句1 ;



package com.day03;
/**
 * 比较2个数的大小
 * @author Administrator
 *
 */
public class IFTest1 {

    public static void main(String[] args) {
        int x=3;
        int y=10;
        System.out.println("====开始比较=====");
        if(x>y){
            System.out.println("x比y大!");
        }
        if(x<y){
            System.out.println("x比y小!");
        }
        if(x==y){
            System.out.println("x等于y!");
        }
        System.out.println("====比较完成!=====");
    }

}


3.2、if...else语句--双分支结构

if (判断条件){

语句主体1 ;

}else{

语句主体2;

}



package com.day03;

/**
 * 判断一个数是奇数还是偶数
 *
 * @author Administrator
 *
 */
public class IFELSETest {

    public static void main(String[] args) {

        int x = 3;
        if (x % 2 == 0) {
            System.out.println(x + "是偶数!");
        } else {
            System.out.println(x + "是奇数!");
        }

    }

}


3.3、if…else if…else语句 --多分支结构

如果需要在if..else里判断多个条件时,就需要if..else if … else语句了,其格式如下:

if (条件判断1){

语句主体1 ;

}else if (条件判断2){

语句主体 2 ;

}

… // 多个else if()语句

else{

语句主体3 ;

}

package pb.test;

public class test6 {

    public static void main(String[] args) {
        int x=3;
        if(x==1){
            System.out.println("x的值是1!");
        }else if(x==2){
            System.out.println("x的值是2!");
        }else if(x==3){
            System.out.println("x的值是3!");
        }else{
            System.out.println("x的值不是1,2,3 中的一个!");
        }

    }

}

四、Switch结构

要在许多的选择条件中找到并执行其中一个符合判断条件的语句时,除了可以使用if..else不断地判断之外,也可以使用另一种更方便的方式即多重选择——switch语句,语法格式:

switch (表达式){

case 选择值1 : 语句主体 1 ;        break ;

case 选择值2 : 语句主体 2 ;                 break ;

…….

case 选择值n : 语句主体 n ;                break ; default:  语句主体 ;

}

 

4.1、正常运行的Switch



package com;

import java.util.Scanner;

/**
* 根据用户指定的朋份,打印该月份所属的季节
*                 12,1,2冬
                 * 2,3,4春
                 * 5,6,7夏季
                 * 9,10,11秋季
*/
public class SwitchTest {

        public static void main(String[] args) {
                //定义扫描器变量
                Scanner scanner=new Scanner(System.in);
                //定义变量接收
                int num=scanner.nextInt();
                /**
                 * 数值类型的结果,并不是很多时用switch
                 */
                 switch(num){  //byte short int char只接收4种类型  JDK7以上switch可以判断字符串
                         case 3:
                         case        4:
                         case 5:
                                 System.out.println(num+"春季");
                                 break;
                         case 6:
                         case        7:
                         case 8:
                                 System.out.println(num+"夏季");
                                 break;
                         case 9:
                         case        10:
                         case 11:
                                 System.out.println(num+"秋季");
                                 break;
                         case 12:
                         case        1:
                         case 2:
                                 System.out.println(num+"冬季");
                                 break;
                         default:
                                 System.out.println("输入 错误,请输入1--12之间的数字");
                 }

        }

}


4.2、没有Break的Switch



package com;

/**
 * 根据操作符做相应的操作
 *
 * @author Denny
 *
 */
public class SwitchTest2 {

        public static void main(String[] args) {
                int a = 10;
                int b = 3;
                char c = ‘+‘;

                switch (c) {
                default:
                        System.out.println("未知操作符");
                case ‘+‘:
                        System.out.println("a+b=" + (a + b));
                case ‘-‘:
                        System.out.println("a-b=" + (a - b));
                case ‘*‘:
                        System.out.println("a*b=" + (a * b));
                case ‘/‘:
                        System.out.println("a/b=" + (a / b));

                }

        }

}


五、循环while和do..while

5.1、While循环



package com.day03;
/**
 * 使用While进行100以内累加操作
 * @author Administrator
 *
 */
public class WhileTest {

    public static void main(String[] args) {

        int i=1;  //变量
        int sum=0; //和

        while(i<=100){//先判断条件
            sum+=i;
            i++;
        }
        System.out.println("100以内整数之和:"+sum);

    }

}


5.2 do...while

package com.day03;

/**
 * 使用do...While进行100以内累加操作
 *
 * @author Administrator
 *
 */
public class DoWhileTest {

    public static void main(String[] args) {
        int i = 1; // 变量
        int sum = 0; // 和

        do {
            sum += i;
            i++;

        } while (i <= 100);

        System.out.println("100以内整数之和:" + sum);
    }

}

5.3、while和do..while区别

 



package com.db1;

public class WhileDemo {

        public static void main(String[] args) {
                //while 判断条件可能一次也不执行
                int x=1;

                while(x<3);
                {
                        System.out.println("x="+x);
                        x++;
                }

                //do while 最少执行一次
                int y=1;

                do{
                        System.out.println("do:y="+y);
                        y++;
                }while(y<3);

        }

}


六、for循环

 

6.1、for循环基本结构

for (赋值初值;判断条件;赋值增减量){

语句1 ;

….

语句n ;

}

 


6.2、使用for进行100以内累加操作

package com.day03;
/**
 * 使用for进行100以内累加操作
 * @author Administrator
 *
 */
public class ForTest {

    public static void main(String[] args) {
        int sum=0;
        for (int i = 0; i <=100; i++) {
            sum+=i;
        }
        System.out.println("100以内整数之和:" + sum);
    }

}

6.3、打印99乖法表

双循环打印
package com.db1;

/**
 * 打印99乖法表
 *
 * @author denny
 *
 */
public class Demo7 {

        public static void main(String[] args) {
                //外层循环控制行数
                for(int i=1;i<=9;i++){
                        //内层循环控制列
                        for (int j = 1; j <=i; j++) {
                                System.out.print(j+"*"+i+"="+(j*j)+"  ");
                        }
                        //换行
                        System.out.println();
                }

        }

}

一个循环打印



package com.db1;

/**
 * 打印99乖法表
 *
 * @author denny 一个循环打印
 */
public class Demo7_1 {

        public static void main(String[] args) {
                //一个循环
                for (int i = 1, j=1;i <=9; i++) {
                        //输出
            System.out.print(i+"*"+j+"="+i*j+"  ");
            if(i==j){
                    i=0;
                    j++;
                    System.out.println();
            }
          //当j>9是终止
                        if(j>9){
                                break;
                        }

    }

        }

}


另类写法



package com.day03;

public class ForTest2 {

    public static void main(String[] args) {

        int x=1;
        for(System.out.println("a");x<3;System.out.println("c")){
        System.out.println("d");
        x++;
        }
        //结果adcdc
    }

}


打印菱形



package com.day03;
/**
 * 打印菱形
 * @author Denny
 * 思路:使用for和循环
 * 1.先打印正三角,
 * 2.再打印倒三角
 *
 */
public class ForTest7 {

    public static void main(String[] args) {
        /*
         * 打印三角形
         */
        for(int x=0;x<5;x++){

            //打印空格
            for(int y=x+1;y<5;y++){
                System.out.print(" ");
            }
            //打印三角形
            for(int z=0;z<=x;z++){
                System.out.print("* ");
            }
            //换行
            System.out.println();

        }
        //倒三角
        for(int x=4;x>0;x--){

            //打印空格
            for(int y=x;y<=4;y++){
                System.out.print(" ");
            }
            //打印三角形
            for(int z=0;z<x;z++){
                System.out.print("* ");
            }
            //换行
            System.out.println();

        }

    }

}


七、break、continue、return

7.1、break

结果最近的和循环体,执行和循环体后的代码

package com.day03;
/**
 * 使用for和循环验证break
 * @author Administrator
 *
 */
public class BreakDemo {

    public static void main(String[] args) {

        for(int i=0;i<10;i++){
            if(i==5){
                break;//结束最近的和循环体 ,执行这个和循环体后面的代码
            }
            System.out.print(i+" ");

        }

        System.out.println("程序结束");
    }

}

结果:

0 1 2 3 4 程序结束

7.2、continue

跳过本次和循环,进行下次和循环



package com.day03;
/**
 * 使用for和循环验证continue
 * @author Administrator
 *
 */
public class ContinueDemo {

    public static void main(String[] args) {

        for(int i=0;i<10;i++){
            if(i==5){
                continue;  //跳过本次和循环执行下次和循环
            }
            System.out.print(i+" ");

        }

        System.out.println("程序结束");

    }

}


结果:

0 1 2 3 4 6 7 8 9 程序结束

7.3、return

结果程序



/**
 * 使用for和循环验证return
 * @author Administrator
 *
 */
public class ReturnDemo {

    public static void main(String[] args) {
        for(int i=0;i<10;i++){
            if(i==5){
                return;    //程序结束
            }
            System.out.print(i+" ");

        }

        System.out.println("程序结束");  //这里没有执行

    }

}

 

结果:

0 1 2 3 4 

八、函数(方法)

8.1 函数定义

函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。

函数的格式:
    修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
    {
          执行语句;
          return 返回值;
    }

返回值类型:函数运行后的结果的数据类型。
    参数类型:是形式参数的数据类型。
    形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
    实际参数:传递给形式参数的具体数值。
    return:用于结束函数。
    返回值:该函数运算后的结果,该结果会返回给调用者。

8.2、函数特点

1、定义函数可以将功能代码进行封装。
    2、便于对该功能进行复用。
    3、函数只有被调用才会被执行。
    4、函数的出现提高了代码的复用性。

P.S.
    1、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写,或者写上return;。

8.3、函数的应用



package com.day03;
/**
 * 函数
 * @author denny
 *
 */
public class FunctionDemo {

    public static void main(String[] args) {

        String str="Hello";
        getString(str);
    }
    public static void getString(String str){
        System.out.println(str);
    }

}


8.4、函数的重载

重载的概念:
    在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可和返回值类型无关
    重载的好处:
    代码复用提高,提高阅读性

package com.day03;
/**
 * 函数
 * @author denny
 *
 */
public class FunctionDemo {

    public static void main(String[] args) {
        System.out.println(add(4,5));
        System.out.println(add(4,5,6));
        System.out.println(add(2.0,3.5));
    }
    //2个整数参数
    public static int  add(int x, int y){
        return x+y;
    }
    //3个整数参数
    public static int  add(int x, int y,int z){
        return x+y+z;
    }
    //2个double参数
    public static double  add(double x, double y){
        return x+y;
    }

}

九、数组

9.1、什么数组

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,

数组按照使用可以分为一维数组、二维数组、多维数组。同一数组中的变量数据类型相同

9.2、数组的优点

不使用数组定义100个整型变量:int i1;int i2;…int i100

使用数组定义:int i[100]

同一类型的多个变量可以使用数组来完成

9.3、数组的定义和格式

格式一:

元素类型[] 数组名=new 元素类型[元素个数或者数组长度];

示例:int [] arr=new int[5];

格式2:

元素类型[] 数组名=new 元素类型{元素1,元素2,...元素n};

示例:int [] arr=new int[5,3,6,8,9];

数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中“长度”是告诉编译器,所声明的数组要存放多少个元素,

而“new”则是命令编译器根据括号里的长度开辟空间。

9.4、内存分配和特点

int [] arr=new int[4];

9.5、常识

数组的下标是从0开始的,

最后的元素下标是[长度-1】

可以通过下标赋值:arr[0]=2,arr[3]=5..

时间: 2024-10-04 12:56:09

基础学习day03---程序结构与控制、函数与数组入门的相关文章

python3编程基础之一:程序结构

程序从程序入口进入,到程序执行结束,大体是按照顺序结构执行语句.函数或代码块,掌握程序的结构,有利于把握程序的主体框架. 1.顺序结构--最常见的结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行.程序的执行严格按照程序语句在程序中出现的先后顺序执行,如果修改了程序语句的顺序,就会影响程序的执行结果.其实无论多么复杂的程序,大概都是按照顺序结构执行的. rad = int(input('please input the rad: '))

C语言基础知识【程序结构】

C 程序结构1.C 程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释2.#include <stdio.h> int main(){   /* 我的第一个 C 程序 */   printf("Hello, World! \n");      return 0;}接下来我们讲解一下上面这段程序:程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件.下一行 int mai

PHP 学习笔记(一):基础教程:语法,变量,函数,数组,超全局

PHP简介 PHP 脚本在服务器上执行. 什么是 PHP 文件 PHP 文件能够包含文本.HTML.CSS 以及 PHP 代码 PHP 代码在服务器上执行,而结果以纯文本返回浏览器 PHP 文件的后缀是 ".php" PHP能够做什么 PHP 能够生成动态页面内容 PHP 能够创建.打开.读取.写入.删除以及关闭服务器上的文件 PHP 能够接收表单数据 PHP 能够发送并取回 cookies PHP 能够添加.删除.修改数据库中的数据 PHP 能够限制用户访问网站中的某些页面 PHP

2016-10-3 linux基础学习——脚本编程之while循环/函数

脚本编程控制结构:    顺序    选择        if        case    循环        for        while        until    1.while Command; do    statmentdone    进入循环:条件满足    退出循环:条件不满足 2.until Command; do    statment    ..done 进入循环:条件不满足    退出循环:条件满足    3.for ((expr1; expr2; expr3

基础学习(标签 结构)

html基础介绍 认识html:HTML是超文本标记语言,用于描述网页文档语言.也是我们经常说的静态网页(超文本:能实现网页调整的文本) HTML文件扩展名:.html或是.htm HTML结构 DOCTYPE声明. head .网页编码声明(meta charset="utf-8"). title标题  .等内容. <!DOCTYPE html > <html> <head> <meta charset=utf-8" /> &

Python基础学习3---数据结构

数据结构 数据结构基本上就是---他们是可以处理数据的结构或者说他们是用来存储一组相关数据的. 在python中有三种内建的数据结构-----列表.元组和字典 列表(list) 列表就像是我们要去超市买东西列的清单一样,将需要买的东西列成清单后整个结构是就是列表数据了,一旦创建完成后 我们可以随意进行添加 删除修改操作 所以可以断定 列表数据是一个可变的数据类型 列表是使用对象和类的一个例子.当你使用变量 i 并给它赋值的时候,比如赋整数 5 ,你可以认为你创建了一个类(类型) int 的对象(

java===java基础学习(6)---流程控制,for,if,switch,continue,break

注意点: for循环的用法和python截然不同,注意格式 switch~,switch对应的case每当执行完毕都要break,由于基本不怎么用switch,所以作为了解. 中断流程控制语句,请考虑多重循环的场景,最好用标签做区别. continue条件满足,则程序到最内部循环的首部! //Scanner文本文件读取与处理 package testbotoo; import java.io.File; import java.io.IOException; import java.io.Pri

python基础学习4-函数、内置函数、os模块、time模块

  1       函数 1.1     字符串格式化方法 Python中字符串格式化输出的几种方法: https://www.cnblogs.com/hongzejun/p/7670923.html 字符串格式化另外一种方式format方式 #字符串format()方法 #第一种 import datetime msg = '欢迎光临{name},今天的日期是{today}' msg = msg.format(name = 'zhangsan',today = datetime.datetim

[C/C++笔试面试题] 程序设计基础 - 位操作、函数、数组篇

7 位操作 二进制是现代计算机发展的基础,所有的程序代码都需要转换成最终的二进制代码才能执 行.合理地进行二进制的位操作,对于编写优质代码,特别是嵌入式应用软件开发非常关键. 7.1 一些结构声明中的冒号和数字是什么意思? c语言的结构体可以实现位段,它的定义形式是在一个定义的结构体成员后面加上冒号, 然后是该成员所占的位数.位段的结构体成员必须是int或者unsigned int类型,不能是其他类型.位段在内存中的存储方式是由具体的编译器决定的. 示例程序如下: #include <stdio