Day05_JAVA语言基础第五天

1、函数(掌握)

1、概念(掌握)

定义在类中,有特定功能的一小段程序

2、格式(掌握)

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

函数体;

return 返回值;

}

解释:

A 修饰符: public static

B 返回值类型 :就是数据类型

C 函数名:见名知意,如果一个单词,首字母小写,如果多个单词组成,从第二个单词开始首字母大写

D 参数类型 :数据类型

E 形式参数 :接受实际参数的变量

F 实际参数 :就是实际参与运算的变量

G 函数体:实现功能的代码

H 返回值 程序的结果,如果没有明确返回值可以不写

I return 返回值 ,那里调用程序,return就把结果返回到哪里 比如 int num = max(1,2);return把结果返回给num

3、特点(掌握!!)

A 函数和函数是平级关系,且只能定义在类中,不能在函数中嵌套函数

B 函数只有被调用才会执行

4、注意(掌握)

无论函数的返回值是具体的数据类型还是void,任何函数都是以return语句结束的

5、函数的调用(理解)

            A 有明确返回值函数的调用

单独调用//没有意义

输出调用//视频中老师用的最多的

赋值调用//开发中用的最多的

            B  没有明确返回值函数的调用

单独调用

6、函数的重载-overload(掌握)                   

        概念                 

在同一个类中,函数名相同,参数列表不同(参数类型和个数),与返回值类型无关

        举例                              

  1. classDemo{
  2.      publicstaticvoid print(int x,int y){}
  3.      publicstaticvoid print(int a,int b,int c){}
  4.      publicstaticvoid print(double a){}
  5.      publicstaticvoid print(int a){}
  6. }

7、案例(掌握)

1、有明确返回值的案例

A求两个数据和

B 求两个数据的最大值

C 比较两个数是否相等

2、没有明确返回值的案例

A 打印矩形案例

B 打印99乘法表

2、数组(掌握)

1、概念(掌握)

数组是存储多个同一类型数据元素的容器(container)

2、好处(理解)

数组中的元素会被自动从0开始编号,方便我们获取

3、格式(掌握)

A int[] arr =new int[2];            //念法:int类型的数组arr

B int arr[] = new int[2];              //念法:int 类型的arr数组,不推荐这么写,他和第一种格式其实一样的

C int[] arr = new int[]{1,2,3,7};  //大括号内可以没有任何东西

D int[] arr = {3,4,65,4};            //大括号内可以没有任何东西

推荐使用A D ,C存在的意义:作为实际参数传递

获取数组的长度:变量名.length;     

     4、内存图(理解)

堆:所有new出来的东西都在堆里

1、每一个实体都有地址值
                  2、每一个实体内的内容都有默认值

整数:         0

浮点数:      0.0

字符:         ’\u0000’  //char c = ‘\u0000’;

布尔:         false

5、数组操作(掌握)                  

            1、数组遍历

  1. int[] arr ={1,3,5,6,3,5,2};
  2. for(int i=0; i<arr.length; i++){
  3.      int element = arr[i];     \\element:元素
  4.      System.out.println(element);
  5. }

            2、获取数组最值

  1. /*
  2. 方式一:临时变量为元素值
  3. 思路:
  4. 1,获取最值需要进行比较。每一次比较都会有一个较大的值。因为该值不确定。
  5. 通过一个变量进行临储。
  6. 2,让数组中的每一个元素都和这个变量中的值进行比较。
  7. 如果大于了变量中的值,就用该该变量记录较大值。
  8. 3,当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值了。
  9. */
  10. publicstaticint getMax(int[] arr)
  11. {
  12. int max = arr[0];
  13. for(int x=1; x<arr.length; x++)
  14. {
  15. if(arr[x]>max)
  16. max = arr[x];
  17. }
  18. return max;
  19. }
  20. /*
  21. 方式二:临时变量为角标
  22. 初始化为数组中任意一个角标。
  23. */
  24. publicstaticint getMax_2(int[] arr)
  25. {
  26. int max =0;
  27. for(int x=1; x<arr.length; x++)
  28. {
  29. if(arr[x]>arr[max])
  30. max = x;
  31. }
  32. return arr[max];
  33. }

            3、数组查找:给定一个值,查找该值在数组中对应的索引

  1. int[] arr ={1,3,5,6};
  2. //查找5所定义应的角标
  3. int index = getIndex(arr,5);
  4. /**
  5. 查找元素所对应的角标
  6. */
  7. publicstaticint getIndex(int[] arrays,int element){
  8.   for(int i=0; i<arrays.length; i++){
  9.     if(arrays[i]== element){
  10.       return i;
  11.    }
  12.  }
  13. }

