Java笔记

发布于:2022-10-28 ⋅ 阅读:(465) ⋅ 点赞:(0)

笔记 (变量+数据类型)

2022826

10:15

局部变量:代码块之内

全局变量:于方法之外,类之内(无static修饰)

注释:单行注释:

多行注释:

文档注释:

常量

常量值:

 

用大写表示:以final关键字来定义的常量

常量一旦被赋值/定义(定义前加上final),则不可修改。

 

数据类型:

占用:

 

 

引用数据类型:

string、数组等;

特殊:null类型(空类型)——>引用数据类型使用(将null赋值于基本类型会报错)

静态变量:用static修饰(生命周期取决于类的周期)

命名方式:标识符由数字、字母、下划线(_)、及$组成如:a12ghdg

注意:数字不能作为标识符的开始,如:1ac


转换+运算符+scanner

 

字符型能转换成整形:char->short

 引用类型与基本类型无法相互转换(两种数据类型必须相互兼容)

“+”的特性:

任何数据类型与字符串作“+”运算,都会转换成字符串。

 

除运算需要有小数点及后面的数时,需改变预算的数据的数据类型

  java中只存在false与true

关系运算符预算返回值为true/false(布尔值)

equals:使用之前需要申请对象:

也可以先申请后赋值:

scanner语句:

Scanner scan= new scanner(System.in)

Int q = scan.nextInt()

决定要输入内容的类型

需输入字符串时不许添加红色区域内容(nextline:直到回车之前的内容都显示)

第一句:字符串:无法显示空格之后的内容。

第二句:字符串:可以显示至回车之前的内容。

位运算:只对整型使用

右移:除以n个2(n:右移n个位)

左移:乘以n个2

直接量/字面量:能够直接看到的值;

类型:基本类型、字符类型(flaot、string)、null类型

复合语句:将多个语句组合在一起。

分支(if/else if):

多分支:

最后的else语句可要可不要

equals语句(用于比较字符内容是否相等)使用方法:“需要比较”.equals(比较的内容)

 

                                                                            

循环语句四部分:关键字、循环条件、循环体、迭代语句

while():可能一次都不执行(先判断,后执行)

du{……}while():最少执行一次(先执行,后判断)

循环嵌套层数超过三层,逻辑必定出问题

遍历方法

有返回值不用写:public static void

无返必有:void

调用类里的方法需要创建类的对象。(调用非static关键字修饰的方法。)

.var

非static修饰的方法可以调用非static修饰的方法

  

可变参数最后将被封装成一个数组

数组的创建:

静态创建数组的特点:创建数组的同时给数组元素赋值

动态创建数组的特点:创建数组时指定数组的长度,不对数组中的元素赋值

索引:下标

数组的特点:

数组名 .for(遍历)

引用类型的数组的初始值为null

random:生成随机数

使用方法:

Random random = new random();

赋值:

Int I = random.nextInt(指定s范围)

第二种随机数方法:

又称构造函数:

每个Java类必须包含(若未手动构造,则编译器会自动构造无参构造方法)

特点:

  1. 方法名字必须与类名完全相同
  2. 没有任何返回值,也无void关键字

语法:

修饰符(public) 类名(){

方法体

}

作用:实例化对象,初始化对象的初始值

this关键字:防止出现参数赋值参数的问题

使用方法:

This.变量名 = 参数

方法中不添加this关键字,白一起会默认补上this关键字

