笔记:2016-06-02

JAVA

判断那个方法是重载

void show(int w, double c, char b){}

void show(int x, char y, double z){} true

void show(int a, double c, char b){} false

void show(int a, char b){} true

void show(double c){} true

double show(int x, char y, double z){} true

1. 数组的定义

格式1:


元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

示例:int[] arr = new int[5];


格式2:


元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

int[] arr = new int[]{3,5,1,7};

int[] arr = {3,5,1,7};

1. 数组的内存分析

案例分析一:

案例分析二:

直接排序

/*

选择排序。

以一个角标的元素和其他元素进行比较。

在内循环第一次结束,最值出现的头角标位置上。

*/

public static void selectSort(int[] arr)

{

           for(int x=0; x<arr.length-1; x++)

{

           for(int y=x+1; y<arr.length; y++)//为什么y的初始化值是 x+1? 因为每一次比较,

//都用x角标上的元素和下一个元素进 行比较。

{

               if(arr[x]>arr[y])

{

                    int temp = arr[x];

arr[x] = arr[y];

arr[y] = temp;

}

}

}

}

冒泡排序

/*

冒泡排序。

比较方式:相邻两个元素进行比较。如果满足条件就进行位置置换。

原理:内循环结束一次,最值出现在尾角标位置。

*/

public static void bubbleSort(int[] arr)

{

        for(int x=0; x<arr.length-1; x++)

{

                for(int y=0; y<arr.length-x-1; y++)//-x:让每次参与比较的元减。

//-1:避免角标越界。

{

                           if(arr[y]>arr[y+1])

{

                                   int temp = arr[y];

arr[y] = arr[y+1];

arr[y+1] = temp;

}

}

}

}

折半查找(二分法)

案例四:

/*

为了提高查找效率,可使用折半查找的方式,注意:这种查找只对有序的数组有效。

这种方式也成为二分查找法。

*/

public static int halfSeach(int[] arr,int key)

{

            int min,mid,max;

min = 0;

max = arr.length-1;

mid = (max+min)/2;

             while(arr[mid]!=key)

{

                           if(key>arr[mid])

min = mid + 1;

                           else if(key<arr[mid])

max = mid - 1;

                            if(min>max)

                                     return -1;

mid = (max+min)/2;

}

return mid;

}

数组翻转

/*

反转其实就是头角标和尾角标的元素进行位置的置换,

然后在让头角标自增。尾角标自减。

当头角标<尾角标时,可以进行置换的动作。

*/

public static void reverseArray(int[] arr)

{

            for(int start=0,end=arr.length-1; start<end; start++,end--)

{

swap(arr,start,end);

}

}

//对数组的元素进行位置的置换。

public static void swap(int[] arr,int a,int b)

{

                 int temp = arr[a];

arr[a] = arr[b];

arr[b] = temp;

}

为什么a.length = 3, a[0].length = 4?

数组的初始化:

静态初始化:

int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };

动态初始化:

// $()函数的另外一个作用:动态创建元素

var $spanNode = $(“<span>我是一个span元素</span>”);

时间: 2024-11-06 02:52:54

笔记:2016-06-02的相关文章

C++第七天笔记2016年02月24日(周三)A.M

1.    拷贝构造函数:也是构造函数. 2.    拷贝构造的作用: (1). 用一个已经存在的对象创建并初始化新对象. 1 object=another_object; //赋值重载 2 Person object=another_object; //拷贝构造函数. 3 Person object(another_object); //开辟堆空间 1 Person obj; 2 Person* p=new Person(obj); //编辑器会调用拷贝构造函数. delete p; 3. 

C++第六天笔记2016年02月23日(周二)A.M

1.    赋值运算符的重载: 什么情况下需要赋值运算符的重载? 当类中有指向对空间的指针变量时,需要重载赋值运算符以实现深拷贝. 浅拷贝问题: 当类中有指向对空间的指针变量时,前拷贝有可能会导致二次删除或内存泄露问题. 重载赋值操作符分5步:a=a; 1.1  判断是否为自赋值à自赋值则直接跳至第5步. 1.2  删除旧的堆空间(指针指向的旧的堆空间) 1.3  申请新的堆空间 1.4  内容拷贝 1.5  return* this; 浅拷贝: 1 #include <iostream> 2

C++第五天笔记2016年02月22日(周一)P.M

1.    输出运算符重载: 1 #include <iostream> 2 #include"cstring" 3 4 using namespace std; 5 6 class Complex 7 { 8 public: 9 Complex(int r=0,int i=0):_r(r),_i(i){} 10 void print(); 11 friend ostream& operator<<(ostream& out,const Comp

C++第八天笔记2016年02月25日(周四)A.M

1.    继承:一个类A可以继承另一个类B,那么我们称类B为基类(父类),类A为派生类 (子类). 2.    派生类从基类继承了所有成员,除了构造函数.析构函数.=函数. 3.    基类的私有成员,虽然它们也是派生类的私有成员,但是不能在派生类中定义的成员函数访问.这些基类的私有成员只能通过基类的公有成员函数访问. 4.    子类可以自己实现与父类成员函数原型相同(函数名.参数列表)的成员函数,称为覆盖.覆盖是函数重载的特例,覆盖一定是发生在继承的过程中. 在子类中调用被覆盖的父类版本的

C++第七天笔记2016年02月24日(周三)P.M

1.    哪些构造函数支持做类型转换? 传递一个参数就可以被调用的构造函数. 2.    不同函数调用时间分析源码: 1 #include <iostream> 2 using namespace std; 3 4 class Demo{ 5 public: 6 Demo(int n=0):i(n){cout<<"默认构造函数被调用"<<endl;} 7 Demo(const Demo& a) 8 { 9 i=a.i; 10 cout<

2016/06/02学习记录

1一个异常抛出的小例子 1 package Demo; 2 3 import java.util.Scanner; 4 5 public class RedTwo { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 Scanner in = new Scanner(System.in); 10 System.out.println("Please enter an intege

C++第十天笔记2016年02月29日(周一)A.M

1.把子类对象作为父类对象使用: 1.1  前提:继承方式必须公有. 1.2 将子类对象用作父类对象. 1.2.1 将子类对象赋值给父类对象. 1.2.2 将父类引用指向子类对象.(即用派生类对象初始化基类引用) 1 #include <iostream> 2 using namespace std; 3 4 class Base{ 5 public: 6 Base(){} 7 Base(int b):_b(b){} 8 void func(){cout<<"b:&quo

php学习笔记2016.1

基本类型    PHP是一种弱类型语言.      PHP类型检查函数   is_bool()    is_integer()  is_double()  is_string()   is_object()  is_array()  is_resource()   is_null()   继承   继承是从一个基类得到一个或多个派生系类的机制.  继承自另一个类的类被称为该类的子类.  子类可以增加父类(也称超类,superclass)之外新的功能,因此子类也被称为扩展.   构造方法和继承  

【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之后,在Ext.Net GridPanel的行头会出现一个展开图标,点击图标以后能够将这一行展开: 使用XTemplate实现行折叠/展开 这是最简单的一种实现,在上一篇文章:[Ext.Net学习笔记]05:Ext.Net GridPanel的用法(包含Filter.Sorter.Grouping.汇

http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/

转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片加载几乎是任何 Android 项目中必备的需求,而图片加载的开源库也越来越多,我们姑且在 GitHub 上搜索下 android image 关键字,出来的前五个按照 Star 数排序的项目如下: 可以看到前四个是大家比较熟知的图片加载库,有 UniversalImageLoader.Picass