java学习第三天

103 阅读4分钟

Java第三天学习

JavaDoc生成文档

/**
*@author zengkuasheng  用户名
*version 1.0   版本号
*since 1.8  指明需要最早使用的JDK版本
*/
//在类前面的叫类的注释
public class text1
{
    String name;
 
    /**
     * @author
     * @param name  参数
     * @return     返回值
     * @throws Exception  抛出异常
     */
    public String test(String name)throws Exception{
        return name;
    }
}

可以在类的文件所在位置生成JavaDoc文档

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rPX3p9LM-1619142078191)(C:\Users\zks\AppData\Roaming\Typora\typora-user-images\image-20210422095105425.png)]

encoding UTF-8是参数(是让文档中的中文不出现乱码),charset UTF-8(让字符不出现乱码)也是参数,但是我试了一下不带这两个参数的情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZyX3OmBQ-1619142078198)(C:\Users\zks\AppData\Roaming\Typora\typora-user-images\image-20210422095953762.png)]

文本也没有出现乱码。

Scanner对象

使用Scanner类之前先实例一个Scanner对象

      Scanner scanner=new Scanner(System.in);  (构造一个Scanner的实例化对象)
      String str=scanner.next();(接受键盘的信息)
      scanner.close; (输入输出流用完之后一定要关闭)

next(),和nextLine()之间的区别是:next()以空格为输入的结束,nextLine()以回车输入为结束

if{}
else if{}
else if{}
else{}    (if多项选择)

switch中case具有穿透现象

java7之后可以对字符串进行比较

Java反编译

把.class文件反编译成.java文件

1.project structure>project可以看到项目编译后输出的路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9yeoXyJy-1619142078200)(C:\Users\zks\AppData\Roaming\Typora\typora-user-images\image-20210422145845553.png)]

在文件管理器中找到该目录,然后找到.class文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V7ohwNkh-1619142078202)(C:\Users\zks\AppData\Roaming\Typora\typora-user-images\image-20210422150209536.png)]

然后在IDEA中右键一个类,打开改类在文件夹中的位置(show in exploer),然后把.class 文件复制到改目录下就可以得到反编译源码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lzg8N8iY-1619142078203)(C:\Users\zks\AppData\Roaming\Typora\typora-user-images\image-20210422150510316.png)]

循环结构

for循环:最先执行初始化步骤,可以是声明一种类型,但可以初始化一个或者多个循环控制变量,也可以是空语句。

执行一轮循环后,更行控制循环的变量,然后再判断条件是否成立。

for循环的快捷键是 number.for

增强for循环

主要用于数组或者集合的增强型for循环

for(声明语句:表达式)
{
    //代码
}
int[] numbers={0,1,3,4}
for(int x:numbers){
    System.out.println(x);
}

方法重载

一个类里面有两个名字相同的方法,但是参数类型不同。

规则:

  1. 方法名称必须相同
  2. 参数列表必须不同
  3. 方法的返回类型可以相同也可以不同
  4. 仅仅返回类型不同不足以成为方法的重载

命令行传递参数

运行javac可以直接在类所在的方法所在目录下运行,生成.class文件,但是要执行java命令必须回退到src目录下才可以。

main()方法也是可以用来传递参数的!

可变参数

public static void printMax(double ... numbers)
    

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

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

数组

动态初始化

dataType[] arrayRefVar (声明)
使用new操作符来创建数组
    dataType[] arrayRefVar=new dataType[arraySize];


    

在声明了数组后,会在栈中压入一个元素,当使用new关键字之后会在堆中开辟一个存储空间,数组一经初始化就会被默认赋上默认值

静态初始化

int []a={1,2,3};

new出来的都是保存在堆中的

选中代码后按住ctrl+/就可以全部注释掉

用array.for可以自动生成增强型的for循环