数组

  有一组相同数据类型的数据.

  数据类型[] 数组名称=new 数据类型[长度]; //为该数组开辟空间.

  数据类型[] 数组名称={值,值};

  求数组的长度 数组名称.length;

  获取数组中的指定位置的元素. 数组名称[下标] 下标从0开始到数组名称.length-1;

  获取数组中每个元素:通过循环.

经典算法:

  1. 选择排序和冒泡排序
  1. public class HomeWork{
  2. //选择排序和冒泡排序
  3. public static void main(String[] args) {
  4. //冒泡排序
  5. int[]nums=new int[10];
  6. for (int i = 0; i < args.length-1; i++) {
  7. for (int j = 0; j < args.length-i-1; j++) {
  8. if (nums[j]>nums[j+1]) {
  9. int temp=nums[j];
  10. nums[j]=nums[j+1];
  11. nums[j+1]=temp;
  12. }
  13. }
  14. }
  15. //选择排序
  16. for (int i = 0; i < args.length; i++) {
  17. for (int j = i+1; j < args.length; j++) {
  18. if (nums[i]>nums[j]) {
  19. int temp=nums[i];
  20. nums[i]=nums[j];
  21. nums[j]=temp;
  22. }
  23. }
  24. }
  25. }
  26. }

顺序查找:

  1. public class 顺序查找 {
  2. public static void main(String[] args) {
  3. int [] arr={23,34,12,35,6,2,56};
  4. Arrays.sort(arr);
  5. int num=56;
  6. for(int i=0;i<arr.length;i++){
  7. if(arr[i]==num){
  8. System.out.println("该数在数组中存在.");
  9. break;
  10. }
  11. if(i==arr.length-1){
  12. System.out.println("该数不存在");
  13. }
  14. }
  15. }
  16. }

折半查询(二分查找):前提是排好序的数组

  1. public class 折半查找 {
  2. public static void main(String[] args) {
  3. int [] arr={2,5,6,8,45,56,67,100};
  4. Arrays.sort(arr);//排序
  5. int num=7;
  6. int max=arr.length-1;//最大数的下标
  7. int min=0;//最小数的下标
  8. while(max>=min){
  9. int mid=(max+min)/2;//中间数的下标
  10. if(num>arr[mid]){
  11. min=mid+1;
  12. }else if(num<arr[mid]){
  13. max=mid-1;
  14. }else{
  15. System.out.println("该数存在.");
  16. break;
  17. }
  18. }
  19. }
  20. }

Java新特性对数组的支持

  可变参和增强循环

  1. public class NewTeDian {
  2. public static void main(String[] args) {
  3. //1.int a=(int)(Math.random()*11+10);//[0,1) 10 ---> 20
  4. int [] arr={1,34,45,67,32};
  5. for(int a:arr){//增强循环 (与下标无关). 1.5以后具有
  6. System.out.print(a+" ");
  7. }
  8. //2.Syntax error, 'for each' statements are only available if source level is 1.5 or greater
  9. String str=fun(2,34,546,6);
  10. System.out.println(str);
  11. }
  12.  
  13. public static String fun(int... acc){
  14. for(int a:acc){
  15. System.out.print(a+"-->");
  16. }
  17.  
  18. return "我回来了";
  19. }
  20. }

Java基础笔记4的更多相关文章

  1. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  2. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  3. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  4. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  5. Java基础笔记1

    java (开源,跨操作系统)j2ee jre java基础 javaoop java高级 JDK(JAVA developer Kitool): java开发工具 (开发人员使用) JRE(java ...

  6. Java基础笔记(一)——JDK、JRE、JVM

    JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...

  7. Java基础笔记05-06-07-08

    五.今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 ...

  8. Java基础笔记-抽象,继承,多态

    抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstr ...

  9. Java基础笔记(一)

    本文主要是我在看<疯狂Java讲义>时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要. 第一章 Java概述 Java SE:(Java Platform, Standar ...

  10. JAVA基础笔记10-11-12-13-14

    十.今日内容介绍 1.继承 2.抽象类 3.综合案例---员工类系列定义 01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在J ...

随机推荐

  1. sourcetree和gitlab配置图解

    一.前期准备安装 1.git客户端(1.产生gitlab服务端和本地git相互传输时所需要校验的私钥和公钥    2.直接在Idea中使用git提交和push代码,当然也可以用sourcetree提交 ...

  2. datepickerpopup时间限制选取

    使用popup组件的过程中遇到时间选取的问题 官方文档大致说使用date和mode 可以解决,奈何老夫是看不懂,写的时候参考的有 官方文档.echo2016的博文.liumang361的博文 先看图 ...

  3. GCD之信号量机制一

    在使用NSOperationQueue进行多线程编程时,可通过[queue setMaxConcurrentOperationCount:5]来设置线程池中最多并行的线程数,在GCD中信号量机制也和它 ...

  4. 深入浅出AQS之独占锁模式

    每一个Java工程师应该都或多或少了解过AQS,我自己也是前前后后,反反复复研究了很久,看了忘,忘了再看,每次都有不一样的体会.这次趁着写博客,打算重新拿出来系统的研究下它的源码,总结成文章,便于以后 ...

  5. C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)

    [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...

  6. Sublimetext3安装Emmet插件步骤

    看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的,下面的方法是我感觉比较简单的,其他的要命令什么的感觉太复杂了,经测试是OK的. 先关闭Sublime text 3: ...

  7. 创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)

    前面我们安装部署了 Rex-Ray,并且成功配置 VirtualBox backend,今天演示如何创建和使用 Rex-Ray volume. 在 docker1 或 docker2 上执行如下命令创 ...

  8. VB.NET生成重复窗体

    Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ...

  9. netsh用法

    netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具. 导出配置脚本:netsh -c interface ip dump > c:\inte ...

  10. PDO浅谈之php连接mysql

    一.首先我们先说一下什么是pdo?  百科上说 PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数 ...