甲乙丙打怪升级DAY2 Java语言基础(二)

Java语言基础(二)

一、编程基础(查漏补缺)

运算符

1.算术运算符

+可做字符串连接 从左到右运算 只要碰上字符串,就是字符串的人了!

(注:A 65 a 97 0 48

2.赋值运算符

= (注:int a = a+10;× a未定义前就使用

+= 加后赋值 隐含强制类型转换 能用+=则用+=

(注:short s = 10; s+=20;√ s = s+20;× s = (short)(s+20);√

-= *= /= %=

3.自增自减运动算符

++ --

4.关系运算符

作用:判断 结果一定为true/false

> < >= <= == !=

(注:区分==和=的区别;String不可用> < >= <=,可用== !=,但是不是比较内容,比较结果会不正确,不用==和!=比较字符串内容

5.逻辑运算符

&逻辑与 “并且” 有false则false

|逻辑或 “或者” 有true则true

!逻辑非 “非”

^逻辑异或 “异或” 相同为false 不同为true

短路逻辑运算符 &&短路与 左边若为false则右边不执行 ||短路或 左边若为true则右边不执行

6.三元运算符 判断

关系表达式 ?表达式1 :表达式2

关系表达式为true->表达式1的值为结果,否则表达式2的值为结果

流程控制语句

1.顺序结构

2.分支语句

if语句

switch语句 表达式为byte short int char(注:JDK5以后可以是枚举,JDK7

switch(表达式){

  case 值1:

                  语句体1;

                  break;

  ...

  default:

               语句体n+1;

               [break;]

}

(注:case穿透 多个case对应一个语句体;case default之间没有顺序要求

3.循环结构

for循环语句 每一次都执行条件判断语句

(扩展:任意数字指定为上的数字如何求?-先用整除操作将哟啊求的数字移动到各位上,再使用取余操作取出最后一位上的值

while循环语句

do...while循环语句

(注:三种循环区别

           1)do...while先做一次循环体再做判断 for while 先执行再判断

           2)死循环 for一直循环 while(true)一直循环<一般使用> do...while(true)一直循环

           3)注意局部变量和全局变量的关系

跳转控制语句

continue 用在循环中 基于条件控制 跳过某次循环体内容的执行,继续下一次的执行

break 用在循环中 基于条件控制 终止循环体内容的执行 结束当前的整个循环

循环嵌套

循环语句中包含循环语句

Random

作用:产生一个随机数

1.导包 import java.util.Random;//导包的动作必须出现在类定义的上面

2.创建对象 Random r = new Random();//r是变量名可以变,其余不可变

3.获取随机数 int number  = r.nextInt(10);//获取数据的范围[10)

数组

多个相同类型 一次性声明大量用于存储数据的变量 要存储的数据都是同类型的数据

数组类型[] 变量名 定义int数组<推荐>

数组类型 变量名[] 定义了一个int型变量 变量名是数组

初始化

为数组中的数组元素分配内存空间

动态初始化:只指定数组长度 系统分配数组初始值 int[] arr = new int[3];

静态初始化:指定每个数组元素的初始值 由系统判定数组长度 int[] arr = {1,2,3};

内存分配

默认值:整数数组0 小数数组0.0 字符数组'\u0000' 布尔数组false String以及其他引用型数组null

常见问题

索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题ArrayIndexOutOfBoundException

空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常NullPointerException

数组常见操作

1.遍历

获取数组元素数量 数组名.length

通用遍历格式 for(int i = 0; i<arr.length; i++){System.out.println(arr[i])};

2.获取最值

定义一个变量 用于保存最大值

取数组中的第一个数据作为变量的初始值

与数组中剩余的数据逐个对比,每次对比将最大值存到变量中

方法

先创建再使用 创建后手动使用后才执行

定义时数据类型与变量名不能少 调用时参数的 数量与类型必须与方法定义中的设置相匹配,否则程序将会报错

形参:方法定义中的参数 等同于变量定义格式

实参:方法调用中的参数 等用于使用变量或常量

方法的返回值通常会使用变量接收,否则该返回值将无意义

(注:方法不能嵌套定义;void表示无返回值,可省略return,也可单独书写return,后面不加数据return还可以还可以起到跳出当前方法的作用

方法重载

同一个类中定义的多个方法之间的关系

满足:多个方法在同一个类中,多个方法具有相同的方法名,多个方法参数不相同,类型不同或者数量不同

重载仅对应方法的定义,与方法的调用无关

仅针对同一个类中方法的名称与参数进行识别,与返回值无关

方法的参数传递

基本数据类型,形参的改变不影响实际参数的值;引用类型的参数,形参的改变,影响实际参数的值(数组)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值