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 ...
随机推荐
- 利用angularJs自定义指令(directive)实现在页面某一部分内滑块随着滚动条上下滑动
最近老大让我一个效果实现在页面某一部分内滑块随着滚动条上下滑动,说明一下我们项目使用技术angularJs.大家都知道,使用jquery很好实现. 那么angular如何实现呢,我用的是自定义指令(d ...
- Redis学习笔记之一 : 配置redis
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- WebSocket部署服务器外网无法连接解决方案
首先要说的是我遇见的问题: WebSocket connection to 'ws://www.xxxx.com/xxx/xx' failed: Error during WebSocket hand ...
- [js高手之路] html5 canvas系列教程 - 掌握画直线图形的常用API
我们接着上文[js高手之路] html5 canvase系列教程 - 认识canvas以及基本使用方法继续. 一.直线的绘制 cxt.moveTo( x1, y1 ): 将画笔移动到x1, y1这个点 ...
- oracle 数据库管理员
一.数据库管理员每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责.那么一个数据库管理员的主要 ...
- Eclipse中添加文档注释快捷键
该博客仅记录自己添加文档注释时的操作,由于参考文档地址忘了,因此如果与其他文档重复,请见谅 以下是我的操作过程: 例如: /** * @param * @return */ 快捷键为: ...
- windows下实现linux的远程访问以及linux上文件的上传和下载
在网络性能.安全性.可管理性上,Linux有着其他系统无法比拟的强大优势,而服务器对这些方面要求特别高,因此Linux常常被用来做服务器使用.而当我们需要维护linux服务器的时候,就需要远程访问li ...
- java启动监听错误: org.springframework.web.context.ContextLoaderListener
项目启动会报以下错误: 解决方案如下: 感谢好心人的提示“其实可能是你的jar文件没有同步发布到自己项目的lib目录中(如果你是用Maven进行构建的话) 可以试试 下面的办法 项目点击右键 点击 P ...
- Message Queuing(MSMQ)
一.前言 MicroSoft Message Queuing(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任 ...
- 使用VLC创建组播流
vlc既是一个播放器,又可以成为一个流媒体服务器.最近需要做udp组播播放相关的东西,需要先在本地搭建一个udp组播服务器,因为机器上本来就装有vlc,所以就用它了. 第一步: 点击媒体->流 ...