一个构造方法可以通过this关键字调用另一个重载的构造方法(在构造器中使用this关键字调用重载构造器时,代码必须位于第一行

常量:常量池

new关键字修饰:堆中

变量:栈

封装

核心:属性私有化,方法公开化。

为属性提供统一的访问方法:get():获取属性值

set():设置属性值

语法特点:

get属性名字();例题getname()

set属性名字(参数):setname()

继承

关键字:extends:

使用:方法名后+extends+类名

super关键字:super☞父类对象

特点:必须放置于构造函数的第一条语句(与this关键字相似)

子类对象能赋值于父类类型定义的参数。

方法重写:

发生位置:子类重写父类方法。(发生在子父类之间)

{

(一)

参数列表相同

方法名相同

方法体不同

(二)

引用类型的返回值派生类(子类)小于或者等于(父类)

void、基本类型(必须相同)

(三)子类的访问权限要大于父类访问权限

}

多态

继承关系

子类重写父类的方法

父类引用子类对象

abstract关键字,放置于calss关键字之前

抽象类中的抽象方法不能有{}

如果类中包含抽象方法,则该类必须为抽象类

抽象方法能被重载

interface:接口关键字:public interface 接口名

接口实现关键字:(继承)/实现多个接口:interface 接口名,接口名……

使用方法:类名+inpelements+接口名

接口:包含类要实现的方法,是抽象方法的集合

接口中定义的变量默认为被public final static修饰(常量)

访问接口常量:接口名.常量名

接口无法实现接口,但能继承接口同时还能多继承

成员内部类:不能定义静态的方法和变量(final除外)

定义:于类中创建一个类

作用:服务于外部类

main方法中创建内部类关键字:外部类.内部类 变量名 = 外部类对象.new  内部类

静态内部类可以通过(外部类.内部类.方法/变量)

匿名内部类:

这种形式的new语句声明一个 新的匿名类,他对一个给定的类进行扩展,或实现一个给定的接口。

示例:

New Demo01(){

};

static

被static所修饰的静态成员或方法不是方法的数据结构,而是类的数据结构(通过使用类的方法直接使用,不需要实例化对象即可使用)

final

final修饰成员变量,表示成员变量不可修改

所修饰的方法不能被重写

Static final

定义为常量,定义之时需初始化,且无法被更改。

../(返回上一路径)

./(查找当前路径)

Java二级考点

start方法必须(不然无法刷新界面)

创建画布:

设置画布尺寸:setSize(,)

设置窗口居中显示:setLocationRelativeTo(null)

关闭窗口终止运行:setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

设置标题:setTitle("标题名称")

设置logo:setIconImage(ImageIO.read(this.getClass().getResource("../img/0.png")));

将创建的窗口显示:setVisible(true)

绘画图片对象:g.drawImage("图片对象",x坐标,y坐标,null)

碰撞体:使用x坐标与y坐标进行规划(不像unity);

鼠标触发器:mouseAdapter(末尾需添加鼠标监听对象:this.addMouseListener(ma);)否则无法通过检测鼠标动作。

append(“内容”):拼接相同的内容
文字的操作

从指定位置截取到字符串末尾:substring(int num)

范围截取:sbustring(int x,int y)…含头不含尾(该方法不会截取y的指定参数)

指定目标字符进行分割:split(”char“)///限定分割次数:split(”char“,int)

转义符”.  |“必须加‘\

字符串替换 :replace(string oldchar,string newchar);默认替换所有oldchar

比较equalslgnoreCase(”比较的内容“):不区分大小写

字符串的查找:indexOf()/lastindexOf()

indexOf(value):返回第一个查找到的目标下标

indexOf(value,int 从哪个下标开始)

lastindexOf(value):返回最后一个查找到的目标下标

StringBuffer类:创建字符串(需要示例化该对象)

StringBuffer():初始长度为16

StringBuffer(int length):初始长度为length

StringBuffer(String str):初始长度为16+字符串的长度

Reverse:将字符串反转输出。

删除指定字符:deleteCharAt(下标);

删除区域字符:delete(下标,下标);

插入字符串:append(”内容“)

与Stringbuild的区别:比其安全,但慢

正则表达式的使用

replaceFirst(String regex(正则表达式),String replacement(替换内容))匹配相对应的内容替换

结束符:$

开始符:^

Math类

静态常量:E:自然对数

PI:圆周率

max方法

min方法

生成随机数:random类/random()

方法random():只能生成随机的0~1的数(double类型):生成n以内的随机数即后面*n。

类random:能提供各种数据类型的随机数

Random.nextint(int x):生成一个不包含x的随机数

DecimalFormat:格式化字符

format方法:new DecimalFormat(类型).format(以下内容)

0.0:会在数的后面自动补0(有几个0保留一位小数)

#.#:不会自动补0(有几个#保留几位小数)

date类

格林尼治时间:

Date():获取当前本地时间

after():判断是否在当前是时间之后

before():判断是否在当前是时间之前

DateFormat类

无法使用关键字,需使用静态方法

format(date):格式化时间

子类:SimpleDateFormat类(需要实例化对象)

用法:SimpleDateFormat 参数名 = new SimpleDateFormat(格式”y-m-d h

y:年份

M:月份

d:日期

h:

m:

s:秒    

isNaN:判断是否为非数字:是 return true

Return false

 常用变量:

MAX_VALUE:表示float的最大值

MIN_VALUE:表示float的最小值

System类

extit():退出程序0:退

      1:不退

自带的日志:

Logger.GetGlobal().info(“打印信息”)

级别:SEVERE

WARNING

INFO

异常(java.lang.Throwable)

Error:错误

Exception:异常(NullPointerException e(空指针异常)),ArrayIndexOutOfBoundsException e(数组下标越界异常))

try catch:捕获异常并且处理异常

try{

(代码块)

}

cacht(异常类型){

(处理异常的代码块)

}

try catch finall:

try{

(代码块)

}

cacht(异常类型){

(处理异常的代码块)

}……

finall{

(代码块)无论情况如何,最终都会走向finally(该语句块实在return语句之前)

}

throws:异常声明自己写同时要继承Exception或RuntimeException

抛出特定异常需要

父类:RuntimeException:运行时异常

Exception:普通异常

集合(容器)

ArrayList:查询快,增删改慢

LinkedList:查询慢,便于增删

集合只能保存对象数组

分类:Collection接口

Map接口

LIst接口:实现Collection接口

定义集合:

Collection col = new Arraylist();“接口无法定义为对象,需要向上造型”

col即为该集合

创建集合:

List<存储的数据类型> ls = new ArrayList();

Set类

迭代器Iterator<数据类型> 变量名 = 集合.iterator

(默认创建)HashSet类:无顺序的放入元素

只能拥有一个null

treeSet类

可以实现集合的自然排序(升序排序)

保存两组值:

Key/value

Hash Map类通过哈希算法查找

TreeMap类:自然排序

Collections类

Collections 类提供了许多操作集合的静态方法,借助这些静态方法可以实现集合元素的排序、查找替换和复制等操作。(使用类名调用)

addAll(添加的内容):添加元素

fill(集合,更换内容)方法:替换list集合中的所有元素为指定元素

replaceAll(集合,指定内容,替换内容):将集合中的指定内容调换成输入内容

reverse(集合):次序颠倒

swap(集合,下标,下标):两个元素互换位置

迭代器

获取迭代器对象:Iterator<> iterator = 需要添加迭代器的集合.Iterator;

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到