IDEA快捷语句:
sout : System.out.println( );
Name.for i : for(int i ; i<* ; i++);
Psvm : public static void main(String[ ]){ }
IDEA快捷键:
Ctrl+p:查看方法中形参顺序
Ctrl+alt+m:选中部分代码,自动生成为方法
Shift+F6:变量的批量修改
Ctrl+alt+L : 格式化代码
Ctrl+A:全选
Fn+Alt+Insert:创建JavaBeen的结构
字面量:
打印出null是以字符串形式完成的,布尔类型true、false可以直接打印出来。
数据类型:
注意事项:long类型变量:需要加上L标识(大小写均可)
Float类型变量:需要加上F标识(大小写均可)
标识符命名规则软性建议:
关系运算符:
关系运算符的结果都是boolean类型,要么为true,要么为false。
Switch:
JDK12及以后可以简化书写
这种写法既可以避免case的穿透性也可以省去重复的break书写。(此处省略了大括号,因为case后面的执行语句只有一句话)
数组:
可以用来存储同种数据类型的多个值。
存储数据时需要结合隐式转换。
Int类型的数组容器(int\byte\short可以&&Boolean\double不可以)
Double类型的数组容器(byte\short\int\long\float\double可以)
方法:
重载的作用:把相同功能的方法起成一样的名字,调用方法的时候不需要那么麻烦。
Java的输出语句:
System.out.println(“abc”); —— 输出abc后换行
System.out.print(“abc”); —— 输出abc后不换行
System.out.println(); —— 不输出执行换行功能
基本数据类型和引用数据类型:
基本数据类型:数据是存储在自己空间中,赋给其它变量是赋的真实的值;
引用数据类型:数据值是存储在其他空间,自己空间中存储的是地址值。
例如:(适用于方法的实参和形参之间的关联)
( 1 ) int a = 10;
int b = a;
修改b的值a是不会发生改变
( 2 ) int[ ] arr1 = {1,2,3};
Int[ ] arr2 = arr1;
由于arr1和arr2指向同一地址,修改arr2中的值arr1也会发生改变。
面向对象-封装:
对于private修饰的成员变量,如需要被其他类使用,需要提供:
(1) setXxx(参数),用于给成员变量赋值,方法用public修饰
(2) getXxx(参数),用于获取成员变量的值,方法用public修饰
this:
this.xxx代表成员变量
继承:
关键字:entends
- 子类继承父类的状态和行为
- 例如: class Student extends Person{ …… }
- 如果没有extends子句,则该类默认为java.lang.Object的子类
- 子类对象可以被视为其父类的一个对象。如一个Student对象也是一个Person对象。反之不可。
方法构造:
1.构造方法和类名和程序名应该相同
我在用 IntelliJ IDEA 中,遇到方法(包括 getter 和 setter)已经定义但是报错说没有被引用,或者引用这些方法时 IDE 报错说无法解析。
报错产生的原因有很多,这一次我遇到的问题产生的原因是构造方法和类名不相同。
2.构造方法没有返回值
3. 自动调用:
当你使用new关键字创建一个类的对象时,构造方法会自动被调用。
5. 初始化对象:
构造方法的主要目的是初始化对象的状态,即设置对象的属性或执行其他必要的初始化操作。
字符串:
- 字符串五种创建方法:
-
直接赋值:String name = "abcdefg"
-
new:
public String()---创建空白字符串,不含任何内容
public String(abcdefg)---根据传入的字符串,创建字符串对象
public String(char[ ] chs)---根据字符数组,创建字符串对象
public String(byte[ ] chs)---根据字节数组,创建字符串对象
-
直接赋值的字符串储存在‘串池’中,相同的字符串只有一个地址值。
用new得到的字符串不会共用一个地址值。 -
等号‘==’比较的浅层原理: 1.基本数据类型比较的是数据值 2.引用数据类型比较的是地址值
-
不同数据类型之间也是可以比较的(看你形式上是否相同):
用equals(一模一样)或者equalsIgnoreCase(无视大小写)
例如a = s1.equals(s2); -
遍历字符串:
用循环字符串的索引,但是字符串与数组不同,还需用"charAt"。
例如:char c = str.charAt(i)( i 依次为字符串每一位的索引) -
subString函数
substring是 Java 中String类的一个方法,用于获取字符串的子串。(个人感觉与python切片有点相似)该方法有两种形式:
1.substring(int beginIndex)
2.substring(int beginIndex, int endIndex) -
reverse函数、append函数、toString函数
使用append函数时需要创建对象(StringBuilder new一下),最后把StringBuilder toString 。 -
java字符串转换为整数:
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);
标号(标签)
主要用于循环语句前,用于给语句块加名称,以便通过continue和break语句控制程序流程
public static void main(String[] args) {
A:
for (int i=0;i<10;i++){
for (int j=0;j<10;j++){
if (i==3 && j==3){
//continue A; 进入外层循环的下一轮循环
break A; //中断所有循环,不再进入循环
}
System.out.println(i+":"+j);
}
}
}
}
转义字符:
\t : 制表符,自动对齐
Static:
1.被static修饰的成员变量,叫做静态变量
特点:
*被该类所有对象共享
*不属于对象,属于类
*随着类的加载而加载,优先于对象存在
调用方式:类名调用、对象名调用(不推荐)
2.被static修饰的成员方法,叫做静态方法