Java基础笔记4
数组
有一组相同数据类型的数据.
数据类型[] 数组名称=new 数据类型[长度]; //为该数组开辟空间.
数据类型[] 数组名称={值,值};
求数组的长度 数组名称.length;
获取数组中的指定位置的元素. 数组名称[下标] 下标从0开始到数组名称.length-1;
获取数组中每个元素:通过循环.
经典算法:
- 选择排序和冒泡排序
- public class HomeWork{
- //选择排序和冒泡排序
- public static void main(String[] args) {
- //冒泡排序
- int[]nums=new int[10];
- for (int i = 0; i < args.length-1; i++) {
- for (int j = 0; j < args.length-i-1; j++) {
- if (nums[j]>nums[j+1]) {
- int temp=nums[j];
- nums[j]=nums[j+1];
- nums[j+1]=temp;
- }
- }
- }
- //选择排序
- for (int i = 0; i < args.length; i++) {
- for (int j = i+1; j < args.length; j++) {
- if (nums[i]>nums[j]) {
- int temp=nums[i];
- nums[i]=nums[j];
- nums[j]=temp;
- }
- }
- }
- }
- }
顺序查找:
- public class 顺序查找 {
- public static void main(String[] args) {
- int [] arr={23,34,12,35,6,2,56};
- Arrays.sort(arr);
- int num=56;
- for(int i=0;i<arr.length;i++){
- if(arr[i]==num){
- System.out.println("该数在数组中存在.");
- break;
- }
- if(i==arr.length-1){
- System.out.println("该数不存在");
- }
- }
- }
- }
折半查询(二分查找):前提是排好序的数组
- public class 折半查找 {
- public static void main(String[] args) {
- int [] arr={2,5,6,8,45,56,67,100};
- Arrays.sort(arr);//排序
- int num=7;
- int max=arr.length-1;//最大数的下标
- int min=0;//最小数的下标
- while(max>=min){
- int mid=(max+min)/2;//中间数的下标
- if(num>arr[mid]){
- min=mid+1;
- }else if(num<arr[mid]){
- max=mid-1;
- }else{
- System.out.println("该数存在.");
- break;
- }
- }
- }
- }
Java新特性对数组的支持
可变参和增强循环
- public class NewTeDian {
- public static void main(String[] args) {
- //1.int a=(int)(Math.random()*11+10);//[0,1) 10 ---> 20
- int [] arr={1,34,45,67,32};
- for(int a:arr){//增强循环 (与下标无关). 1.5以后具有
- System.out.print(a+" ");
- }
- //2.Syntax error, 'for each' statements are only available if source level is 1.5 or greater
- String str=fun(2,34,546,6);
- System.out.println(str);
- }
- public static String fun(int... acc){
- for(int a:acc){
- System.out.print(a+"-->");
- }
- return "我回来了";
- }
- }
Java基础笔记4的更多相关文章
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- Java基础笔记1
java (开源,跨操作系统)j2ee jre java基础 javaoop java高级 JDK(JAVA developer Kitool): java开发工具 (开发人员使用) JRE(java ...
- Java基础笔记(一)——JDK、JRE、JVM
JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...
- Java基础笔记05-06-07-08
五.今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 ...
- Java基础笔记-抽象,继承,多态
抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstr ...
- Java基础笔记(一)
本文主要是我在看<疯狂Java讲义>时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要. 第一章 Java概述 Java SE:(Java Platform, Standar ...
- JAVA基础笔记10-11-12-13-14
十.今日内容介绍 1.继承 2.抽象类 3.综合案例---员工类系列定义 01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在J ...
随机推荐
- sourcetree和gitlab配置图解
一.前期准备安装 1.git客户端(1.产生gitlab服务端和本地git相互传输时所需要校验的私钥和公钥 2.直接在Idea中使用git提交和push代码,当然也可以用sourcetree提交 ...
- datepickerpopup时间限制选取
使用popup组件的过程中遇到时间选取的问题 官方文档大致说使用date和mode 可以解决,奈何老夫是看不懂,写的时候参考的有 官方文档.echo2016的博文.liumang361的博文 先看图 ...
- GCD之信号量机制一
在使用NSOperationQueue进行多线程编程时,可通过[queue setMaxConcurrentOperationCount:5]来设置线程池中最多并行的线程数,在GCD中信号量机制也和它 ...
- 深入浅出AQS之独占锁模式
每一个Java工程师应该都或多或少了解过AQS,我自己也是前前后后,反反复复研究了很久,看了忘,忘了再看,每次都有不一样的体会.这次趁着写博客,打算重新拿出来系统的研究下它的源码,总结成文章,便于以后 ...
- C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)
[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...
- Sublimetext3安装Emmet插件步骤
看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的,下面的方法是我感觉比较简单的,其他的要命令什么的感觉太复杂了,经测试是OK的. 先关闭Sublime text 3: ...
- 创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)
前面我们安装部署了 Rex-Ray,并且成功配置 VirtualBox backend,今天演示如何创建和使用 Rex-Ray volume. 在 docker1 或 docker2 上执行如下命令创 ...
- VB.NET生成重复窗体
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ...
- netsh用法
netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具. 导出配置脚本:netsh -c interface ip dump > c:\inte ...
- PDO浅谈之php连接mysql
一.首先我们先说一下什么是pdo? 百科上说 PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数 ...