除了while和do while循环,Java使用最广泛的是for循环。 for循环的功能非常强大,它使用计数器实现循环。for循环会先初始化计数器,然后,在每次循环前检测循环条件,在每次循环后更新计数器。计数器变量通常命名为i。 我们把1到100求和用for循环改写一下: // for public class Main { public static void main(String ar
无论是while循环还是for循环,有两个特别的语句可以使用,就是break语句和continue语句。 break 在循环过程中,可以使用break语句跳出当前循环。我们来看一个例子: // break public class Main { public static void main(String args) { int sum = 0; for (int i=1; ; i++) {
我们在Java程序基础里介绍了数组这种数据类型。有了数组,我们还需要来操作它。而数组最常见的一个操作就是遍历。 通过for循环就可以遍历数组。因为数组的每个元素都可以通过索引来访问,因此,使用标准的for循环可以完成一个数组的遍历: // 遍历数组 public class Main { public static void main(String args) { int ns = { 1
对数组进行排序是程序中非常基本的需求。常用的排序算法有冒泡排序、插入排序和快速排序等。 我们来看一下如何使用冒泡排序算法对一个整型数组从小到大进行排序: // 冒泡排序 import java.util.Arrays; public class Main { public static void main(String args) { int ns = { 28, 12, 89, 73,
Java程序的入口是main方法,而main方法可以接受一个命令行参数,它是一个String数组。 这个命令行参数由JVM接收用户输入并传给main方法: public class Main { public static void main(String args) { for (String arg : args) { System.out.println(arg); } } } 我们
一个class可以包含多个field,例如,我们给Person类就定义了两个field: class Person { public String name; public int age; } 但是,直接把field用public暴露给外部可能会破坏封装性。比如,代码可以这样写: Person ming = new Person(); ming.name = "Xiao Ming"; ming.
创建实例的时候,我们经常需要同时初始化这个实例的字段,例如: Person ming = new Person(); ming.setName("小明"); ming.setAge(12); 初始化对象实例需要3行代码,而且,如果忘了调用setName()或者setAge(),这个实例内部的状态就是不正确的。 能否在创建对象实例时就把内部字段全部初始化为合适的值? 完全可以。 这时,我们就需要构造