码迷,mamicode.com
首页 > 编程语言 > 详细

JavaDoc及方法和循环

时间:2020-08-01 21:41:53      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:lazy   无法   改变   while 循环   错误   dea   byte   can   switch   

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)

JavaDoc及方法和循环

标签:lazy   无法   改变   while 循环   错误   dea   byte   can   switch   

原文地址:https://www.cnblogs.com/ywwl/p/13416535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!