4、数组间元素的拷贝:将A数组中的元素拷贝到B数组中

  1. import java.util.Arrays;
  2. publicclassArrayUtil{
  3. publicstaticvoid main(String[] args){
  4. int[] arr1 ={1,3,5};
  5. int[] arr2 ={1,6,3};
  6. copy(arr2, arr1);
  7. System.out.println(Arrays.toString(arr1));
  8. System.out.println(Arrays.toString(arr2));
  9. }
  10. /**
  11. * 将arr1数组中的元素拷贝到arr2中,前提:两个数组的长度必须一致
  12. * 需要的知识点:数组的遍历,数组中元素的获取,数组中元素的修改
  13. * @param arr1
  14. * @param arr2
  15. */
  16. publicstaticvoid copy(int[] arr1,int[] arr2){
  17. int length = arr1.length>arr2.length?arr2.length:arr1.length;
  18. for(int i=0; i<length; i++){
  19. arr2[i]= arr1[i];
  20. }
  21. }
  22. }

6、常见问题(掌握)

A 数组越界异常:

ArrayIndexOutOfBoundsException

你访问了不存在的索引。

                B 空指针异常:

NullPointerException

一个实例(对象)已经不存在了,你还去访问它的内容

7、二维数组(理解)

A 格式

第一种定义通过定义长度的方式定义了二维数组的长度,并且定义了一维数组的长度 int[][] arr = new int[6][3]

第二种定义通过长度仅定义了二维数组的长度,没有初始化一维数组int[] [] arr= new int[2][]

第三种定义通过直接给出元素定义了二维数组的长度和每一个一维数组的长度 int[][] arr = {{2,23},{33}}

B 案例

抽烟案例

  1. /**
  2. 一条烟中10包烟
  3. 每包烟有20支烟
  4. 那么就把一条烟看成一个二维数组,里面的包是一维数组
  5. */
  6. classSmokeDemo
  7. {
  8.     publicstaticvoid main(String[] args)
  9.     {
  10.          int[][] tiaoyan =newint[10][20];
  11.        
  12.          tiaoyan[9]=newint[2];
  13.        
  14.          for(int i=0; i<tiaoyan.length; i++)
  15.          {
  16.               int[] baoyan = tiaoyan[i];
  17.               for(int j=0; j<baoyan.length; j++)
  18.               {
  19.                    System.out.println("正在抽第"+(i+1)+"盒烟中的第"+(j+1)+"根烟");
  20.               }
  21.          }
  22.     }
  23. }

3、今天必须掌握的内容。以及常见的笔试题和面试题(学完这个就可以放心学习后面的知识了)

对于基本类型数组来说里面的每一个元素存的是数值,对于引用类型数组来说里面的每一个元素存的是地址值

1、谈谈什么是方法以及方法的声明格式

2、谈谈方法的调用以及注意事项(注意事项就是方法的特点)

分为有返回值方法和无返回值方法的调用,详情见上面

3、谈谈什么是数组以及一维数组的声明格式

详情见上面

4、如何操作数组中的元素

数组名[索引]来操作数组中的元

5、如何获取数组中的最值

详情见上面

6、数组中常见的两个异常以及异常产生的原因

7、说说方法的重载

8、练习的代码:数组的遍历,获取数组中的最值,查询某个数据在数组中的索引,数组中元素的拷贝。

9、定义一个reverse(int[] arr)方法,将数组中的元素反转,比如{1,2,3}反转后就是{3,2,1}

10、求两个数的和

11、求两个数中的最大值

13、定义两个equals方法,一个用于比较两个int是否相同,另一个用于比较两个double是否相同

14、定义方法,在可控制太打印矩形

15、什么时候定义有返回值类型的方法,什么时候定义无返回值类型的方法

刚开始,需求会写明,需求明确说要有返回值那就定义返回值,需求明确说不需要,就不需要定义返回值。后期随着知识的增加我们会详细的去分析,但是目前掌握到这种程度就好

来自为知笔记(Wiz)

时间: 2024-07-30 13:49:56

Day05_JAVA语言基础第五天的相关文章

Go 语言基础(五) 之 进阶

