JAVA基础课总结四



控制跳转语句

breakcontinue

(1)有些时候,我们需要对循环进行一些控制终止,这个时候,就出现了两个关键字:

breakcontinue

(2)注意事项:

A:它们都必须在循环中(break还可以在switch中。)

  一般在循环的判断中。

B:如果单独使用breakcontinue,后面是不能有语句的。

(3)区别:

A:break 结束当前循环。

B:continue 结束本次循环,进入下一次循环。

(4)如何退出嵌套循环:

用带标签的循环。

格式:

标签名1for(){

标签名2for(){

标签名3if()

{

break 标签名1;

}

}

}

return :用来返回结果,结束方法

 

二、函数

 

(1)定义在类中,有特定功能的一段小程序,可以提高代码的复用性和维护性。

(2)函数的格式:

修饰符 返回值类型 函数名(形参类型 形式参数1,形参类型 形式参数2...)

{

函数体;

reutrn 返回值;

}

 

A:修饰符 权限:public private protect 默认  static final

B:返回值类型 程序最终结果的数据类型

C:函数名 其实就是函数的名称,方便我们调用。

D:参数

    形参类型 数据类型

    形式参数 就是接收实际参数的变量

    实际参数 就是实际参与操作的变量(常量)

E:函数体 就是按照正常的逻辑完成功能的代码。

F:返回值 就是程序的最终结果,可以是基本类型也可以是引用类型

G:reutrn 返回值 哪里调用程序,return就把结果返回到哪里。

函数其实是由关键字return让他结束的。

注意:void类型的函数,其实最后一行。默认有一个return;

 

(3)函数的特点:

A:函数与函数之间是平级关系。不能在函数中定义函数。

因为函数体是完成功能的代码是由语句组成的,

所以里面可以由顺序执行语句 选择语句 循环语句 等 各种语句

B:运行特点 函数只有被调用才执行。

C:方法定义的时候参数之间用逗号隔开

D:主函数默认被JVM调用

(4)案例:

有明确返回值的例子:

A:求两个数据的和

public static int sum(int a,int b)

{

return a+b;

}

B:求两个数据的最大值

public static int getMax(int a,int b) //形式参数,形式参数

{

return a>b?a:b;

}

C:比较两个数是否相等

public static boolean compare(int a,int b)

{

return a==b;

}

void类型例子:

A:nn乘法表

B:根据给定的行和列输出一个*组成的长方形

public static void printChangFangXing(int row,int col)

{

for(int x=0; x<row; x++)

{

for(int y=0; y<col; y++)

{

System.out.print("*");

}

System.out.println();

}

}

(5)函数的调用

A:有明确返回值

a:单独调用 一般没有意义。

b:输出调用 但是如果想拿结果继续操作,就有问题了。所以,不好。

c:赋值调用 推荐方式。

 

B:void类型

单独调用

 

      方法间:本类直接调用(带返回值的和不带返回值得,外部类访问成员内部类的方法创建对象调用,局部内部类只能在局部创建对象访问

       类间:静态的类名直接调用,非静态的可以创建对象的创建对象调用

不可以创建对象的用子类的对象访问

      包间:lang下的不用导包,其他的导包,创建对象访问

      项目间:JAR

(6)方法重载

在同一个类中,函数名相同,参数列表不同(个数不同,对应的类型不同)

  与返回值类型无关。

 

三、数组

(1)数组是存储同一种类型的多个元素的容器。

     数组既可以存储基本数据类型,也可以存储引用数据类型。

(2)特点:数组中的元素会被自动从0开始编号,方便我们获取。

    (3)数组定义格式

数据类型[] 数组名 = new 数据类型[数组的长度];

   (4)Java内存图:

A: 存储局部变量使用。

           局部变量:定义在方法声明或方法中的变量

使用完毕,立马消失。

 

B: 所有new出来的或者数组。

a:每一个实体都有地址值

b:每一个实体内的内容都有默认值

整数:0

浮点数:0.0

字符:'\u0000'

布尔:false

              引用类型:null

c:在垃圾回收器空闲的时候被回收。

 

C:方法区:类加载、静态缓存和String常量池,存字节码文件

D:本地方法区: 和系统相关

E:寄存器:给CPU

 

   备注:null是空常量,是引用类型的,把null赋值给引用类型的数据,就是让这个引用变量不再指向堆内存中的数据,原来指向的内容就成垃圾了

  (5) 数组的初始化

就是为数组开辟连续的内存空间,并为每个数组元素赋予值 

对数组进行初始化

a:动态初始化 只指定长度,由系统给出初始化值

 int[] arr = new int[5]; 

   b:静态初始化 给出初始化值,由系统决定长度

        Int[] arr = {a,b,c};

 

(6)数组操作的常见问题:

A:数组越界异常。你访问了不存在的索引。

ArrayIndexOutOfBoundsException

B:空指针异常。一个实例(对象)已经不存在了,你还去访问它的内容。

NullPointerException

    (7) 数组遍历:就是依次输出数组中的每一个元素。

   数组的属性:arr.length数组的长度

  数组的最大索引:arr.length - 1;

       数组的索引arr[i];

     (8)数组的反转(第一个元素和最后一个元素交换)

public static void reverseArray(int[] arr) {

for (int i = 0;i < arr.length / 2 ; i++) {

//arr[0]arr[arr.length-1-0]交换

//arr[1]arr[arr.length-1-1]交换

//arr[2]arr[arr.lentth-1-2]

//...

int temp = arr[i];

arr[i] = arr[arr.length-1-i];

arr[arr.length-1-i] = temp;

}

}

 

9)数组查表法(根据键盘录入索引,查找对应星期)

public static char getWeek(int week) {

char[] arr = {' ','','','','','','',''}; //定义了一张星期表

eturn arr[week]; //通过索引获取表中的元素

}

 

10)数组元素查找(查找指定元素第一次在数组中出现的索引)

public static int getIndex(int[] arr,int value) {

     for (int i = 0;i < arr.length ;i++ ) { //数组的遍历

    if (arr[i] == value) { //如果数组中的元素与查找的元素匹配

return i;

}

}

return -1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值