周报1>>>

学习内容:

一、Java的标识符

1、由字母、数字、下划线、$组成

2、不能以数字开头

3、严格区分大小写

4、不能使用关键字

5、见名知意

二、关键字

被Java指定的一些具有特殊意义的小写单词,共50个,其中有两个保留字const和goto.

三、注释

1、单行注释--//

2、多行注释--/* */

3、文档注释--/** */

四、八大基本类型

byte--1字节 

short--2字节

int--4字节

long--8字节

flout--4字节 单精度

double--8字节 双精度

char--2字节 0-25535

Boolean--1字节 真true 假false

五、类型转换

小到大(隐式转换) 大到小(显示转换)

小到大,直接转,大到小,强制转,浮变整,小数没

1.布尔类型不参与类型转换

2.类型能否转换取决于取值范围,字节大小只能做参考

3.大类型转小类型时,需要强制类型转换,如果值超出了小类型的取值范围,数据会发生错误

4.浮点型数据转为整型,会舍弃小数部分 

六、5条运算规则

1、计算结果的数据类型与最大类型保持一致

2、三种比int小的类型,运算时要先自动提升成int类型再计算

3、整数运算溢出

4、浮点数运算不精确

5、浮点数的特殊值 Infinity   NAN

七、运算符

处理运算的符号--+ - * / %

%--取余数,如果整除,余为0

1、自增自减运算符

前缀式:++a  --a 符号在前先变化本身的值,再使用

后缀式:a++  a-- 符号在后先使用再变化本身的值

2、比较运算符

结果是布尔类型  >,<,>=,<=,==,!=

3、逻辑运算符

& 单与,两边结果同为true,结果才是true

&&双与,逻辑与单与一致,只是增加了短路的功能

| 单或,只要符号两边有一个为true,结果就是true

|| 双或,逻辑与单或一致,只是增加了短路的功能

注意:短路与/或会提高性能,单不是每一种情况都会短路

4、三母运算符

格式:1 ?2 : 3 -- 1是表达式,1真取2,1假取3.(求两个数的最大值常用)

5、赋值运算符

“=”,列如 int a = 1

+=,-=,*=,/= 复合的赋值运算符

思路:接收数据、处理数据、输出结果

八、分支结构

1、单分支结构 if(){};

2、多分支结构 if (){

}  else (){};

3、嵌套分支结构(适合判断条件比较多的情况)

if(){

}else if(){

}else if(){

}else{    }

4、循环结构(用于帮助我们重复做同一件事)

for(开始条件;循环条件;更改条件){循环体}

注意:开始条件只会在第一轮执行一次

循环执行几次取决于循环变量可以取到几个值,就循环几次。

4.1嵌套for循环

格式:for里有for

1)外层循环执行一次,内层循环执行多次

2)外层循环控制图形的行数,内层循环控制列数

4.2while循环

while(判断条件){循环体}

while循环设置死循环后必须设置出口

4.3do -while

do{循环体}  while(判断条件)

本循环最少会执行一次

九、变量

用来存储一些会发生变化的值

定义变量的语法:变量的类型  变量的名字 =变量的值;

String 引用类型的默认值是null

整数类型的默认值是0

浮点类型的默认值是0.0

布尔类型的默认值是false

字符型的默认值是/u0000,表现是一个空格

1、局部变量

位置:在方法里/局部代码块

使用范围:当对应的方法/局部代码块结束后,对应的局部变量也会被释放

注意事项:局部变量必须手动赋值

2、成员变量

位置:类里方法外

使用范围:在整个类里都生效,类消失,变量才会释放

注意事项:无需手动初始化,会自动赋予对应类型的默认值

十、方法

格式:方法的修饰符 返回值类型 方法名(参数列表){方法体}

调用方法的格式:方法名(参数列表);

方法的定义相当于方法的说明书,定义的时候怎么定义,调用的时候就需要按照定义来调用,也就是说如果方法设置了参数,调用方法时必须按照定义的类型来传参,否则会报错,如果有多个参数,可以用逗号隔开。

关于修饰符:

public:公共的,这个公共的方法可以被所有的人看到

private:私有的,这个私有的方法只能在本类中使用,外部是看不到这个方法的

关于参数:

