Java学习笔记

目录:

1.注释语句

(1)段落注释:"/* */" (2)语句注释“//”

2.关键字

被赋予特殊含义的单词:1.全部小写;2.特殊颜色标记

3.数据类型

数值型符号/字节非数值型符号
整数byte(1),short(2),int(4),long(8)布尔boolean(1)
浮点数float(4),double(8)class
字符char(2)数值[ ]

4.变量使用注意事项

不可重复定义变量;直接使用前需赋值;定义long类型变量后加L;浮点数默认double,定义float,须在变量后加f;

5.标识符

由数字,字母,下划线,美元符组成;

不能以数字开头,不能是关键词,区分大小写;

小驼峰命名法:一个单词:首字母小写,多个单词:第一个小写,其他首字母大写

大驼峰命名:一个单词:首字母大写,多个单词:第一个大写,其他首字母小写

6.类型转换

自动转换:数据范围小——>数据范围大的类型;

强制类型转换:目标转换数据类型=(变量符号)数据

7.字符的加操作

等级顺序:byte,short,char->int->long->float->double

8.字符串的加操作

将字符串进行拼接,字符串连接符;

9.运算符

符号作用
=赋值
+=加后赋值
-=减后赋值
*=乘后赋值
/=除后赋值
%=模后赋值
++自加
自减
==,!=,>,>=,<,<=关系运算
&
|
^异或
!
&&短路与(第一个为真,后的逻辑判断不执行)
||短路或(第一个为真,后的逻辑判断不执行)
a>b?a:bture:a; false:b

10.数据输入

Scanner使用步骤:

1.导入包

import java.util.Scanner

2.创建对象

Scanner sc=new Scanner(System.in) //sc为变量名,可以变,其它均不允许变化

3.接受数据

int i=sc.nextInt()		//只有变量名可变

11.流程控制语句

符号语句
ifif(关系表达式){语句体};
if…elseif(关系表达式){语句体}else{语句体2}
if…else if…else
switchswitch(表达式){case 1:语句体;break;}
forfor(初始化语句,条件语句,条件控制语句)
whilewhile(条件判断语句){循环体语句:}
Random产生随机数

random使用步骤:

1.导包

import java.util.Random;

2.创建对象

Random r=new Random();

3.获取随机数

int number=r.nextInt(10);//[0,10)整数

12.数组定义

int[] arr  //数据类型[] 变量名

13.数组动态初始化

格式:数据类型[ ] 变量名=new 数据类型[ ]

14.方法的定义与调用

public static void 方法名(){方法体}
public static void isEvenNumber(){方法体}
isEvenNumber()
public class fdemo {
    public static void main(String[] args){                 //main方法
        isEvenNumber(10);
    }

    public static void isEvenNumber(int num){
        if(num%2==0){
            System.out.println("true");
        }
    }

    
}

15.Debug

用于观测程序执行流程,又称断点调试

16.类和对象(封装,继承,多态)

(1)类的定义:

public class 类名{
    //成员变量
    //成员方法
}
public class phone {
    //成员变量
    String brand;
    int price;
    //成员方法
    public void call(){
        System.out.println("打电话");
    }
    public void message(){
        System.out.println("发短信");
    }
    
}

(2)成员变量与局部变量

局部变量:类中方法内的变量;栈内存;随方法调用和消失产生和消失

成员变量:类中方法外变量;堆内存;随对象调用和消失产生和消失

(3)private私有:不能在外部直接调用,可以用方法间接调用

(4)this使用:用于对象变量指向,指代成员变量

17.构造方法

//修饰符 类名(参数),调用对象时,调用构造方法
public student(){
    
}

18.API概述

API(Application Programming Interface):应用程序编程接口

19.String

String构造方法

方法名说明
public String()创建一个空白字符串对象,不含有任何内容
public String(char[] chs)根据字符数组的内容来创建对象
public String(byte[ ] bys)根据字节数组的内容来创建对象
String s =“abc”直接赋值的方式创建字符串对象
public class Stringdemo {
    public static void main(String[] args){
        //public String()创建一个空白字符串对象,不含有任何内容
        String s1=new String();
        System.out.println("s1"+s1);
        //public String(char[] chs)根据字符数组的内容来创建对象
        char[] chs={'a','b','c'};
        String s2=new String(chs);
        System.out.println(s2);
        //public String(byte[ ] bys)根据字节数组的内容来创建对象
        byte[] bys={97,98,99};
        String s3=new String(bys);
        System.out.println(s3);
        //String s ="abc"直接赋值的方式创建字符串对象
        String s4="abc";
        System.out.println(s4);
    }
}

