java基础知识五、六、七、八
第五章
- 在较大的数之前先增加较小数是减小误差的一种方法。
第六章
- 方法签名(Method Signature)指方法名称、参数类型和参数数量。java编译器根据方法签名决定使用哪个方法。
- 调用方法时,java编译器寻找最精确匹配的方法。
- 对void方法的调用必须是一条语句
第七章
- 创建数组
datatype[ ] arrayRefVar= new datatype[arraySize];
或者
datatype arrayRefVar[ ] = new datatype[arraySize];
- 默认值
数值类型为0
字符类型为’\u0000’ //u后面为十六进制,必须4位写满
布尔类型为false
引用类型为null
- 初始化语法
double[ ] myList = {1.9, 2.9, 3, 3.5}//可以将int转化为double类型
或者
double[ ] myList;
myList = new double[ ] {1.9, 2, 3.4, 3.5} //可以将int转化为double类型
注意:使用初始化语法时,必须将声明、创建和初始化放在一条语句中。不然会产生语法错误。如下所示
double[] a = new double[4];a[0] = 1; //正确a= {1,2,3,4}; //错误double[] b; b= {1,2,3,4}; //错误
- 增强的for循环
JDK 1.5引入新的for循环,可以不用下标就可以依次访问数组元素。语法:
for(elementType value : arrayRefVar) {
}
例如
for(int i = 0; i < myList.length; i++) {
sum += myList[i];
}
等价于
for(double value : myList) {
sum += value;
}
- 复制数组的方法
- 使用循环来复制每个元素
int[ ] sourceArray = {2,3,1,5,10}; int[ ] targetArray = new int[sourceArray.length]; for(int i = 0; i < sourceArray.length; i++){targetArray[i] = sourceArray[i]; }
- 使用System.arraycopy方法:两个数组都预先实例化了
int[ ] sourceArray = {2,3,1,5,10};int[ ] targetArray = new int[sourceArray.length];System. arraycopy(sourceArray,0,targetArray,0, sourceArray.length);
- 调用数组的clone方法赋值:被赋值的数组变量可以没有实例化
int[ ] sourceArray = {2,3,1,5,10};@SuppressWarnings("unused")int[ ] targetArray ;targetArray= sourceArray.clone();
- 可变长参数列表
可以把类型相同但个数可变的参数传递给方法。方法中的参数声明如下
typeName … parameterName
在方法声明中,指定类型后面跟省略号
只能给方法指定一个可变长参数,同时该参数必须是最后一个参数
Java将可变长参数当数组看待,通过length属性得到可变参数的个数
print(String... args){ //可看作String [ ]args
for(String temp:args)
System.out.println(temp);
System.out.println(args.length);
}
调用该方法
print("hello","lisi");
- Arrays类
sort和parallelsort方法
升序排序
double[ ] numbers={6.0, 4.4, 1.9, 2.9};java.util.Arrays.sort(numbers, 0,4);//给部分数组排序,下表从0到4,包括0,不包括4java.util.Arrays.sort(numbers);//给整个数组排序
binarySearch方法
数组必须提前升序排列。在数组中查找关键字,如果找到,返回下标,如果不存在,返回-(这个关键字在数组中应该存放位置下表+1)
int[ ] numbers={2, 4, 7, 10, 11, 45};System.out.println(java.util.Arrays.binarySearch(numbers, 11)); //输出4System.out.println(java.util.Arrays.binarySearch(numbers, 12)); //输出-6
equals方法
判断两个数组内容是否相等
int[] list1={2, 4, 7};int[] list2={2, 4, 7};int[] list3={4, 2, 7};System.out.println(java.util.Arrays.equals(list1, list2)); //输出trueSystem.out.println(java.util.Arrays.equals(list1, list3)); //输出false
fill方法
填充整个数组或部分数组
int[] list1={2, 4, 7, 10, 11};java.util.Arrays.fill(list1, 5);System.out.println(java.util.Arrays.toString(list1)); //[5, 5, 5, 5, 5]java.util.Arrays.fill(list1, 1, 3, 6);System.out.println(java.util.Arrays.toString(list1)); //[5, 6, 6, 5, 5]
toString方法
double[ ] numbers={6.0, 4.4, 1.9, 2.9};java.util.Arrays.sort(numbers, 0,4);System.out.println(java.util.Arrays.toString(numbers));
输出为:[1.9, 2.9, 4.4, 6.0]
第八章
二维数组的每个元素(数组)的长度可以不同。
语法new int[ ][ ]是错误的,必须指定第一个下标
int[][] list1=new int[4][5];System.out.println(list1.length); //输出4System.out.println(list1[1].length);//输出5
转载于:https://www.cnblogs.com/jing-yu/p/9057989.html
java基础知识五、六、七、八相关推荐
- Java基础知识(五) 字符串与数组
Java基础知识 字符串与数组 1. 字符串的创建与存储的机制是什么 2. "==".equals和hashCode有什么区别 3. String.StringBuffer.Str ...
- 孙立岩 python-basic: 用于学习python基础的课件(五六七八九十)
五.数字(Number) 数字类型 python中数字有四种类型:整数.布尔型.浮点数和复数. int (整数), 如 1, 只有一种整数类型 int,并没有其他语言中的byte,short,long ...
- Java基础知识学习(七)
线程(续) 线程同步 当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用.达到此目的的过程叫做同步(synchronization) 可以用两种方法同步化代码.两者 ...
- Java基础 第五节 第八课
集合元素处理 传统方式 题目 解答 Stream 方式 题目 解答 传统方式 题目 现在有两个 ArrayList 集合存储队伍当中的多个成员姓名. 要求使用传统的 for 循环 (或增强 for 循 ...
- Java基础知识(七) 输入输出流
Java基础知识 输入输出流 1. Java IO流的实现机制是什么 2. 管理文件和目录的类是什么 3. Java Socket是什么 4. Java NIO是什么 5. 什么是Java序列化 6. ...
- Java基础知识(八) Java平台与内存管理
Java基础知识 1. 为什么说Java是平台独立性语言 2. Java 平台与此他语言平台有哪些区别 3. JVM 加载 class 文件的原理机制是什么 4. 什么是GC 5. Java 是否存在 ...
- java基础知识之初识java
java基础知识之初识java JAVA基础课后总结 一 1.计算机程序 定义:程序(Program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合. 2.指令 定义:指令就是指示机 ...
- java(5)---Java基础知识大全
Java基础知识大全 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
- 跳槽者、应届生必看JAVA面试题系列 - JAVA基础知识(四)
一: 前言 莫等闲,白了少年头,空悲切. 二: 面试挑战 在文章开始前,首先安利下"面试挑战": 凡是满足下面的挑战条件的,如果一个月内没有拿到一个Offer的,免费提供简历封 ...
最新文章
- JSPatch defineProtocol 实现详解
- 【转】Asp.NetMve移除HTTP Header中服務器信息Server、X-AspNet-Version、X-AspNetMvc-Version、X-Powered-By:ASP.NET...
- go的优势--链表与结构体使用
- [转载] Python3 open()函数
- 微信小程序点餐页面实现完整版
- 蓝牙技术谈之跳频技术(一)
- Jmeter查看QPS和响应时间随着时间的变化曲线
- 计算机组成原理 2:总线
- centos7进程限制、打开文件限制等
- 密码算法测试向量——目录
- 关于Android 4.4(华为)调用系统相机问题
- 部落冲突,欢迎回归玩家,23级大师联赛部落欢迎你长住
- 猿辅导们有“缘”难“分”
- 阿里云天池携手产学研心血管专家,共话心血管AI发展
- c语言精髓之编译过程,C语言精髓知识点
- 图论(9)图的连通度
- 最小费用最大流算法及题集
- java古诗_java抓取古诗文的单线程爬虫
- SAP的SLED的2个验证
- 【测评】抗原乳化方法学评测:去离子水乳化、机械乳化法、PBS 缓冲液乳化..
热门文章
- List增删元素后size大小发生变化带来的影响、Stream流操作、Lambda表达式
- python数据分析用什么库_Python数据分析常用的库总结
- python1到100偶数求和_python1-100怎样偶数求和?_后端开发
- 《R Cookbook》中文笔记
- 应用数据挖掘进行客户关系管理
- github private链接访问_Hands-On Design Patterns With C++(十八)访问者模式与多分派(下)...
- 三维计算机视觉(一)--点云处理综述
- 纯新手DSP编程--5.21--DSP/BIOS使用
- 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档
- 【汇编语言】通用数据处理指令——位操作类指令