内存分配 Go 同样也垃圾收集,也就是说无须担心内存分配和回收. Go 有两个内存分配原语,new 和 make.它们应用于不同的类型,做不同的工作, 可能有些迷惑人,但是规则很简单. 1.用 new 分配内存 内建函数 new 本质上说跟其他语言中的同名函数功能一样: new(T) 分配了零值填充的 T 类型的内存空间, 并且返回其地址,一个 *T 类型的值.用 Go 的术语 说,它返回了一个指针,指向新分配的类型 T 的零值. 有一点非常重要: new 返回指针. 这意味着使用者可以用 ne

[Java入门笔记] Java语言基础(五):数组

简介 数组可用用于存储存储多个数据,Java的数组要求所有的数组元素具有一种相同的数据类型.一旦数组初始化完成,数组在内存中的空间被固定下来,长度不可改变,即使把数组的元素清空,所占用的空间依然被保留. 生活案例:博物架 每一个物品架都是相同类型的物品,长度不变,即使把物品下架,物品架依然不会改变. 定义数组 使用数组4步走: 1.声明数组 Java中支持两种格式的数组定义格式: 类型[] 变量名; 类型 变量名[]; 例: int[] a; int b[]; //两种方法都行,不过建议使用第一

C语言基础-第五课-函数

1   函数 1.1   函数的原型和调用 在使用函数前必须定义或者声明函数 double circle(double r); int main() { double length = circle(10); printf("length = %f\n", length); return 0; } double circle(double r) { return 2 * 3.14 * r; } 1.2   函数的形参与实参 在调用函数的时候,函数大多数都有参数,主调函数和被调用函数之间

C语言基础-第五章

流程控制 1.顺序结构 顺序结构是指程序将按照书写的顺序一步步执行程序. 2.选择结构 2.1但分支结构语句 if(表达式){语句} 2.2双分支结构 if(表达式){}else if{} else{} 2.3多分支结构语句 switch() { case 常量:语句 break;  case .... break; default:语句 break; } 2.4条件运算符和条件表达式 max=(a>b) ? a:b; a是否大于B 如果条件成立那么就取A值,如果条件不成立就去B 3.循环结构

第五天:语言基础(四)

Java 中的运算符 一门编程语言,最常坐的工作就是数据运算.在 Java 中,有丰富的运算符来进行数值运算.这些运算符可以分为以下几类: 算数运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其它运算符 算数运算符 先来说说算数运算符. 操作符 描述 说明 + 加--运算符两侧的值进行相加 注意类型转换 - 减--左操作数减去右操作数 注意类型转换 * 乘--运算符两侧的值进行相乘 注意类型转换 / 除--左操作数除以右操作数 注意左右操作数类型的不同,结果的类型也不同 % 取余--左操作

第二十五节:Java语言基础-面向对象基础

面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基于面向过程的.以前是主要以面向过程为思想,现在是将功能装进对象中,如果要用到功能时,就调用该对象即可. 面向对象是入门思想的进步,适用于人类的思考,将复杂的东西进行了简单化,将我们程序员从执行者变化成指挥者.由以前面向功能(面向过程)转变为面向对象(封装的功能). **** 面向对象设计思想 设计思

嵌入式 Linux C语言——C语言基础

嵌入式 Linux C语言--C语言基础 一.数据类型 1.基本数据类型 数据类型是创建变量的模型.变量名是连续存储空间的别名,程序中使用变量命名存储空间,通过变量可以使用存储空间.变量所占的内存大小取决于创建变量的数据类型. 2.有符号和无符号 有符号数中数据类型的最高位用于标识数据的符号,最高位为1表示为负数,最高位为0表示为正数. 计算机中有符号数通常使用补码表示,正数的补码为正数本身,负数的补码为负数的绝对值的各位取反后加1. 计算机中无符号数通常使用原码表示,无符号数默认为正数,没有符

C#语言基础

第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了一个强大的.易用的.逻辑结构一致的设计环境.其特点: 语言简洁 保留了C++的强大功能: 快速应用开发功能: 语言的的自由性: 强大的Web服务器控件: 支持跨平台: 与XML相融合: 第二部分 C#语言基础: 一.C#项目的组成结构: 1.项目后缀 .config——配置文件(存放配置参数文件)

【quick-cocos2d-x】Lua 语言基础

版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速便捷了许多,下文只是lua这门语言的一个基础知识点,没有涵盖整个Lua的内容,但是作为对lua入门的初步了解还是可以的,由于内容精简了不少,所以语言上可能会有点跳跃,但是问题不大. 要了解一门语言,首先要了解的是语言的标识符.保留字.常量和变量,命名规范和注释以及数据类型等.然后是运算符.控制流语句