特点:以方式4赋值,调用类对象看为同一个,new是唯一的;

字符串比较

==作比较(比较地址)与用equals方法作比较;

遍历字符串

​ 1.录入字符串/scanner;2.返回索引处char值3.返回长度length();

20.StringBuilder

可变的字符串类,拼接字符串,节省空间,

StringBuilder sb=new StringBuilder();
方法名说明
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()返回相反的字符序列

21.StringBuilder与String相互转换

StringBuilder->String: to String( )

String->StringBuilder: public StringBuilder(String s)

22.集合基础ArrayList

特点:提供一种存储空间可变的储存类型,存储数据容量可以发生改变

ArrayList<E>
ArrayList<String>;
ArrayList<Student>;

构造方法和添加方法:

方法名说明
public ArrayList( )创建一个空的集合对象
public boolean add(E e)将指定元素追加到此集合的末尾
public void add(int index, E element)在此集合中指定位置插入指定元素
 public static void main(String[] args){
        ArrayList<String> array=new ArrayList<>();
        array.add("hello");
        array.add("java");
        array.add(1,"my");
        System.out.println(array);
    }
    
}

ArrayList集合常用方法:

方法名说明
public boolean remove(object o)删除指定元素,返回是否成功
pubic E remove(int index)删除指定索引处元素,返回被删除的元素
public E set(int index,E element)修改指定索引处的元素,返回被修改的元素
public E get(int index)返回指定索引处的元素
public int size()返回集合中的元素个数
import java.util.ArrayList;

import javax.lang.model.element.Element;

public class ArrayListdemo {
    public static void main(String[] args){
        ArrayList<String> array=new ArrayList<>();
        array.add("hello");
        array.add("java");
        array.add(1,"my");
        System.out.println(array);
        array.remove("hello");//删除指定元素
        System.out.println(array);
        array.remove(1);
        System.out.println(array);//删除指定索引元素
        array.set(0,"hello");
        System.out.println(array);//修改指定元素
        System.out.println(array.size());
    }
    
}

23.继承

使子类具有父类的属性和方法,提高代码的复用性与维护性,格式:

public class 子类名 extends 父类名()

变量访问特点:方法内部->本类成员->父类,访问顺序;

不能同时继承多个类;支持多层继承;

super

​ 当访问时跳过方法内部变量,访问父类成员变量;

super.(父类成员变量变量)
关键字访问成员变量访问构造方法访问成员方法
thisthis.成员变量this(…)访问本类构造方法this.本类成员方法(…)
supersuper.父类成员变量super(…)访问父类构造方法super.父类成员方法(…)

子类中所有构造方法默认都会访问父类中无参的构造方法;

当父类中没有无参构造方法,只有带参构造方法时:

​ 1.通过super关键字去显示调用父类的带参构造方法;

​ 2.在父类中自己提供一个无参构造方法;

24.方法重写

子类声明与父类方法名相同的方法,可以在此基础上用super调用父类方法。

子类不能重写父类私有方法;

子类方法访问权限不能更低(public>默认>私有)

25.final修饰

1.final修饰指的是基本类型的数据值不能发生改变

2.修饰引用类型,其地址值不能发生改变,地址中的内容可以发生改变;

26.Static

静态变量,共享变量

建议直接利用类修饰;

非静态成员方法可以访问静态与非静态;

静态成员方法只能访问静态变量和方法;

27.多态

同一个对象,在不同时刻表现出来的不同形态;

animal a=new cat();

父类引用指向子类对象;

特点:

(1)多态形式访问成员变量,实际在访问父类成员变量

(2)成员方法查看编译左侧类对象内容,执行观测代码右侧

28.多态转型

向上转型与向下转型;

向下(由父到子):

Animal a=new Cat();
Cat c=cat(a);//强行转换为子类对象

29.抽象类

没有方法体的方法应定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类;

public abstract class Animal{//抽象类声明
    public abstract void eat();//抽象方法
    
}
public abstract class  Animal {
    public abstract void eat();//抽象类中不一定有抽象方法,但抽象方法一定在抽象类中

    
}

public class Cat extends Animal {

    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
}

public class animaldemo {
    public static void main(String[] args){
        Cat a=new Cat();
        a.eat();
    }
    
}

特点:

1.成员变量:

​ (1)可以是变量

​ (2)也可以是常量

2.构造方法

​ (1)有构造方法,但不能实例化

​ (2)用于子类访问父类数据的初始化

3.成员方法:

​ (1)可以有抽象方法也可以有非抽象方法

30.接口

概述:接口是一种公共的规范标准,只要符合标准,大家都可以通用

java中的接口更多的体现在对行为的抽象;

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xx_Mike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值