JavaDoc及循环和方法

javaDoc

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

生成javaDoc文档

cmd生成javaDoc文档:

javadoc -encoding UTF-8 -charset UTF-8 文件名.java

Scanner

获取用户输入

Scanner input = new Scanner(System.in);

Scanner scanner = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前使用hasNext()与hasNextLine()来判断是否还有输入的数据

凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉

input.close();

next();不能得到带有空格的字符串

nextLine();可接受有空格的字符串

顺序结构:它是任何一个算法都离不开的一种基本算法结构

选择结构:

  • if单循环选择结构

  • if双选择结构

  • if多选择结构

  • 嵌套的if结构

  • **switch多选择结构 ** (匹配一个具体的值)

    • switch语句中的变量类型可以是
    • byte、short、int 或 char
    • 从java SE 7开始
    • switch支持字符串String类型了
    • 同时case标签必须为字符串常量或者字面量。

    case 穿透

反编译 将class文件复制到idea中

每一个对象都有一个hashcoud

while 循环

while(布尔表达式){

//循环内容

}

我们大多数情况是会让循环停下来的,我们需要一个让表达式失败的方式来结束循环

do…while循环

do{

​ //代码语句

}while(布尔表达式);

do…while总是保证循环体会被至少执行一次,这是他们的主要差别(先执行后判断)

while则是先判断后执行

for循环

语法:

for(初始化;布尔表达式;更新){

//代码块语句

}

100.for快捷生成for

for死循环写法

for(;😉{

}

 //九九乘法表
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }

增强for循环

for(num1:array){}

break

在任何循环语句的主题部分,均可用break控制循环的流程。

break用于强行退出循环,不执行循环中剩余的语句。

continue

语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

//标签
//求101-150之间的所有质数
        //质数是指大于1的自然数中,只有1和他本身之外不再有其他因数的自然数
        int count = 0;
        outer:for (int i = 101; i < 150; i++) {
            for (int j=2;j<i/2;j++){
                if(i%j==0){
                    continue outer;
                }
            }
            System.out.println(i+" ");
        }

在这里插入图片描述

//打印三角形
for (int j = 1; j <= 5; j++) {
            for (int t=5;t>=j;t--){
                System.out.print("8");
            }
            for (int t=1;t<=j;t++){
                System.out.print("*");
            }
            for (int t=1;t<j;t++){
                System.out.print("*");
            }
            for (int t=5;t>=j;t--){
                System.out.print("8");
            }
            System.out.println();
        }

java方法

什么是方法

方法是语句的集合,它们在一起执行一个功能。

方法是解决一类问题的步骤的有序组合

方法包含于类对象中

方法在程序中被创建,在其他地方被引用

设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。

方法的定义和调用

修饰符 返回值类型 方法名(参数类型 参数名){

。。。

方法体

。。。

return 返回值;

}

//形式参数,用来定义作用的

//实际参数,实际调用传递给他的参数

方法重载

值传递(Java是值传递

值传递相当于复制一份值(栈中),若对传递后的新值发生改变时只改变新值,而原值不发生改变

引用传递

引用传递是将指向堆的地址作为传递,对新复制的值改变时两个变量都改变,因为两个变量引用于同一地址。

字符串本身就是一个对象

方法重载的规则:

方法名必须相同。

参数列表必须不同(个数不同或类型不同以及参数排列顺序不同等)。

方法的返回类型可以相同也可以不同。

仅仅返回类型不同不足以成为方法的重载。

实现理论:

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

命令行传参

main方法也是可以传递参数的

必须要通过src下包的路径才能执行,否则无法执行

D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>javac Demo3.java

D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>java Demo3
错误: 找不到或无法加载主类 Demo3

D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>cd../

D:\IDEACODE\JavaSE\基础语法\src\com\peng\go>cd../

D:\IDEACODE\JavaSE\基础语法\src\com\peng>cd../

D:\IDEACODE\JavaSE\基础语法\src\com>cd../

D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3.java
错误: 找不到或无法加载主类 com.peng.go.method.Demo3.java

D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3

D:\IDEACODE\JavaSE\基础语法\src>this is doc
'this' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3 this is doc
args[0]this
args[1]is
args[2]doc

D:\IDEACODE\JavaSE\基础语法\src>

可变参数

JDK1.5开始,Java支持传递同类型的可变参数给一个方法。

在方法声明中,在指定参数类型后面加一个省略号(…)。

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

public static void main(String[] args) {
            method(1,1,2,3);
        }
        public static void method(double num1,int...num2){
            System.out.println(num1+"\n"+num2[0]+" "+num2[1]+" "+num2[2]);
        }

递归

递归结构包括两个部分:

递归头:什么时候不调用自身的方法,如果没有头,将陷入死循环。

递归体:什么时候需要调用自身的方法

//!5 5*4*3*2*1 阶乘,返回n的阶乘;
//!3 3*2*1
        public static int f(int n){
            if (n==1){
                return 1;
            }else{
                return n*f(n-1);
            }
        }

边界条件:边界,程序可以执行到底,而不是无线掉自己

前阶段:当没有结果的时候会不停的调用自己直到边界

返回阶段:n*(n-1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jackson-databind是一个带有javadoc的Java库,用于在Java对象和JSON数据之间进行序列化和反序列化。它提供了一组强大的API和工具,可以将Java对象转换为JSON格式的数据,并将JSON数据转换回Java对象。 该库的javadoc提供了对其各个类和方法的详细说明。它包含了所有可用的注解、类和接口的描述,以及它们的用法和参数的解释。通过阅读这些文档,开发人员可以了解如何使用Jackson-databind库进行定制和配置以及如何处理各种数据类型。 例如,javadoc中详细介绍了如何使用@JsonSerialize注解自定义对象的序列化过程。它解释了如何使用@JsonSerialize注解和自定义的JsonSerializer来指定如何将对象的特定字段转换为JSON格式。类似地,javadoc还提供了关于如何使用@JsonDeserialize注解和自定义的JsonDeserializer来将JSON数据转换回Java对象的说明。 此外,javadoc还描述了如何使用ObjectMapper类以及其各种配置选项。它解释了如何配置ObjectMapper以处理不同的日期格式、空值和循环引用等问题。开发人员可以了解如何自定义序列化和反序列化规则,以及如何忽略特定字段或将未知属性转换为Java对象的说明。 总的来说,Jackson-databind的javadoc提供了使用该库进行序列化和反序列化的详细说明。通过仔细阅读这些文档,并参考其中的示例代码,开发人员可以更好地理解如何使用Jackson-databind来处理JSON数据,并根据自己的需求进行自定义配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值