Java学习day03:方法、break和continue关键字

2023-09-18 14:58:06

声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点+题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!)


Java学习day03:方法、break和continue关键字

一、方法

1.什么是方法

程序中最小的执行单元

2.为什么要有方法

开发中出现大量重复代码或功能,循环无法满足需求,且循环代码臃肿、可读性差、维护性差

3.最基本的方法

public static void main(String[] args) {} 

 4.四类方法的语法格式

4.1无参无返回值的方法

语法格式:
public  static void 方法的名字 () {
 方法体;

 注意事项:
​ 1.方法的声明必须在类中,在main主函数外面。

​ 2.方法的调用必须在主函数中,使用的是方法的名字来调用的

示例:用无参无返回值方法打印乘法口诀表

public class Main {
    public static void main(String[] args) {
        printNum();
    }

    public static void printNum(){
        for (int i = 1; i <10 ; i++) {
            for (int j = 1; j <=i; j++) {
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}
 4.2有参无返回值的方法

语法格式:
public static void 方法的名字 (数据类型 参数名字, 数据类型 参数名字, ...) {
 方法体;
}

注意事项:
​ 1.方法的声明处的参数是形参。方法的调用处是实参,实参赋值给形参
 2.方法在调用的时候一定要注意方法声明处形参的数据类型,是一一对应的关系

4.3无参有返回值的方法 

语法格式:
public static 数据类型 方法的名字 () {
 return 返回值;//这个返回值的数据类型必须和方法的声明的地方的数据类型保持一致
}

注意事项:
​ 1.使用关键自 return

​ 2.return的后面不能再写代码了

​ 3.有返回值的方法在调用的时候,要将返回值的值是可以给一个变量的

​ 4.无返回值的方法,只是打印一下而已。 是不能给一个变量的

注:没有返回值的方法就只能执行方法体内的语句,而有返回值的方法则可以再次赋值给其他的变量进行下一部的操作,因此有返回值的方法操作性自然更胜一筹

4.4有参有返回值的方法

语法格式:
public static 数据类型 方法的名字 (数据类型 形参, 数据类型 形参,...) {
  return 返回值;
}

注意事项:

记住形参和返回值类型没有任何关系的 

 示例:求三个int类型数据的和  带有返回值的方法

 public static void main(String[] args) {
  int sum = add(3, 4, 5);
  System.out.println(sum);
  add1(3, 4, 5);
  System.out.println(judge(67.6, 89.8));//false
 }
 //求三个int类型数据的和  带有返回值的方法
 public static int add (int a, int b , int c) {
  return a + b + c;
 }
 public static void add1 (int a, int b, int c) {
  System.out.println(a + b + c);
 }

 对比一下两个方法的使用,有参和无参的差别

示例:比较两个int型参数大小,并输出大的那个,四种方法类型都用

public class Demo1 {
 public static void main(String[] args) {
  //max();
  //max1(89, 67);
  //System.out.println(max2());
  System.out.println(max3(150, 250));
 }
 //求两个int的最大值的
 //无参无返回值的方法
 public static void max () {
  int a,b;
  a = 45;
  b = 69;
  if (a >= b) {
   System.out.println(a);
  } else {
   System.out.println(b);
  }
  
 }
 //有参无返回值的方法
 public static void max1(int a, int b) {
  if (a >= b) {
   System.out.println(a);
  } else {
   System.out.println(b);
  }
 }
 //无参有返回值的方法
 public static int max2 () {
  int a,b;
  a = 45;
  b = 32;
  if (a >= b) {
   return a;
  } else {
   return b;
  }
 }
 //有参有返回值的方法
 public  static int max3 (int a, int b) {
  if (a >= b) {
   return a;
  } else {
   return b;
  }
 }
}

二、break和continue关键字 

1.break

作用是打断退出循环,在for循环里使用switch-case,break不会打断for循环,只是退出switch。大家可以自己试一试

        for (int j = 0; j < 5; j++) {
            switch (i){
                case  1:{
                    System.out.print("111");
                    break;
                }
                case  2:{
                    System.out.print("222");
                    break;
                }
            }
            System.out.print("ok");
        }

 2.continue

作用是跳过本次循环,继续下一次循环,注意只能在循环里使用,不能在switch-case里用

示例:用continue打印逢7必过

public  static  void printsevencontinue(){
    for (int i = 1; i <101 ; i++) {
        if (i%7==0||i/10==7||i%10==7){
            continue;
        }
        System.out.println(i);
    }
}

以上就是今天的知识点,下面做题:

三、习题

1.题目

1.写一个方法将一个整数逆序换行打印

2.写一个方法输出1-100之间不能被5整除的数,每5个一行

3.写一个方法求出1-1/2+1/3-1/4……1/100

4.写一个方法 求1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+……+100)

 建议初学者都敲一敲,而且是不看我的答案,先自己敲,很多东西看着会,实际自己上手敲的时候往往会出错。另外题解肯定不止一个,我也只是记录其中一种,大家大可寻找更优解,同时我基本没写注释,希望大家还是多自己思考原因。

2.部分习题参考答案

//1.写一个方法将一个整数逆序换行打印
public static void  reverse(int i){
    for (int j = i; j !=0; j=j/10) {
        System.out.println(j%10);
    }
}


//2.写一个方法输出1-100之间不能被5整除的数,每5个一行
public  static  void printfive(){
    int num=0;
    for (int i = 1; i <101 ; i++) {
        if(i%5==0){
            continue;
        }
        System.out.print(i);
        System.out.print("、");
        num++;
       if(num%5==0){
           System.out.println();
       }
    }
}


//3.写一个方法求出1-1/2+1/3-1/4……1/100
public  static  void  get1(){
    double num=1;
    for (int i = 2; i <101 ; i++) {
        if(i%2==0){
            num=num-(1.0/i);
        } else if(i%2!=0) {
            num=num+(1.0/i); 
        }
    }
   System.out.println(num);
}


//4.写一个方法 求1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+……+100)
public  static  void  get2(){
    int num=1;

    for (int i = 2; i <101 ; i++) {
        int m=0;
        for (int j = 1; j <=i ; j++) {
            m+=j;
        }
        num+=m;
    }
    System.out.println(num);
}

 第三题,如果有朋友一直输出1的,原因如下:

在Java中,整数除以整数的结果仍然是整数。因此,当i为偶数时,1/i的结果会被截断为0,导致num的值一直减去0,所以最终结果一直是1。

要解决这个问题,你可以将1/i转换为浮点数类型,可以通过将1或i中至少一个转换为浮点数来实现。例如,将1改为1.0或将i改为(i*1.0)。这样,1/i的结果将会是一个浮点数,而不是整数。

更多推荐

PostgreSQL 数据备份&恢复

文章目录PostgreSQL备份方式SQL备份(逻辑备份)文件系统备份(物理备份)归档备份(物理备份)逻辑备份&恢复物理备份&恢复(全量)备份恢复物理备份&恢复(某个时间点)场景具体操作PostgreSQL备份方式防止数据丢失的第一道防线就是备份。数据丢失有的是硬件损坏,还有人为的误删之类的,也有BUG的原因导致误删数

宝塔面板日志和缓存占用磁盘空间很大,如何清理?

服务器使用的宝塔面板,最近发现服务器的“系统盘”快爆满了,点面板上日志管理都要收费,我也不是很懂服务器的运维,使用ai进行询问,得到了解决:/var/log日志目录运行下面的命令查找是哪些目录占用空间很大du-h--max-depth=1我这边是/var/log和var/cache两个目录占用空间很大,进入/var/l

网络安全(黑客)自学

前言我是去年8月22日才正式学习网络安全的,因为在国营单位工作了4年,在广东一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才24周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一

对象的创建过程

对象的创建过程基于两个方面回答这个问题:①jvm加载和分配内存。②java对象初始化。1.在实例化一个对象的时候,JVM首先会去检查目标对象是否已经被加载并初始化了。2.如果没有,JVM需要立刻去加载目标类,然后调用目标类的构造器完成初始化。①目标类的加载是通过类加载器来实现的,主要就是把一个类加载到内存里。②然后初始

PyQt学习笔记-使用QSettings保存系统配置参数

目录1.QSettings简介2.初始化QSettings及数据存储位置2.1使用系统api存储2.2存储成配置文件2.2.1使用文件格式设置2.2.2Format格式说明3Qsettings的使用3.1QSettings的数据保存和读取3.1.1使用setValue方法保存数据3.1.2使用value方法获取配置文件

flutter聊天界面-TextField输入框实现@功能等匹配正则表达式展示高亮功能

flutter聊天界面-TextField输入框实现@功能等匹配正则表达式展示高亮功能一、简要描述描述:最近有位朋友讨论的时候,提到了输入框的高亮展示。在flutterTextField中需要插入特殊样式的标签,比如:“请@张三回答一下”,这一串字符在TextField中输入,当输入@时弹出好友列表选择,然后将“@张三

棒球游戏代码编写·棒球1号位

棒球代码编写1.棒球游戏的代码结构介绍棒球游戏的整体代码结构棒球游戏的整体代码结构可以按照以下几个模块进行划分:游戏引擎:游戏引擎是整个游戏的核心,负责管理游戏的各个系统,包括图形渲染、物理模拟、声音播放等。棒球游戏的引擎需要支持场景切换、角色动画、特效渲染等功能。角色系统:角色系统负责管理游戏中的角色,包括球员、裁判

Unity 课时 4 : No.4 模拟面试题

课时4:No.4模拟面试题C#1.请说明字符串中stringstr=nullstringstr=“”stringstr=string.Empty三者的区别第一个未作初始化没有值,第二个为空字符串,答案:str=null在堆中没有分配内存地址str=""和string.Empty一样都是在堆内存中分配了空间,里面存储的是

数据优化与可视化:3D开发工具HOOPS在BIM模型轻量化中的作用分析

在建筑和工程领域,BIM(建筑信息建模)是一种重要的数字化工具,但大型BIM模型往往需要大量的计算资源和存储空间。为了解决这一问题,HOOPS技术成为了一种关键工具,可以帮助实现BIM模型轻量化,提高性能、减小资源占用,从而加速项目进展。本文将探讨HOOPS如何帮助BIM模型实现轻量化的方式以及其在建筑和工程领域的重要

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了:如果模块请求http改为了h

Linux系统下建立Socket聊天服务器

目录1.服务器结构2.各模块函数2.1socket函数2.2bind函数2.3Listen函数2.4accept函数2.5接收发送函数2.6close函数2.7connect函数3代码段3.1服务器代码1.服务器结构使用socket的API函数编写服务端和客户端程序的步骤图示:2.各模块函数服务器:2.1socket函

热文推荐