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);
}
方法重载
一个类里面有两个名字相同的方法,但是参数类型不同。
规则:
- 方法名称必须相同
- 参数列表必须不同
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
命令行传递参数
运行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循环