博客列表

自增与自减
发表于:2018-07-25 16:36:37 | 分类:JAVA
浏览( ) | 评论( )

这一个知识点与C语言的非常相似。比如以下代码: 运行结果如下:执行i++后,i的值增加一。i++ 与 i+=1是完全等价的。执行结果:为什么程序中要设计这种运算符?其实使用普通运算符也可以完全实现。但是使用++可能是为了编辑方便,运行效率高。在编写程序初期如果不习惯可以采用i+=1的写法。 另外还有++i的写法。运行以下代码:分析这三行代码: System.out.println(i++); System.out.println(++i); System.out.pri

变量初始化
发表于:2018-07-18 09:28:18 | 分类:JAVA
浏览( ) | 评论( )

JAVA程序中,变量在声明时必须初始化,否则就会有错误提示。如下所示:提示"salary"未初始化,在C语言中不会提示的。在JAVA中必须初始化,初始化后就一切正常了。 运行后正确的输出了salary的值。 在书上说得也很清楚,JAVA是一种强类型语言!

JAVA 数据类型
发表于:2018-07-12 10:47:29 | 分类:JAVA
浏览( ) | 评论( )

JAVA 既然是一种语言,必须有数据类型。数据类型与C语言非常相似。JAVA包含了int、short、long、byte、float、double等基本数据类型。在《JAVA核心技术》中有非常详细的介绍。 int、short、long、byte都是整型数据,只是占据的空间大小不一样, 其实很多人问我为什么一个整型有四种类型,用一种long完全就可以胜任了。这是因为一方面计算机硬件资源是有限的,long型数据必须占据8个字节的空间, 可以表达90万亿的数据值。这当然几乎满足了所有的计算。但是在实际应

编写第一个JAVA程序
发表于:2018-07-11 10:58:57 | 分类:JAVA
浏览( ) | 评论( )

JAVA的第一个程序也可以是"hello world!",但是JAVA与C和C++有本质的区别。C是面向过程的语言,所以使用函数函数就可以实现。C++虽然是面向对象,但是也兼容了C语言。C语言的printf()是函数,调用printf()可以实现在控制台输出。 C++使用cout作为控制台输出。但是c++的主函数依然是一个函数。 JAVA编程面向对象的程度非常高,所以JAVA的主函数是类的一个静态方法。任何介绍JAVA的书籍都会有"hello world!"的

JDK的安装
发表于:2018-07-10 11:31:52 | 分类:JAVA
浏览( ) | 评论( )

JAVA的开发必须安装JDK,JDK的可以从官方网站下载并安装。官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html。学习过程中使用JAVA SE基本就可以了,从网站可以了解到JAVA的开发平台有三个版本。JAVA EE (Java Platform, Enterprise Edition)是企业开发使用的版本。JAVA ME(Java Platform, Micro Edition)一般使用于

开始学习JAVA
发表于:2018-07-09 15:16:55 | 分类:JAVA
浏览( ) | 评论( )

我在2004年的时候学习了几个月的JAVA,但是非常遗憾没有做过此类工作。后来就一直做单片机程序。当时最大的原因有两方面,一是对面向对象的思想理解的不是非常透彻;二是没有任何编程的经验。其中的概念理解起来非常困难。而且面向对象编程本身比面向过程编程稍微难于理解。所以我学习的是JAVA,但是最后在2014年开始,我从事了C语言编程的工作。 时隔这么多年我又开始学习JAVA,因为我得到了一块预装了安卓系统的开发板。如果在该板卡上做软件就必须使用JAVA。所以我决定开始学习JAVA。这种事情从某一方面开来有点

gcc 的使用
发表于:2018-04-11 13:01:12 | 分类:linux
浏览( ) | 评论( )

当前我使用的编译器是keil.以前使用visual C++6.0.这些编译器是windows下的IDE环境。与linux相比windows在易用性方面简直无可挑剔。我询问了好几个在LINUX做程序的程序员,linux的IDE不太常见。很多人还是使用gcc编译器。gcc没有edit部分。vim几乎是大家都使用的编辑器。很多书介绍都是vim编辑,gcc编译。 可以写一个简单的hello world 作为试验。 一个最简单5行程序,当程序运行时在终端输出hello world!,并且回车。 保存退出后使

第五节 cat 命令
发表于:2018-03-05 14:01:37 | 分类:linux
浏览( ) | 评论( )

cat 是linux 非常常见的命令,如果使用man查看其功能,描述非常清楚。 “concatnate files and print on th standard output ”,显示文件的内容。cat 1.txt 有一个很常用的参数-n,在输出时可以显示行号。

递归排序复杂性表示
发表于:2017-12-05 09:10:37 | 分类:算法导论
浏览( ) | 评论( )

在算法导论中介绍分治法解决排序时,作者引入了“归并”排序。归并排序顾名思义主要是采用“归并”的方法进行排序。归并非常简单就是将两个已经排好序的数组合并成为一个数组,并且该数组任然是有序的。 书中的归并排序采用递归的方法来实现,递归是编程中非常重要的一个概念,函数通过调用其自身对问题的“分治”解决。问题的“分治”总得有重点,负责就会出现死循环,直到系统的资源消耗殆尽。 在书中介绍的概念非常清楚,就是将一个数组采用

算法效率增长数量级表示
发表于:2017-12-01 09:46:33 | 分类:算法导论
浏览( ) | 评论( )

在算法导论的第二章开篇作者介绍插入算法,介绍插入算法的目的是为了引入算法的概念以及算法性能评估的方法。一个算法是否可以作为方法在工程中引用主要的可以从两方面作出评估,一是现有的硬件资源是否可以满足该算法运行的需要,二该算法运行的时间是否满足用户的需求。 其实这实在不难理解,若一个算法需要很多的内存资源,那么普通的MCU当然没法使用。另外假如一个算法需要运行很长时间才能达到正确结果,那么也没有任何意义。典型的就是德国在二战中使用的enigma加密机需要破译的问题。因为该加密机的密钥空间有几亿。如果按照顺序