脚本宝典收集整理的这篇文章主要介绍了【119天】尚学堂高琪Java300集视频精华笔记(24-30),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
【119天】尚学堂高琪Java300集视频精华笔记(24-30)
第24集:方法/方法的本质/形参/实参/return语句
-
Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:
[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){ Java语句;… … … }
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。
return 语句终止方法的运行并指定要返回的数据。
Java中进行方法调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身。引用类型传递的是对对象的引用【即对象的地址】,而不是对象本身。
JAVA中只有值传递。
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。 我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
package com.test024; public class Test024_TestMethod { public static void main(String[] args){ test01(22); } public static void test01(int a){ int oddSum = 0; int evenSum = 0; for(int i=0;i<=a;i++){ if(i%2!=0){ oddSum += i; }else { evenSum += i; } } System.out.PRintln("奇数的和" + oddSum); System.out.println("偶数的和" + evenSum); } public static int add(int a,int b){ int sum = a+b; if(a==3){ return 0; //return两个作用:结束方法的运行、返回值。 } System.out.println("输出"); return sum; } }
第25集:递归算法详解(recursion)
递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。
利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。
-
递归结构包括两个部分:
定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。
递归体。解答:什么时候需要调用自身方法。
-
A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!
package com.test025; public class Test025_TestRecursion { /** * @author wangtao * * */ static int a = 0; public static void test01(){ a++; System.out.println("test01 " + a); if(a <= 10){ //递归头 test01(); } else{ //递归体 System.out.println("over"); } } public static int factorial(int n){ if(n==1){ return 1; }else{ return n*factorial(n-1); } } public static void main(String[] args){ //test01(); int a = factorial(5); System.out.println(a); } }
第26集:package的概念/api文档/生成自己项目的api文档
package概念
-
为什么需要package?
为了便于管理类:合适的类位于合适的包!
为了解决类之间的重名问题。
-
package怎么用?
通常是类的第一句非注释性语句。
包名:域名倒着写即可,再加上模块名,便于内部管理类。
其实内部实现就是靠目录结构来做到的。
-
package示例:
com.sun.test com.oracle.test com.bjsxt.gao.test com.bjsxt.gao.view com.bjsxt.gao.view.model
@H_176_406@-
注意事项:
写项目时都要加包,不要使用默认包。
com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。
-
JDK中的主要包
生成自己项目的API文档
特殊的注释:文档注释:/**
使用JAVADOC生成API文档
解决问题:代码和文档的分离
-
常用的java注释标签:
@author 作者
@version 版本
@param 参数
@return 返回值的含义
@throws 抛出异常描述
@deprecated 废弃。建议用户不在使用该方法
-
在eclipse中创建api文档的步骤
-
右键单击项目,选中export
@H_800_512@ ![](http://a2.qpic.cn/psb?/V13aP5rZ2U5DOS/P5cYnkg93C2brtXb8GHp5W53vnSKHI5zce.8UFsCijs!/b/dBgBAAAAAAAA&bo=nQHwAQAAAAADAEg!&rf=viewer_4)
-
见下图
![](http://a2.qpic.cn/psb?/V13aP5rZ2U5DOS/FZ084wfH2xY5e6ArxrIE6DWM3ekQQz2AhgjONpiqz.w!/b/dBgBAAAAAAAA&bo=oQEMAgAAAAADAIs!&rf=viewer_4)
第27集:键盘输入Scanner类的使用import简单入门
键盘输入Scanner类的使用
package com.test027; import java.util.Scanner; /** * 测试import导入Scanner类,以及Scanner类的使用,如何接收键盘的输入 * */ public class Test027_TestScanner { public static void test01(){ Scanner s = new Scanner(System.in); String str = s.next();//程序运行到next会停止,等待输入 System.out.println(str); } public static void test02(){ Scanner s = new Scanner(System.in); System.out.println("请输入一个数据:"); int a = s.nextInt(); System.out.println("请再输入一个数据:"); int b = s.nextInt(); System.out.println("计算结果: "+ (a+b)); } public static void main(String[] args){ test02(); } }
import简单入门
-
为什么需要import?
如果不使用import,我们如果用到其他包的类时:只能这样写java.util.Date,代码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。
-
import怎么使用?
import java.util.Date; import java.util.*; //导入该包下所有的类。会降低编译速度,但不会降低运行速度。
-
注意要点
java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。
-
如果导入两个同名的类,只能用包名+类名来显示调用相关类:
java.util.Date date = new java.util.Data();
-
静态导入
static import静态导入的作用:用于导入指定类的静态属性(JDK 1.5后增加, 了解!!!!)
-
如何使用?
> import static java.lang.Math.*;//导入Math类的所有静态属性 > import static java.lang.Math.PI;//导入Math类的PI属性 > 然后,我们可以在程序中直接使用:System.out.println(PI);
第28集:面向对象01_面向过程和面向对象的本质区别
第29集:面向对象02_面向对象的方式思考问题
第30集:面向对象03_类和对象的关系/写出我们的第一个类
从代码运行的角度,先有类再有对象
类是对象的模板
以上是脚本宝典为你收集整理的【119天】尚学堂高琪Java300集视频精华笔记(24-30)全部内容,希望文章能够帮你解决【119天】尚学堂高琪Java300集视频精华笔记(24-30)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。