Java笔记

java语法

注释:

“//” ,“/* */” 和C++的注释的使用方法相同

关键字:

被java赋予了一些特定含义的英文单词,一般不能用于变量的命名,一般全为小写

字面量

   

注意:类名与文件名要保持相同

特殊的字符类型:

\t:表示制表符,作用是在答应的时候,将前面字符串的长度补齐到8,或者是8的倍数,最多补8个空格,(一般用于打印的时候,使得打印的内容整齐)

\r:

\n:换行符

关于输出:

输出语句:System. out.println();

关于与C++数据类型之间存在的差异

long n = 999999999L;

float f = 10.1F;

double则不需要加后缀就可以之间表达浮点数

键盘录入:

步骤一.导包:import java.util.Scanner;(注意要写在类定义上面。即在程序的最上方)

步骤二.创建对象:Scanner sc = new Scanner(System.in);

第三步.接收数据:sc.nextInt();

运算符

面向对象:

拿东西过来做对应的事情

设计对象并使用

类(设计图):是对对象共同特征的描述

在java中,必须先设计类,才能获得对象

定义类:

类有点类似与一个模型,只定义,不给值;

而对象就是真实存在的具体案例。

注意点:

编写main方法的类叫做测试类,

用来描述一类事物的类叫做Javabean类,这种类是不需要写main方法的

 

封装

对象代表什么,就要封装对应的数据,并提供对应的行为

因此人画圆处于圆的类,而非人的类,人只是调用了圆的方法去画圆;

关于private关键字

被private 修饰的成员只能在本类进行访问,这样随然可以保证错误的输入,但是也而导致后期修改不了,存在麻烦

正确的使用方法:

利用函数来判断,并将函数封装到类里面

this 关键字及就近原则

在成员变量与局部变量重名的时候会用到

this一般用于表示成员变量,如果不使用this那么输出的结果就会是函数里定义的age,因为这个age里我们的输出语句最近,这就是就近原则

一般是利用this 来给被prviate修饰的变量来进行赋值

构造方法

作用

在创建对象的时候对成员变量进行赋值

关于例子的具体表现

注意点:

没有构造方法,系统将自动给出无参的构造方法,但是如果写出来构造方法,那么系统就不会提供构造方法

推荐的使用方法

无论是否使用,都手动的写出两种构造方法

标准的JavaBean类

标准:

字符串

关于“==”的原理:

对于基本数据类型来说,比较的是数据值(int , double)等;

而对于引用数据类型来说,则比较的是地址值:

结果会是false;

这种存在串池的结果会是true;

new类型的与直接赋值的相比,结果为false;

关于比较字符串内容的两个函数:

键盘录入字符串的本质是new出来的,因此在比较的时候"=="本质上就是比较地址

关于遍历字符串:

数组.lenth是不用打()的,因为这是数组的特性,而字符串,lenth()是要打括号的,因为这是一种方法,在调用方法的时候,我们是需要打括号的

拼接字符串及字符串反转

拼接字符串就是简单的利用字符串的拼接特性,如result = result+字符

注意:在Java中不存在s[i],只能使用str.charAt();

利用str.charAt()获取字符串中字符,从后往前输出

金额转换

思路:

利用数组将数组转换为对应的汉字,在统计一下数字字符串的长度,了解一下零的个数,最后在通过数组将单位插进来

手机号屏蔽

利用函数

包头不包尾:对左边是闭区间,右边是开区间

注意:在使用的时候,如果想要得到小串,需要创建一个str去接受。

敏感词替换

注意:在使用的时候,如果想要得到小串,需要创建一个str去接受。

StringBuilder

stringbuilder 可以看成是一个容器,创建以后,里面的内容是可以替换的

在进行字符串拼接的时候,可以直接将多个字符串放进去,不需要创建多个字符串

使用方法:

StringJoiner

关于string的拼接原理

在没有变量的情况下直接对字符串进行拼接:就是类似直接对原本的字符串赋值拼接好后的内容

在拥有变量的情况下,就是每一次拼接都会创造一个新的string以及stringbuilder,利用stringbuilder进行拼接,然后用tostring变为字符串

关于stringBilder的原理

集合

在集合里面,不可以直接存储基本类型的数据:int double,但是可以存储引用类型的数据:string

方法:

关于代码关于基本类型的包装类规则:

关于利用循环在录入数据的时候,要记得在条件那里不能使用i<list.size(),,因为集合一开始的大小为0

关于返回多个结果

我们可以创建一个容器用来存储我们想要输出的结果,然后再将他进行输出

面向对象进阶

static关键字

static的重点在于“共享”这个特点,在构建类的时候如果构建的类的对象在某一个特征方面是相同的,比如在一个教师上课的同学们的老师就是相同的,为了避免每次调用类的时候都需要对其进行相同的赋值,所以产生了static这一个关键字

工具类

工具类就是提供操作的类,有点像函数

注意事项:

关于this关键字

在普通的方法中,java虚拟机会在方法的括号内自动补齐this关键字,确保对象在调用方法的时候能够找到对象的内存,从内存中得到相应的信息,但是静态方法通常只与类有关而与方法无关,所以没有this 关键字

关于继承

继承的定义

关于子类与父类继承的东西

对于在继承中的成员变量访问特点;

1.就近原则:现在局部位置上找,再到本类的成员位置上找,最后到父类上找

关键字;this本类的成员位置,super:父类

方法的重写:重写父类的方法,本质上是覆盖了从父类虚方法表里的方法

在子类的方法上编写@Override,

关于多态

关于多态的优势与劣势

优势:在方法中,以父类为参数,可以接受所有的子类

劣势:使用多态的时候,往往不能调用子类的独有方法

包:

包一般是指软件包,就是包含一堆Java文件的包,在同一个包中,引用其他的类是不需要其他操作,之间编写就行,但是如果需要用到其他包中的类,就要进行导包操作(import)

final关键字

修饰方法:该方法是最终方法,不可被重写

修饰类:该类是最终类,不可被继承

修饰变量:变为常量,不可修改

权限修饰符

接口:

关于在jdk8之后出现的三种接口新方法

这三种方法加强了接口的功能,以后在编写一个子类的时候就不需要重写方法了

接口的多继承

多接口机制主要是为了子类在继承时的便利

注意事项

内部类

内部类就是定义在类中的类

关于成员内部类的创建方法

静态内部类

匿名内部类

匿名内部类本质上就是一个子类,编译器在编译的时候也会创建出一个子类对象

枚举

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值