day3练习
数组的特点
-
数组是有序排列的
-
数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
-
创建数组对象会在内存中开辟一整块连续的空间
-
数组的长度一旦确定,就不能修改。
数组的分类
-
按照维数:一维数组、二维数组、。。。
-
按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
面向过程编程
面向过程(Procedure Oriented Programming)是一种以过程为中心的编程思想。这些都是以什么正在发生为目标进行编程。
特性:模块化 流程化
优点:性能比面向对象高, 因为类调用时需要实例化,开销比较大,比较消耗资源;单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象编程
面向对象(Object Oriented Programming )是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
特性:抽象 封装 继承 多态
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
缺点:性能比面向过程低

关系
-
-
对象是一类事物的实例,是具体的。
-
package Demo1.JavaSe.NeusoftEdu.zuoye; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * @program: FirstDemo * @description: 第三天 * @author: GuoTong * @create: 2020-08-13 10:51 **/ public class day3 { public static void main(String[] args) { int a = 1; int b = 2; System.out.println("基本类型:值传递function数据交换开始"); System.out.println(a); System.out.println(b); change(a, b); System.out.println("基本类型:值传递function数据交换后"); System.out.println(a); System.out.println(b); } private static void change(int a, int b) { int temp = a; b = a; a = temp; } } class ArrayByAdress { public static void main(String[] args) { int[] arr = {1, 3, 5}; /* List ints = Arrays.asList(arr); Collections.reverse(ints);//反转 Object[] array =new Object[3]; ints.toArray(array);*/ System.out.println("数组引用数据类型:地址传递-->前"); System.out.println(arr[0]); change(arr); System.out.println("数组引用数据类型:地址传递-->后"); System.out.println(arr[0]); } public static void change(int[] arr) { arr[0] = 200; } } class TwoArray { public static void main(String[] args) { int[][] twoArr = {{3, 5, 8}, {12, 9}, {7, 10, 6, 4}}; int sum = 0; for (int i = 0; i < twoArr.length; i++) { for (int j = 0; j < twoArr[i].length; j++) { sum += twoArr[i][j]; } } System.out.println(sum); } } class YHSJ_1 { public static void main(String[] args) { int rows = 10; for (int i = 0; i < rows; i++) { int number = 1; // 打印空格字符串 System.out.format("%" + (rows - i) * 2 + "s", ""); for (int j = 0; j <= i; j++) { System.out.format("%4d", number); number = number * (i - j) / (j + 1); } System.out.println(); } } } class YHSJ_2 { public static void main(String[] args) { int[][] arr = new int[10][]; for (int i = 0; i < arr.length; i++) { arr[i] = new int[i + 1]; } for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { if (j == 0 || i == j) { arr[i][j] = 1; } else { arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; } } } for (int i = 0; i < arr.length; i++) { int num = (arr.length - i) / 2; for (int k = 0; k <= num; k++) { System.out.print("\t"); } for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + "\t"); } System.out.println(); } } } class Student { //成员变量 public String name; public int age; public String major;//专业 public String interests;//爱好 //成员方法 public void say() { System.out.println("姓名:" + name + ";"); System.out.println("年龄:" + age + ";"); System.out.println("专业:" + major + ";"); System.out.println("爱好:" + interests + ";"); } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", major='" + major + '\'' + ", interests='" + interests + '\'' + '}'; } } class Teacher { //成员变量 public String name; public int age; public int teacherAge; public String course; //成员方法 public void say() { System.out.println("姓名:" + name + ";"); System.out.println("年龄:" + age + ";"); System.out.println("任教年数:" + teacherAge + ";"); System.out.println("科目:" + course + ";"); } @Override public String toString() { return "Teacher{" + "name='" + name + '\'' + ", age=" + age + ", teacherAge=" + teacherAge + ", course='" + course + '\'' + '}'; } } class TestClass { public static void main(String[] args) { Student student = new Student(); student.name = "王尼玛"; student.age = 32; student.major = "土木工程"; student.interests = "打麻将"; student.say(); System.out.println(student.toString()); Teacher teacher = new Teacher(); teacher.name = "王尼玛"; teacher.age = 32; teacher.teacherAge = 10; teacher.course = "数学"; teacher.say(); System.out.println(teacher.toString()); } } class yangHuiSanJiao { public static void main(String[] args) { int row = 10;//行数 int[][] yanghui = new int[row][row];//6行6列数组 for (int i = 0; i < row; i++){//行 for(int j = 0;j<= i;j++){//列 if (j==0 || j==i){ yanghui[i][j]=1; }else{ yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j]; } System.out.print(yanghui[i][j]+" "); } System.out.println(); } } }
工具类Arrays:
二分查找:
-
方法的参数为基本类型时,传递的是数据值。
-
-
-
数组的元素默认初始化值
-
数组元素是整型:
0
-
数组元素是浮点型:
0.0
-
数组元素是char型:
0
或'\u0000'
,而非'0'
-
数组元素是boolean型:
false
-
数组元素是引用数据类型:
null
-
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
Java入门到入坟
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端