数组排序

1.冒泡排序


import java.util.Arrays;//冒泡排序
public class Deom01 {public static void main(String[] args) {int[] arr =  {22,52,88,2,0};//调用bubbleSort(arr);System.out.println(Arrays.toString(arr));}public static void bubbleSort(int[] arr) {for(int i=0;i<arr.length-1;i++) {for(int j=0;j<arr.length-1-i;j++) {if(arr[j]>arr[j+1]) {int temp = arr[j];//定义一个空变量存值便于下面位置j和位置j+1值的交换arr[j] =  arr[j+1];arr[j+1] = temp;//再将第一步赋值给temp 的位置j的值赋值给j+1}}}}}

2.选择排序


import java.util.Arrays;//选择排序
public class Deom02 {public static void main(String[] args) {int[] arr = new int[] {0,45,6,12,3};selectSort(arr);System.out.println(Arrays.toString(arr));}public static void selectSort(int[] arr) {for(int i=0;i<arr.length-1;i++) {int max = 0;for(int j = 1;j < arr.length - i;j++) {if(arr[j] > arr[max]) {max = j;//将最大值存在max这个位置}}//交换位置int temp = arr[max];arr[max] = arr[arr.length-1-i];arr[arr.length-1-i] = temp;}}}

类和对象

:是一组相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征和行为来描述该类事物。

通俗一点来说,就是人们常说的概念,很抽象的,不真实存在的,称之为类。

对象:是一类事物的具体体现,对象是类的一个实例,具备该类事物的属性和行为。

通俗来说,对象是真实存在的,它是具体的。

举例:人类 --->是一个类

名字,身份证--->属性

吃饭,睡觉,喝水 --->行为

一个单独真实存在的人--->对象--->是人类的一个实例,应该具备人类的属性和行为

类的定义

就是定义类的成员,包括成员变量和成员方法。

成员变量:与之前定义变量的方式是一样的,但需定义在类中,方法外。

成员方法:与之前定义变量的方式是一样的,但需把public static 修饰词中的static去掉之后,再做方法。

这里需要注意的是,成员变量的默认值

类的使用

1.创建类的对象-->主方法里创建

2.使用对象访问类中的成员(调用成员变量,成员方法)

代码说明


/*计算圆的周长,面积
* 创建一个Circle类,并使用两个方法分别计算它的周长和面积*/public class Demo01 {public static void main(String[] args){//创建类的对象Circle c = new Circle();//调用成员变量c.r = 3.0;//调用成员方法c.area(c.r);c.perimeter(c.r);}}//这里开始就要新创建一个class放我们写的Circle类// 实体类public class Circle {//定义成员变量double r ;double pi =3.14;//定义成员方法public void area(double r){double s = pi*r*r;System.out.println("s="+s);}public void perimeter(double r){double c = 2*pi*r;System.out.println("c="+c);}}
public class Deom02 {public static void main (String[] args){//创建类的对象Student stu = new Student();//调用成员变量stu.name = "小红";stu.sex = "女";stu.age = 18;stu.book = "白夜行";//调用成员方法stu.m1(stu.name,stu.sex,stu.age,stu.book);}
}// 实体类
public class Student {// 定义成员变量String name;String  sex;int age;String book;//定义成员方法public void m1(String name, String sex,int age,String book){System.out.println(name+sex+age+"岁"+book);}
}

对象内存图

成员变量和局部变量的区别

1.在类中声明的位置不同

   成员变量:类中,方法外

局部变量:方法中

2.初始化的区别

   成员变量:可以不用初始化,因为有默认初始值

局部变量:使用前必须初始化

3.个数区别

   成员变量:由对象决定

局部变量:由声明个数决定,声明多少个局部变量就有多少个

4.在JVM内存中的区别

成员变量:存在堆里,随着对象的创建而存在,随着对象的消失而消失

局部变量:存在方法栈里,随着方法的调用而存在,随着方法的调用而消失

 图示

JAVA day04 数组排序,类和对象相关推荐

  1. JAVA基础七 类和对象

    文章目录 JAVA基础七 类和对象 01 引用 02 继承 03 方法重载 04 构造方法 05 this 06 传参 07 包 08 访问修饰符 09 类属性 10 类方法 11 属性初始化 12 ...

  2. 12月29日--Java中有关类与对象的学习记录

    1.12月29日第一课记录 Java中有关类与对象的学习记录 一.基本概念部分 1.类:具有相同.相似的属性.特征.行为方式以及功能的一类事物的总称 (举例:一类用户,如淘宝用户) 类是对象的模板 是 ...

  3. JAVA基础––从类和对象开始

    JAVA基础--从类和对象开始 一.概念 1.面向对象中类和对象的概念 对象:对象是具有状态和行为的实体,例如某个具体的学生,或者是王者荣耀里的英雄,可以是物理实体,也可以是逻辑实体. 类:类是一组具 ...

  4. JAVA中的类和对象之this的详解

    系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...

  5. 面向对象系列教材 (一)- Java中的类和对象

    面向对象系列教材 (一)- Java中的类和对象 本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开) 相信你肯定玩过DOTA或者LO ...

  6. JAVA设计一个fan类_北京信息科技大学java语言程序设计-类和对象

    北京信息科技大学java语言程序设计-类和对象 [实验名称]实验2 类和对象 [实验目的] 1.学习和掌握Java创建对象的方法. 2.学习和掌握通过创建对象.使用类的方法. 3.学习和掌握Java类 ...

  7. java中的类和对象(重点)超详细

    java中的类和对象 1.类与对象的初步认知 2.类和对象的实例化 3.类的成员 3.1.字段,属性,成员变量 3.2.方法 3.3.static 关键字 3.4.小结 4.封装 4.1.privat ...

  8. java基础(类与对象、集合)

    java基础(类与对象.集合) 类与对象 类与对象中的栈和堆 构造方法 this关键字 面向对象三大特性 封装性(private) 继承性(extends) 方法重写(@override) 多态性 向 ...

  9. 3.JAVA基础复习——JAVA中的类与对象

    什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...

最新文章

  1. (转载)虚幻引擎3--9掌握虚幻技术UnrealScript 预处理器
  2. Linux中find常见用法示例
  3. 自编码网络这样应用到任务上可以吗
  4. 是 String , StringBuffer 还是 StringBuilder ?
  5. sklearn快速入门教程:补充内容 -- sklearn模型评价指标汇总(聚类、分类、回归)
  6. C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解
  7. 云炬VB开发笔记 5循环结构
  8. 02-UILabel比例颜色填充之歌词效果实现
  9. zblog php robots,zblog的robots.txt怎么写?zblog的robots.txt文件示例下载
  10. linux系统远程教程,Linux下实现远程协助
  11. 计算机等级的有关知识,计算机等级二级基础知识.doc
  12. iis设置服务器文件权限设置,iis7如何配置写入权限以上传文件---急急急
  13. 美团最好战的那个男人要走了
  14. shell不允许输入空字符_反弹shell | ncamp;bash
  15. SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别
  16. MyBatis学习(三)MyBatis的动态SQL
  17. 专升本高等数学考试知识点汇总(一)
  18. 【开发神器】自动化测试、用 Apipost!
  19. python爬虫大众点评_Python爬虫丨大众点评数据爬虫教程(1)
  20. 【冯·诺依曼体系结构】

热门文章

  1. 冷光牙齿美白仪行业调研报告 - 市场现状分析与发展前景预测
  2. 给所有的input设置 autocomplete=off
  3. MySQL数据库搜题_智慧树知到_MySQL数据库设计与应用_搜题公众号
  4. 解决linux中xorg占用gpu问题
  5. 对话图灵奖得主、CNN之父Yann LeCun:我在中国看到了AI研究热潮
  6. 为什么技术人干得越久越拿不到高薪?
  7. 舍弃高通?谷歌推 Tensor 自研芯片
  8. 揭晓 2020 年增长最快的技术职位,PHP 成为潜力股!
  9. 专访商汤联合创始人林达华:商汤的开源战略,从算法做起
  10. 英特尔发布边缘软件中心,抢滩 650 亿美元智能边缘市场!