注释
//单行注释
/*多行
注释
*/
Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 */结束。
说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。
说明注释,使你更加方便的记录你的程序信息。
注释文档
/**
*@author作者名
*@version版本号
*@since指明JDK最低要求
*@param参数名
*@return返回值情况
*@throws异常抛出情况
*/
在java源码位置打开命令行输入 javadoc -encoding UTF-8 -charaset -UTF-8 XXX.java(替换文件名)
可以输出java代码说明文档
————————————————————————————————————————
标识符
所有标识符都应以字母、美元符$或下划线开头(不能使用关键字)
数据类型
java分为基本类型与引用类型(类、接口、数组)
float num1=3.14f;
double num2 = 3.1415926;
long num3 = 4646465453354L;
进制
8进制 以0开头,0~7组成 如:012345
10进制 以1~9开头,0~9组成 如:100
16进制 以0X开头,0~9或者a~f组成 如:0x12c
______________________________________________________________________________________
数据类型转换
char c1 = 'a';
System.out.println((int)c1); //97
char c2 ='\u0061';
System.out.println(c2);//a
byte short char int long float double
低 ----------------------> 高
高到低需要强制转换,方法:(数据类型)
低到高自动转换
注意:
1布尔类型无法转换
2转换可能存在精度问题
操作大数的溢出问题
int money = 10_0000_0000;
int years=20;
int total = money*years; //结果为负数 溢出
long total2 = money*years //默认为 int 转换之前已经出错
long total3 = money*((long)years);
System.out.println(""+a+b)//输出1020为String类型
System.out.println(a+b+"")//输出30 为int类型
——————————————————————————
转义字符与运算符
\t tab制表符
\n换行
逻辑运算符 &&与 会产生短路运算
&&前面为false 则后面不会去运行判断
^异或 相同为0 不同为1
>>2进制右移 即为乘2 2>>3=8
<<2进制左移 即为除2
String type = socre < 60 ?"不及格":"及格"
——————————————————————————————————
变量与常量
要素:数据类型 变量名称 作用域
作用域:类变量、实例变量、局部变量
public class Variable_kind {
static int a1 = 123;
static char c1;//类变量 存在与消失跟随类
String s1;
String s2="sdaasd";//实例变量 从属于对象
static final float PI = 3.1415926f;
final int i3 = 456789;//常量 使用final关键字
public static void main(String args[])
{
int i =0;
double d1;//局部变量
Variable_kind v1 = new Variable_kind();
System.out.println(v1.s2);
}
}
命名规范
类成员变量:首字母小写+驼峰原则(除第一个单词以外首字母大写)monthSalary
局部变量:同上
方法名:同上+()
常量:大写字母和下划线 MAX_VALUE
类名:首字母大写+驼峰原则 SalaryShow
————————————————————————————————————
包机制
一般用公司域名倒置 com.baidu.www
——————————————————————————————————
输入与输出
输入
Scanner scanner = new Scanner(System.in);
String str = scanner.nextline();//或者=scanner.next();
scanner.close();
输出
System.out.println(“123123”);
——————————————————————————————————
switch(a){
case 'A':
System.out.println(1);
break;
case 'B':
System.out.println(2);
case 'C':
System.out.println(3);
}
如果a='A' 则输出1
如果a = ‘B’ 因为没有break 所以会把B以下所有情况执行
____________________________________________________________
方法
修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
return 返回值;
}
静态方法static 和类一起加载
直接通过 类名.方法名()进行调用
非静态方法 类实例化后才存在
需要先实例化 通过 对象名.方法名()进行调用
引用传递:本质还是值传递但是 值已修改
public class demo05{
public static void main(String[] args){
Person person=new Person();
System.out.println(person.name);
Demo05.change(person);
System.out.println(person.name);
}
public static void change(Person person){
person.name="XXX";
}
}
class Person{
String name;
}
——————————————————————————————————————————
数组
数组对象保存在堆中
dataType[] name = new dataType[size];
int[] a ={1,2,3}
数组长度 name.length;
输入 数组名.for 自动转换为增强型for
二维数组
定义:int[][] a={{1,2},{3,4}}; 或 int[][] a=new int[2][3];
a.length为第一位长度 a[0].length为第二维长度
————————————————————————————————————
构造函数
没有返回值 名称和类名相同
使用new关键字 本质是在调用构造函数
一旦定义有参数的构造函数,无参数的构造函数必须显式定义
__________________________________________________________________
Arrays类
System.out.println(Arrays.toString(a));//输出数组
Arrays.sort(a);//排序
Arrays.fill(a,1,3,0)//在1到3之中填充0
____________________________________________________________________
抽象类
abstract关键字
抽象方法 只有方法名字 没有方法实现
抽象类的所有方法,必须由子类实现,除非子类也是抽象
受限于extend只能单继承 没有接口多继承应用广泛·
特点:
1、不能new抽象类 只能靠子类去实现
2、抽象类中可以实现普通方法
3、抽象方法必须在抽象类中
____________________________________________________________________________
接口
只有规范
关键字interface
接口内方法 默认为public abstract
类通过关键字implement实现接口中所有方法
同一个类可以实现多个接口(多继承)
——————————————————————————————————————
tip
判断字符串是否相等 str.equals("XXXX")
Ctrl+D 复制当前行至下一行
Ctrl+H打开继承树
super()调用父类的无参构造器 需在子类第一行
out文件夹下的class文件移动至src文件夹下打开 即为反编译
增强型for循环(jdk>=5)
int[] a ={1,2,3,4,5};
for(int x:a){
System.out.println(x);
}
____________________________________________________________
引用
https://blog.csdn.net/anhuibozhoushatu/article/details/83313257
https://www.runoob.com/java/java-documentation.html
https://www.bilibili.com/video/BV12J41137hu?p=23