JAVA学习笔记

119 阅读5分钟

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可以直接打印出来。

屏幕截图 2024-03-12 174959.png

数据类型:

注意事项:long类型变量:需要加上L标识(大小写均可)

          Float类型变量:需要加上F标识(大小写均可)

标识符命名规则软性建议:

屏幕截图 2024-03-17 171503.png

关系运算符:

关系运算符的结果都是boolean类型,要么为true,要么为false。

Switch:

JDK12及以后可以简化书写

屏幕截图 2024-03-25 091845.png

这种写法既可以避免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 报错说无法解析。 报错产生的原因有很多,这一次我遇到的问题产生的原因是构造方法和类名不相同。 image.png 2.构造方法没有返回值 image.png 3. 自动调用
当你使用new关键字创建一个类的对象时,构造方法会自动被调用。 5. 初始化对象
构造方法的主要目的是初始化对象的状态,即设置对象的属性或执行其他必要的初始化操作。

字符串:

  • 字符串五种创建方法:
  1. 直接赋值:String name = "abcdefg"

  2. new:
    public String()---创建空白字符串,不含任何内容
    public String(abcdefg)---根据传入的字符串,创建字符串对象
    public String(char[ ] chs)---根据字符数组,创建字符串对象
    public String(byte[ ] chs)---根据字节数组,创建字符串对象

  • 直接赋值的字符串储存在‘串池’中,相同的字符串只有一个地址值。
    用new得到的字符串不会共用一个地址值。

  • 等号‘==’比较的浅层原理: 1.基本数据类型比较的是数据值 2.引用数据类型比较的是地址值

image.png

  • 不同数据类型之间也是可以比较的(看你形式上是否相同):
    用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修饰的成员方法,叫做静态方法