方法的参数是非常自由的,可以没有参数,也可以设置多个参数,如果有多个参数,就用逗号隔开,参数定义的格式与变量定义的格式相同(类型 参数名)

break和continue

continue:作用是用来跳过本轮循环中后面的语句来提高效率的,并不是用来控制继续输入的,能够输入几次,取决于循环的次数,与continue无关

break:用于直接跳出循环,结束后面所以轮

break和continue后面不允许写代码,因为都是不可到达的代码

十一、数组

概念:数组Array,标志是[ ],用于存储多个相同类型的数据的集合,想要获取元素中的元素值,可以通过下标来获取,数组下标是从0开始的,下标的最大值是数组的长度减1.

数组创建的过程:

1)在内存中开辟连续的空间,用来存放数据

2)给数组完成初始化的过程,给每个元素赋予默认值

3)数组完成初始化会分配一个唯一的地址值

4)把唯一的地址值交给引用类型的变量a去保存

5)如果想要操作数组中的元素,通过下标来操作

注意:数组名是个引用类型的变量,它保存着的是数组的地址值,不是数组中的具体数据

1.动态初始化:int[ ] a =new int[5];

2.静态初始化:int [ ] b =new int[ ]{1,2,3,4,5}

                         int[ ] c ={1,2,3,4,5}

3.数组的长度用length属性来表示,数组一旦创建,长度不可改变

数组的长度允许为0

数组的工具类:Arrays

1).Arrays.toString(数组) --可以打印查看数组里的数据

2).Arrays.sort(数组) --对数组进行排序

3).Arrays.copyof(数组,新的长度)--复制,扩容,缩容

4).Arrays.copyofRange --指定首位截取数组中的元素

由于Java对char类型做了一个底层处理,所以char类型的数组可以直接打印具体内容,但除了char类型以外,其他任何类型的数组想要查看数组中的具体元素,需要使用数组的工具类Arrays的toString(数组名)来完成。

4.冒泡排序

排序思路:要比较多轮,每轮两个相邻的元素做比较,位置不对就互换

代码思路:通过嵌套for循环来完成

1)外层循环:控制的是轮数,如果有n个数,最多n-1轮

2)内层循环:控制的是每轮比较的次数,每一轮的次数会递减,之前轮确定的最大值不应该参与后面轮的比较

注意:外层循环的循环变量代表的是轮数1234...

内层循环的循环变量代表的是数组的下标[0,a.length-i)

十二、面向对象的三大特征

封装:把相关的数据封装成一个“类”组件

继承:是子类自动共享父类属性和方法,这是类之间的一种关系

多态:增强软件的灵活性和重用性

面向对象:这种思想强调的是结果,面向对象是Java及其重要的特征,Java就是一门面向对象的语言

类:类指的是类型Type,是指一类事物,类是抽象的,要提取这一类事物的特点与功能,可以把类理解成设计图纸,模板。

对象:对象就是根据类创建出来的具体事例,一个类可以创建出多个对象,对象通过地址值来区分

1.属性的封装

用private修饰属性,一旦属性被private修饰,就只能在本类中使用,外界无法访问,所以为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXxxh与setXxx方法

2.方法的封装

方法的封装也是使用private来修饰方法,如果想要调用私有的方法的功能,就需要在本类的公共方法调用这个私有方法。

3.构造方法

格式:与类同名且没有返回值的方法

作用:构造方法用于创建对象时使用,每次创建对象时,都会自动触发构造方法

特点:1).每个类会默认提供一个本类的无参构造

2).构造方法也存在重载的现象(无参/含参/全参)

3).我们是通过方法名+参数列表的方式来确认要调用哪个方法的。

4).全参构造不仅可以创建对象,还可以给这个创建出来的对象的属性赋值

4.方法的重载

现象:在同一个类中,存在多个方法名相同但是参数列表不同的方法

注意:我们这里所说的参数列表不同,指的是参数的个数与阐述的类型,与参数名无关

重载是为了使用时传入不同的参数,也可以很好地匹配到同名的方法来执行此功能

5.形参与实参

比如方法参数列表的参数就是一个形参,形参没有具体的值,调用方法时,传入什么值,就是什么

实参是实际存在的参数,有自己要保存的明确的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值