本帖最后由 xiao_ming 于 2015-12-12 20:13 编辑
第Ⅱ期Android菜鸟饭团#Android学习#第十二课 活动笔记
private int calculatePrice() |
这是之前看到的计算价格的方法声明 在输入列表中输入多个量时,之间用逗号隔开,方法命名使用驼峰法。如果将方法声明改成两个输入参数,必须指定第二个输入参数的数据类型和变量名称。通过指定数据类型和变量名字,来定义输入参数。变量的值来自于调用方法时,传入的变量的值,在方法里面我们就可以引用数量。调用方法时,如果输入的数据类型,输入数量等的顺序不正确,此方法就无法准确识别变量了。所有参数输入在括号内,之后要在小括号后添加花括号,花括号内写方法体。 调用方法时,传递给方法的输入称为实参;形参就是方法定义时所声明需要的输入,就是在方法里使用的变量名字。 数据类型不匹配,会导致错误,应用程序甚至不能在设备上运行,这是个编译时错误。我们可以改变传递给方法的变量,这会匹配的正确输入类型。更改式的签名,会如何有一个不同参数,影响访问方式。一般来说当你创建一个app,你需要定义一个参数的一个方式,通常该参数是由式来决定的。最好的操作就是只输入所需式的参数,并没有说如果你没打算使用这些,不能输入多个信息在内。 与输入参数不同的是,在括号中间你可以放入任何数量的输入参数,但你只能有一个返回值,该返回值的数据类型是被指定了的。譬如说,不能返回字符串,因为这个和输入的数据类型不匹配。java对return这个单词是有特别意义的。你不能用在变量名或者式的名字上,这些叫做java关键字。 Java关键词及大致含义: abstract 表明类或者成员方法具有抽象属性 assert 用来进行程序调试 boolean 基本数据类型之一,布尔类型 break 提前跳出一个循环块 byte 基本数据类型之一,字节类型 case 用在switch语句之中,表示其中的一个分支 catch 用在异常处理中,用来捕捉异常 char 基本数据类型之一,字符类型 class 类 const 保留关键字,没有具体含义 continue 回到一个块的开始处 default 默认,例如,用在switch语句中,表明一个默认的分支 do 用在do-while循环结构中 double 基本数据类型之一,双精度浮点数类型 else 用在条件语句中,表明当条件不成立时的分支 enum 枚举 extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变 finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 float 基本数据类型之一,单精度浮点数类型 for 一种循环结构的引导词 goto 保留关键字,没有具体含义 if 条件语句的引导词 implements 表明一个类实现了给定的接口 import 表明要访问指定的类或包 instanceof 用来测试一个对象是否是指定类型的实例对象 int 基本数据类型之一,整数类型 interface 接口 long 基本数据类型之一,长整数类型 native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 new 用来创建新实例对象 package 包 private 一种访问控制方式:私用模式 protected 一种访问控制方式:保护模式 public 一种访问控制方式:共用模式 return 从成员方法中返回数据 short 基本数据类型之一,短整数类型 static 表明具有静态属性 strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 super 表明当前对象的父类型的引用或者父类型的构造方法 switch 分支语句结构的引导词 synchronized 表明一段代码需要同步执行 this 指向当前实例对象的引用 throw 抛出一个异常 throws 声明在当前定义的成员方法中所有需要抛出的异常 transient 声明不用序列化的成员域 try 尝试一个可能抛出异常的程序块 void 声明当前成员方法没有返回值 volatile 表明两个或者多个变量必须同步地发生变化 while 用在循环结构中 |
这些词被放在代码里,都有特定的意思。也就是说你不能用作标识符,也就是说你不能用作标识符,或者式名称在你的app里。 public class MainActivity extends AppCompatActivity{ @Override pretected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); createWeatherMessage(77,"San Francisco"); } /** * Create new message that specifies the city name and temperature. * * @param temperature of the city * @param cityName is the name of the city */ private String createWeatherMessage(int temperature,String cityName){ String message = "Welcome to" + cityName + "where the temperature is" + temperature + "℃"; return message; } } |
在最后一个语句 之后添加的所有语句都无法被访问,原因是计算机无法达到返回叙述后面的这些代码。 增量减量式是没有返回值的例子当访问减量式,当访问减量式,它会更新在displayQuantity上的UI,没有输出返回值。同样的增量式,完成访问方法,更新屏幕。当所有的代码结束式就会结束操作,或者是当它来到返回叙述就停止。 void语句声明的方法是没有返回值的。 private int calculatePrice(){ int price = quantity * 5; return price; } /** *This meth display the given quantity vaule on the screen,. */ private void displayQuantity(int numberOfCoffees){ TextView quantityTextView = (TextView) findViewById( R.id.quantity_text_view); quantityTextView.setText(""+numberOfCoffees); } /** * This meth display the given price vaule on the screen,. */ private void displayQuantity(int number){ TextView priceTextView=(TextView)findViewById( R.id.price_text_view); priceTextView.setText(NumberFormat.getCurrencyInstance().format(number)); } |
随着大家代码量的增加,你就能更加准确的判断,什么时候需要创建新的方法或者什么时候不需要,不过这需要更多的经验和时间的积累。最近感觉学到的东西,前一段的有些已经忘了,还好所学的内容不像在学Java时那样多,哪里不会了,马上就可以找到当时的视频,及时温习。
每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。 Android菜鸟饭团由南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。 |