小白Java学习记录4
- 一周掌握 Java 入门知识
学习内容:
- Java方法
学习产出:
身为一个程序员,你或许会有编写程序的方法论(meth-odology)/过程(process)/步骤(approach)。嗯,我们也有。我们的顺序设计是先通过编写程序来帮助你了解和学习我们的想法,并不需要遵循我们实际上怎样写程序的方式。当然啦,实际工作时,你会遵循个人、项目或客户的规范。但我们完全是依照我们自己的想法去做的,当我们在创建Java的类以当作“学习经验”时,程序会像下面这样:
- 找出类应该做的事情
- 列出实例变量和方法
- 编写方法的伪码
- 编写方法的测试用程序:
- 实现类。
- 测试方法。
除错或重新设计
要点
- 你的Java程序应该从高层的设计开始
- 你通常会在创建新的类时写出下列3种东西:
伪码
测试码
真实码
- 伪码应该描述要做什么事情而不是如何做。
- 使用伪码来帮助测试码的设计。
- 实现方法之前应该要编写测试码。
- 如果知道要执行多少次,应该要使用for循环而不是while循环。
- 使用前置或后置的递增为变量加1(比如X++)。
- 使用前置或后置的递减来对变量减1(比如x--)。
- 使用Interger.parseInt()来取得String的整数值。
- Interger.parselnt()只会在所给的String为数字时有作用。
- 使用break命令来提前跳出循环
基本(非加强版)的for循环
重复执行的部分放在这里后逆增运算得
for(inti= 0;i< 100; i+±){}
上面这行程序以中文来说表示:“重复100次
而编译器会这么认为:
(1)创建变量i井赋值为0。
(2)只要i小于100就重复执行。
(3)在每趟重复过程最后把动加1.
第一段:初始化
使用这个部分来声明和初始化用在循环体内的变量。你通常会将此变量作为计数器。实际上你可以在这里初始一个以上的变量,但我们稍后才会讨论。
第二段:boolean测试
测试条件摆在这里。不管写了什么,这里一定要算出一个boolean值(true或false),你可以安置x>-4这种测试,或者可以调用会返回boolean值的方法。
第三段:重复表达式
在这里安置每趟循环运行完后要执行的项目。要记得这会在运行完一圈之后才会执行。
前置与后置的递增/递减操作符
这是加1或减1的快捷方式。
X++;
这一行与下面有相同的功能:
x=x+ 1;
它们都代表:
“将x的目前值加一后存放在x中。X--;
这一行与下面有相同的功能:
X=x-1;加入这种操作符会影响结果。放在变量前面代表先执行加减操作然后再来运用变量的值。前置时只有下面这样的运算才有意义:
int x=0:
int z= 十+X
结果两个变量都是1。但是下面这一行会有不同的结果:
int x= 0;
int 2 = X++;
执行完x是1面z是0。z会被先指派x的值,然后才会执行递增x的操作。
加强版的for循环
声明会带有数组单一
元素的的循环变量 冒号(:)代表“in” 重复执行的部分放在这里
for (String name : nameArray) {}
数组元素的类型必须中全带有不同 此变量在循环过程 要被逐个运行的集合
元素与循环变量的类型的值匹配
上面这行程序以中文来说就是:“对nameArray中的每个元素执行一次”而编译器会这么认为:
(1)创建名称为name的String变量。
(2)将nameAray的第一个元素值赋给name。
(3)执行重复的内容。
(4)赋值给下一个元素name。
注意:在其他程序语言背景中,这种循环又称为“for each”或“for in”循环。
(5)重复执行至所有元素都被运行为止。
第一段:声明循环变量。
使用这个部分来声明与初始化用在循环内容的变量。循环过程中此交量所携带的值会有不同。此变量的类型必须要与数组元素匹配。
第二段:要运行的集合。
这必须是对数组或其他集合的引用。
转换primitive主数据类型
long y=42;
int x=y;//不能通过编译
long比int大,且编译器无法确定long的内容是否可以截掉。若要强制编译器装,你可以使用casl运算符。
long y = 42:
int x = (int) y;
前置的类型转换会告诉编译器要将y的值裁剪成int的大小来赋值给x,但这个值可能会很诡异
long y = 40002;
short x = (short) y;//x的值会是-25534!
重点是这样可以通过编译程序。假如说你要取浮点数的整数值:
float f=3.14f;
int x = (int) f;//x的值会是3