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,主要目的有: 快速定位应用日志输出路径,方便日志的采集: 能动态调整日志的级别,方便线上问题定位: 方便在容器层面做扩 ...
随机推荐
- RPC与hadoop
rlgdj的这样的话,真正的实现类在Server端,客户端调用方法的时候,只能得到得到从Server端的返回值.看来接口中的抽象方法必须要有返回值啊.ps.右下角的Client端的main()中rpc ...
- 【转】深入 Docker:容器和镜像
在本专栏往期的 Flux7 系列教程 里,我们已经简单地探讨了 Docker 的基本操作.而在那篇教程中,我们一直是简单地将容器当成是"正在运行的镜像",并没有深入地区分镜像和容器 ...
- 配置文件的生成,关于“make menuconfig”
之前学习嵌入式的时候从来没有注意过内核源文件下配置文件的生成(都是跟着老师的步骤直接复制过来修改成.config),其实意思也差不多,只是我没有细想其所以然: 编译内核的过程中,配置文件生成过程,A. ...
- C++中vector的remove用法
我将从remove的复习开始这个条款,因为remove是STL中最糊涂的算法.误解remove很容易,驱散所有关于remove行为的疑虑——为什么它这么做,它是怎么做的——是很重要的. 这是rem ...
- RDLC An unexpected error occurred while compiling expressions. Native compiler return value: '-1073741511'
One of my web project, which has a rdlc file using some expressions, was working fine while developi ...
- B2B商城网站前端开发
最近在时间很忙,在弄一个B2B商城,运用到的easyUI+javaWEB(maven)+JQuery+Scss+JavaScript+其他框架(sea.js模块化等),我负责前端这块:后期的重要的前端 ...
- mysql删造成表死锁研究
现在互联网公司对于代码的管理越来越规范,一般都会有3个环境:开发环境,测试环境,正式环境.在开发环境进行开发,开发完成后将代码提交到测试环境进行测试,测试完毕后上线到正式环境. 今天在正式环境上遇到一 ...
- 键盘键与虚拟键码对照表+delphi虚拟键码对应关键
键盘键与虚拟键码对照表 字母和数字键 数字小键盘的键 功能键 其它键 键 键码 键 键码 键 键码 键 键码 A 65 0 96 F1 112 Backspace 8 B 66 1 97 F2 113 ...
- 常用SQL Server日期格式化
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 24): 10 ...
- LeetCode 168. Excel Sheet Column Title
Given a positive integer, return its corresponding column title as appear in an Excel sheet. -> A ...