Java日志——2016.6.3
1)二维数组的静态初始化:
int[][] arr = new int[][] { {1,2,3}, {4,5}, {6,7}}
2)杨辉三角:
/**
* 需求:计算并模拟杨辉三角
* 如:
* 1
* 1 1
* 1 2 1
* 1 3 3 1
*/
public class PascalTriangle {
// 打算模拟的行数
public static int row = 10;
public static void main(String[] args) {
int[][] arr = new int[row][];
for(int i = 0; i < arr.length; i++) {
int len = i + 1;
arr[i] = new int[len];
for(int j = 0; j < len; j++) {
if(j == 0 || j == i) {
arr[i][j] = 1; // head and tail number
} else {
arr[i][j] = arr[i-1][j] // middle number
+ arr[i-1][j-1];
}
}
}
// 验证数值模拟的正确性
// for(int[] ele : arr) {
// System.out.println(java.util.Arrays.toString(ele));
// }
// 打印杨辉三角
printPascalTriangle(arr);
}
/**
* 需求:按照原始形式打印杨辉三角
* 如: 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
*/
public static void printPascalTriangle(int[][] arr) {
if(arr == null || arr.length == 0) return;
int rows = arr.length;
for(int i = 0; i < arr.length; i++) {
if(arr[i] == null || arr[i].length == 0) return;
int left = row - i;
while(true) {
if(left-- == 0) break;
System.out.print("\t");
}
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]);
System.out.print("\t\t");
}
System.out.println("\n");
}
}
}
3)汉诺塔:
private void hannuo(int n, char from,
char to, char depend) {
if(n==1) {
move(n, from, to);
} else {
hannuo(n-1, from, depend, to);
move(n, from, to);
hannuo(n-1, depend, to, from);
}
}
private void move(int n, char from, char to) {
System.out.println(……);
}
4) for each循环的陷阱:对于基本类型的数组,在循环内部无法改变数组内容,但是对于引用(对象)数组或多维数组,循环内部是可以修改原始内容的。
5)排序算法:
1.选择排序:直接选择与堆排序
2.交换排序:冒泡排序、快速排序
3.插入排序:直接插入、二分法排序、Shell排序
4.归并排序
6)冒泡排序的思考模型(Bubble Sort):
这是最简单的排序法,基本思路:
对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过第一轮比较排序后可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。
可以看出若有N个元素,那么一共要进行N-1轮比较,第M轮要进行N-M次比较。(若6个元素,要进行6-1轮比较,第一轮比较6-1次,第三轮比较6-3次)。

7)选择排序(Selection Sort):
基本思路:选择某个索引位置的元素,然后和后面元素依次比较,若大于则交换位置,经过第一轮比较排序后可得出最小值,然后使用同样的方法把剩下的元素逐个比较即可。
可以看出选择排序,第一轮会选出最小值,第二轮会选出第二小的值,直到最后。
第一轮从arr[0]和后面元素相比较,第二轮从arr[1]和后面的元素相比较,依次类推。N个数要进行N-1轮。选择排序每一轮只进行一次交换,相对于冒泡排序效率高一些。

8)搜索方法:
1)顺序搜素:效率低
2)二分法搜索:效率高,但只能在有序序列中进行搜索
Java日志——2016.6.3的更多相关文章
- Java日志——2016年5月31日
1. 三元运算符(A?B:C)属于运算符,表达式必须具有返回值,则A必须是boolean类型值,B和C必须是一个具有返回值的表达式. 2. switch...case本质上只支持int类型的选择判断, ...
- Java日志——2016年5月30日
1. 局部变量必须初始化,可以定义的同时初始化,也可以定义完成之后进行初始化. 2. Java7新特性:数字之间可以使用"_"连接,eg:23_44_5 = 23445,0B110 ...
- Java日志框架那些事儿
文章首发于[博客园-陈树义],点击跳转到原文Java日志框架那些事儿. 在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而 ...
- 混乱的 Java 日志体系
混乱的 Java 日志体系 2016/09/10 | 分类: 基础技术 | 0 条评论 | 标签: LOG 分享到: 原文出处: xirong 一.困扰的疑惑 目前的日志框架有 jdk 自带的 log ...
- Java日志体系(四)slf4j
1.1 简介 与commons-logging相同,slf4j也是一个通用的日志接口,在程序中与其他日志框架结合使用,并对外提供服务. Simple Logging Facade for Java简称 ...
- [翻译]Java日志终极指南
本文由 ImportNew - Wing 翻译自 loggly.欢迎加入翻译小组.转载请见文末要求. Java日志基础 Java使用了一种自定义的.可扩展的方法来输出日志.虽然Java通过java.u ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- Java日志规范
前言 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Jav ...
- Java日志系统及框架分析
最近在考虑将容器(Tomcat)内的应用日志统一成slf4j + logback,主要目的有: 快速定位应用日志输出路径,方便日志的采集: 能动态调整日志的级别,方便线上问题定位: 方便在容器层面做扩 ...
随机推荐
- Postgresql FATAL: could not create semaphores: No space left on device
昨天安装完成pg 9.5后,启动报错: FATAL: could not create semaphores: No space left on device DETAIL: Failed sys ...
- Android学习十一:高德地图使用
写这篇文章主要有三个目的: 1.使用高德地图api定位 2.获取天气数据 3.编程练手 文件结构 清单文件信息说明: <?xml version="1.0" encoding ...
- Android studio 快捷键(Mac)
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 任务型sql
一.创建表空间与用户,因为数据文件没有指定路径,所以需要修改数据文件路径,才有了下面的需求. create tablespace wo datafile 'wo.dbf' size 20m;creat ...
- 【转】IE8浏览器无法保存Cookie的解决方法
转自:http://blog.csdn.net/sjsm2007/article/details/17958145 使用IE8浏览器经常出现了无法保存Cookie的故障.每次打开网站需要重新登录,登录 ...
- TensorFlow官方文档中文版
github地址: https://github.com/jikexueyuanwiki/tensorflow-zh
- MyEclipse、Eclipse复制web项目
假设现在已经有一个Java Web项目 ProjectA,现在想做另外一个项目ProjectB,它里面绝大部分功能和结构都可以复用ProjectA中的: 我们就可以通过复制项目的方法来做,具体步骤如下 ...
- ElasticSearch优化配置
################################################################### /etc/elasticsearch/elasticsearch ...
- SQL 递归树 子父节点相互查询
if object_id('[tb]') is not null drop table [tb] go create table [tb]([modeid] int,modename varchar( ...
- linux下XAMP集成开发环境搭建流程总结
一.安装xampp: 1.用wget下载安装包; 2.为安装包添加执行权限; 3.直接安装到/opt/; 4.添加开机启动:ln -s /opt/lampp/lampp /usr/bin/ 二.防火 ...