小白学习Java开发的第四天

本节内容为昨天未讲完的内容

本节知识大纲:

循环结构

while

语法结构

while(循环条件){
    循环体;
}

执行顺序

1:判定循环条件,如果条件为真执行循环体1次
2:再次判定循环条件,直到循环条件不满足,整个循环结束。

代码

public class Demo05{
    public static void main(String[] args){
        //1声明变量存放结果
        int sum = 0;
        //2声明变量存放1-100之间的数
        int num = 1;
        while(num<=100){
        sum+=num;
        num++;
        }
        System.out.println(num+"=="+sum);
    }
}

do-while

语法结构

do{
    循环体
}while(循环条件);

执行顺序

1:先执行循环提一次
2:再判定循环条件,如果条件为真执行循环体1次
3:再次判定循环条件,直到循环条件不满足,整个循环结束。
注意事项:
    while先判定在执行
    do-while先执行在判定

代码

public class Demo06{
    public static void main(String[] args){
        //1声明变量存放结果
        int sum = 0;
        //2声明变量存放1-100之间的数
        int num = 1;
        do{
        sum+=num;
        num++;
        }while(num<=100);
        System.out.println(num+"=="+sum);
    }
}

for

语法结构

for(声明循环变量;循环条件;改变循环变量的表达式){
    循环体;
}

执行顺序

执行顺序
1:声明循环变量 (降低生命周期 调高内存利用率)
2:判定循环条件 如果循环条件为真,执行循环体一次
3:改变循环变量的值,判定循环条件,直到循环条件不满足整个循环结束
注意事项:
    1:确定循环次数可以使用for循环

代码

public class Demo07{
    public static void main(String[] args){
        //声明存放结果
        int sum = 0;
        for(int num=1;num<=100;num++){
        sum += num;
        }
        System.out.println(sum+"=="+num);
    }
}

跳出循环的方法

continue

tips:

continue:跳过本次循环 这次循环不执行 跳到下次循环开始

代码:

public class Demo09{
    public static void main(String[] args){
        //编写for循环产生1-100之间的数字
        for(int i = 1;i<=2;i++){
        //判定 对于i进行判定
            if(i%5==0){
                System.out.print(i+"\t");
                break;
            }else{
                continue;
            }
            //System.out.println("a");
        }
    }
}

break

tips:

break: switch 防止穿透 跳出当前循环 break所在的循环

代码:

public class Demo11{
    public static void main(String[] args){
        //声明一个变量存放累加的和
        int sum = 0;
        //通过for循环 做1-100之间的累加和
        for(int i = 1;i<=100;i++){
            sum += i;
            //判定sum的值
            if(sum>=3000){
                System.out.println("累加到"+i+"的值,和是:"+sum);
                return;
            }
        }
        System.out.println("我是for循环外面的代码");
    }
}

return

tips:

结束当前方法

代码:

public class Demo11{
    public static void main(String[] args){
        //声明一个变量存放累加的和
        int sum = 0;
        //通过for循环 做1-100之间的累加和
        for(int i = 1;i<=100;i++){
            sum += i;
            //判定sum的值
            if(sum>=3000){
                System.out.println("累加到"+i+"的值,和是:"+sum);
                return;
            }
        }
        System.out.println("我是for循环外面的代码");
    }
}

方法

方法注意事项

方法:
1:什么是方法?(函数)
    方法就是一个段代码的集合,这段代码完成了某个具体的功能 业务场景()。
    一个方法就是一个功能。
2:为什么使用方法?
    避免main方法中的代码堆积,造成后期的拓展以及维护的成本增加。
3:如何使用方法?
    a:照着main方法抄了一个方法,少了String[] args
    b:在方法中通过方法名称调用需要执行的方法
    方法()中的内容 参数,就相当于一个天线,用来接收调用者发送的数据信息。
    声明一个方法 将方法计算出来的结果 让其他方法也可以使用
    一个方法中声明了void 证明该方法无返回值。
    不能写return返回语句。
    如果一个方法存在返回结果,方法的对应处的void修改为返回数据的数据类型。
    在方法体最后一行语句通过return返回具体的值。

代码:

