Java Day 05

数组第二种定义
 
数组-遍历
 数组操作的核心思想就是对角标的操作;
 
数组-求最值
 1、循环 比较

排序
 选择排序 把原始数组分割成了两个数组,至少有一个是有序的
 冒泡排序 相邻元素比较

位置置换代码提取
 形参

排序性能问题
 选择排序,每一轮找到最小值后才换位

查找
 遍历去比较要查找的值,没有返回-1

折半查找(二分查找)
 前提条件:数组内元素唯一,且有序
 循环 判断条件有:中间值判断;首尾判断
 "/2" 相对与 ">>1"

如果查找的元素不存在,直接返回插入点(-插入点-1)

 1     public static int binarySearch(int[]arr,int key){
 2         int start = 0;
 3         int end = arr.length-1;
 4         int mid = (start+end)/2;
 5         while(end>start){
 6             if(key==arr[mid]){
 7                 return mid;
 8             }
 9             else if(key>arr[mid]){
10                     start = mid+1;
11             }else{
12                     end=mid-1;
13             }
14             mid = (start + end)/2;
15         }
16         return -1;
17     }

进制转换
 转换为16进制--与运算 &15、无符号右移 >>>4
 (char)temp-10+‘A‘

使用数组--查表法

 1     public static String trans(int num,int base,int offset){
 2         char[] chs ={‘0‘,‘1‘,‘2‘,‘3‘,
 3                     ‘4‘,‘5‘,‘6‘,‘7‘,
 4                     ‘8‘,‘9‘,‘A‘,‘B‘,
 5                     ‘C‘,‘D‘,‘E‘,‘F‘};
 6         String ss="";
 7         while(true){
 8             int temp = num & base;
 9             ss= chs[temp]+ss;
10             num = num >>> offset;
11             if(num==0)
12                 return ss;
13         }
14     }

Integer.toBinaryString()

时间: 2024-08-05 10:54:33

Java Day 05的相关文章

Java基础05 实施接口(转载)

经过封装,产品隐藏了内部细节,只提供给用户接口(interface). 接口是非常有用的概念,可以辅助我们的抽象思考.在现实生活中,当我们想起某个用具的时候,往往想到的是该用具的功能性接口.比如杯子,我们想到加水和喝水的可能性,高于想到杯子的材质和价格.也就是说,一定程度上,用具的接口等同于用具本身.内部细节则在思考过程中被摒弃. 在public和private的封装机制,我们实际上同时定义了类和接口,类和接口混合在一起.Java还提供了interface这一语法.这一语法将接口从类的具体定义中

java基础05 集合

一.集合的由来? 我们学习Java,可以操作很多对象 ,存储 的容器有数组和StringBuffer,StringBuilder; 而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用.二.集合和数组的区别? A:长度区别 数组固定 集合可变 B:内容区别 数组可以是基本类型,也可以是引用类型 集合只能是引用类型 C:元素内容 数组只能存储同一种类型 集合可以存储不同类型(其实集合一般存储的也是同一种类型)三.集合的继承体系结构? 由于需求不同,Java就提供了不同的集合类.

韩顺平循序渐进学java 第05.06.07讲 类.对象

计算机语言的发展向接近人的思维方式演变 汇编语言 [面向机器] c语言    [面向过程] Java语言 [面向对象] 从类到对象,目前有几种说法:1.创建一个对象:2.实例化一个对象:3.把类实例化. 类名的首字母大写. 5.1 类和对象的区别与联系 1.类是抽象的.概念的,代表一类事物,比如人类.猫类: 2.对象是具体的.实际的,代表一个具体事物: 3.类是对象的模板,对象是类的一个个体.实例. 5.2 如何定义类 一个全面的类定义比较复杂: package包名: class 类名 exte

JAVA字符串05之课程问题解决

(一)古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 1.设计思想:首先选择是加密字符串还是解密字符串,两种算法相似.如果要加密字符串,则需要考虑特殊字符,就是XYZ这三个字符:相应的解密字符串类似,也需要考虑ABC这三个字符. 2.程序流程图 3.源代码 import java.util.Scanner; public class work1 { public static void main(String[] args) {

Java进阶05 多线程

链接地址:http://www.cnblogs.com/vamei/archive/2013/04/15/3000898.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 多线程 多线程(multiple thread)是计算机实现多任务并行处理的一种方式. 在单线程情况下,计算机中存在一个控制权,并按照顺序依次执行指令.单线程好像是一个只有一个队长指挥的小队,整个小队同一个时间只能执行一个任务. 单线程 在多线程情境

java学习05

package day20140918; import org.junit.Test; /* * 由于昨天面试问到了单例模式 * 回顾一下 * 单例设计模式 * */ //饿汉式,类一加载就存在,线程安全 class SingleE{ //定义一个私有成员,便于测试 private int num = 1; private static final SingleE single = new SingleE(); private SingleE(){ num++; } public static

Java基础05 实施接口

在封装与接口中,private关键字封装了对象的内部成员.经过封装,产品隐藏了内部细节,只提供给用户接口(interface). 接口是非常有用的概念,可以辅助我们的抽象思 考.在现实生活中,当我们想起某个用具的时候,往往想到的是该用具的功能性接口.比如杯子,我们想到加水和喝水的可能性,高于想到杯子的材质和价格.也就 是说,一定程度上,用具的接口等同于用具本身.内部细节则在思考过程中被摒弃. a cup in mind 在public和private的封装机制,我们实际上同时定义了类和接口,类和

Head First Java Stick 05

Make it Stick 玫瑰是红的, 球不是这么踢的, 啤酒是一种饮料,饮料不一定是啤酒.(IS-A 测试集成关系) 好了,算你作吟诗作对,但千万不要把你的诗稿拿去投稿! 摘自(Head First Java 第7章) 原文地址:https://www.cnblogs.com/zsslll/p/8125579.html

Java连接数据库 #05# SQL与代码分离

索引 读取html中的SQL语句 缺陷总结 在Java连接数据库 #04#里是大概是这样放sql语句的: package org.sample.shop.db.queryrunner; import org.sample.shop.db.queryrunner.statementfactory.StatementFactory; // TODO sql一长可读性变得非常非常差 public interface Statements { String ITEM_SAVE_ITEM = "INSER

[java初探05]__数组的简单认识及Arrays类的常用方法

数组是具有相同数据类型的一组数据的集合.在程序设计中,这样的集合称之为数组.数组的每个元素都具有相同的数据类型,在Java中数组也被看为一个对象. 在里,了解了数组的定义之后, 我们知道了,数组并不是简单的由一组数组成的.而是由一组具有相同数据类型的数据组成的,可以是一组整型的数据,也可以是一组字符型的数组,这里的数可以来理解为代表的是数据,而不是数字的意思. 关于一维数组与二维数组 一维数组实际上就是一组相同数据类型的数据的线性集合. 如果一维数组中的每一个元素任然是一个数组的话,那么它就构成