Java学习笔记(4)
比较两个String时,用==比较两个String是否引用同一个对象,s1.equals(s2)比较两个对象的内容是否相同,也可以用s1.compareTo(s2)来确定两个String的内容是否相同
比较两个String时不能用>,>=,<,<=,用compareTo方法代替
String格式化指示符输出示例
%b Booleam True或False
%c char 'a'
%d 十进制Int 200
%f 浮点型 45.460000
%e 浮点开或整形 4.556000+e1
%s String "Java is cool"
每一种指示符都可以指定宽度,如果指定的宽度太大,会自动被空格,如果指定的宽度太小,会自动增加宽度。默认%f会显示6位小数,可以通过%m,nf的形式指定总宽度和小数部分的位数,如%4,2f输出45.46
%,md %,mf 输出以逗号分隔的数字,%0d %0f会在左侧补0
默认如果被空格的话,以右对齐方式被空格,通过%-md %-nf的形式,控制左对齐
如果要输出%本身,用%%来实现
每一种格式化符对应的数据类型必须相符
声明一维数组的两方式:
int[] a;
int a[];//这种写法允许但不建议
数组创建后,其元素的默认值为:数字型-》0,char->\u0000, boolean->false
遍历集合每个元素的方法
for(int e: intList){
...
}
复制数组的三种方法:
1.一个元素一个元素的赋值
2.System.arraycopy()
3.array.clone();(注意:object.clone()方法,对对象而言是深拷贝,对数组而言是浅拷贝)
可变长度参数列表的写法及用法
public static void method(String... strings) {
//使用
System.out.println(strings.length);
}
//调用
public static void useMethod() {
//方式1:
method("a", "b", "c");
//方式2
method(new String[]{"a", "b", "c"});
}
可变参数必须是最后一个参数,如下写法是错误的
public static void method(dobule... doubles, String... strings) {
}
public static void method(String... strings, int a, int b) {
}
Arrays类的一些常用静态方法
| sort(array) | 对整个数据进行串行排序(元素少时效率高) |
| sort(array,fromIndex,toIndex) | 对数组的部分元素进行串行排序(元素少时效率高) |
| parallelSort(array) | 对整个数组进行并行排序(元素多时效率高) |
| parallelSort(array,fromIndex,toIndex) | 对数组的部分元素进行并行排序(元素多时效率高) |
| binarySearch(array, key) | 二分法查找元素,如果存在,返回索引,如果不存在返回-(应插入位置+1) |
| equals(array1,array2) | 比较两个数组是否严格相等,即对应位置的元素相等 |
| toString(array) | 返回数组的字符串表现形式 |
从命令行启动程序,并给main函数传参数的方法如下,参数不用包在[]里,如果一个参数里面有空格,在用“”包起来

Java学习笔记(4)的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
随机推荐
- 对mybatis的Handler 从使用角度介绍
最近在开发中,涉及到了讲数据库查询的类型,直接转为java需要的类型. 由于对handler 理解不到位 和 使用不当.躺了一些坑. 主要涉及的有2种. 1.varchar 转 List<T&g ...
- maven构建web项目,用jetty测试的配置pom.xml
maven构建web项目,用jetty测试的配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...
- MongDB 批量更新
最近公司在使用mongodb. 批量更新的语句为: db.table.update( {'wo': {$in: [ "123", "456"]}}, {$s ...
- Java开源框架知识整理
1.Spring的了解 Spring是一个轻量级的IOC/DI和AOP容器的开源框架.可以实现Java模块化开发,贯穿表现层,业务层,逻辑层,实现各层之间的解耦合关系. IOC,控制反 ...
- 使用Dockerfile定制ubuntu+nginx镜像
实验目的:书写Dockerfile,定制ubuntu 14.04 + nginx 1.14.0的镜像. 实验过程: 1. 下载nginx-1.14.0 http://nginx.org/downlo ...
- Docker私有仓库实例
C:\Users\think\.m2\settings.xml文件配置: <?xml version="1.0" encoding="UTF-8"?> ...
- 6种纯css实现loading效果
1. <div id="loadingWrap1"> <span></span> <span></span> <s ...
- css布局:左边固定宽度,右边自适应;右边固定宽度,左边自适应
左边固定宽度,右边自适应 浮动布局的方法 <section class="container homeSection" id="mainSection"& ...
- SiteMesh3简介及使用
所属专栏: Java开发经验记录 最近项目用到SiteMesh3,研究学习一段时间后决定写篇博文来记录收获. SiteMesh SiteMesh 介绍 工作原理 配置及使用 下载 1添加maven ...
- 基于观察者模式-----otto源码分析
一.otto简介 otto是支付公司square一个专注于android的开源项目,该项目是一个event bus模式的消息框架,是一个基于Guava的增强型事件总线.旨在将应用程序的不同部分分离,同 ...