Bootstrap

超强力方法,让方法产生更大的作用

小白Java学习记录4

  • 一周掌握 Java 入门知识

学习内容:

  1. 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

;