/**
计算圆柱体的表面积
    1:声明一个方法计算圆的面积
    2:声明一个方法矩形的面积
    3:声明一个方法计算累加和
1:如何声明?
    照着main方法抄
2:这个方法完成什么功能
    知道了方法中的逻辑如何编写
3:这个方法的执行需不需要帮忙?
    参数列表
1:方法就是一个功能模块,完成某个功能。
    不要重复造轮子。方法是可以复用的。
2:变量:首字母小写 其它每个单词的字母均大写
    类: 首字母大写 其它每个单词的字母均大写
    方法:首字母小写 其它每个单词的字母均大写
*/
import java.util.Scanner;
public class Demo05{
    public static void main(String[] args){
        System.out.println("请输入计算的圆的半径>>>>>>");
        //创建一个Scanner对象
        Scanner input = new Scanner(System.in);
        //通过Scanner对象中的nextInt方法获取用户输入的int值
        int r = input.nextInt();
        double area = getArea(r);
        System.out.println("请输入计算的圆柱体的高>>>>>>");
        //通过Scanner对象中的nextInt方法获取用户输入的int值
        int width = input.nextInt();
        //计算半径为r的圆的周长
        double length = getZC(r);
        //计算矩形的表面积
        double jArea = getArea(length,width);
        //计算圆柱体的表面积
        double sumArea = getYZT(area,jArea);
        System.out.println("以半径为"+r+"的,高为"+width+"的圆柱体的表面积是:"+sumArea);
    }
        public static double getYZT(double yArea,double jArea){
            return yArea*2+jArea;
        }
        /**
        //@+单词 注解
        @param r 需要计算的圆的半径
        @return double 返回计算的圆的周长
        */
        public static double getZC(int r){
            //参数判定 代码的健壮性更好 防御性编程
                if(r==0){
                    return 0;
                }
                //计算周长
                double pi = 3.14;
                double zc = 2*pi*r;
                //返回周长
                return zc;
            }
        /**
        计算矩形的面积
        */
        public static double getArea(double length,int width){
            double area = length*width;
            //System.out.println(area);
            return area;
        }
        /**
        计算半径r的圆的面积
        */
        public static double getArea(int r){
            //声明一个变量存放pi的值
            double pi = 3.1415;
            //声明圆的半径
            //int r = 4;
            //计算面积
            double area = pi*r*r;
            System.out.println("半径是"+r+"的圆的面积是"+area);
            return area;
        }
}

方法重载

    在一个类当中编写方法的时候,多个方法其实所做的事情是一样的
    为了契合方法起名要见名知意,方法名称可以一样。
    在一个类中定义同名方法是可以的,称之为重载。
2同:
    同类
    同名
3不同:
    参数列表长度不同
    参数列表类型不同
    参数列表顺序不同

方法重载面试题

/**
重载方法的面试题
以下程序中输出什么内容
最近最优
char
byte short int long float double
如果没有基本数据类型 接下来找基本数据类型的包装类
才会找可变参数
*/
public class Demo07{
    public static void main(String[] args){
            char ch = 'A';
            info(ch);
        }
        /*public static void info(char ch){
         System.out.println("info char");
        }*/
        public static void info(int ch){
         System.out.println("info int");
        }
        /*public static void info(long ch){
            System.out.println("info long");
        }*/
        public static void info(double ch){
            System.out.println("info double");
    }
}
/**
重载方法的面试题
以下程序中输出什么内容
如果程序中的重载方法,都没有完全符合的。
但是存在多个能够调用的方法时,程序会报错
*/
public class Demo08{
    public static void main(String[] args){
            info(12,12.1f);
        }
        public static void info(char ch,double d){
            System.out.println("info char ch,double d");
        }
        public static void info(int ch,double d){
            System.out.println("int ch,double d");
        }
        public static void info(long ch,float d){
            System.out.println("long ch,float d");
    }
}
/**
重载方法的面试题
以下程序中输出什么内容
*/
public class Demo09{
    public static void main(String[] args){
            info(12);
        }
        /*public static void info(long l){
            System.out.println("info long l");
        }*/
        /*public static void info(Integer in){
            System.out.println("Integer in");
        }*/
        /*
        jdk1.5之后,支持可变参数
        */
        public static void info(int ... ins){
            System.out.println("Integer ... ins");
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 3,994评论 1 1
  • [The Swift Programming Language 中文版]本页包含内容: Swift提供了多种流程控...
    风林山火阅读 3,720评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,136评论 0 3
  • 大清早去湖边散步,见那日渐深浓的春色,着实有些喜不自禁。湖边的杨柳愈发青绿可人,柔软的枝条在微风中翩翩起舞,湖水中...
    采葭小妖阅读 3,273评论 1 6
  • 有时我和女儿说话,她的那种语气,由平缓到急躁不耐烦。背后我就是想她的这种情绪是怎么产生的?来源于哪里?可能是多方面...
    陈永玲1阅读 1,742评论 0 2