javaweb 入门必学(1)语法基础

335 查看

第1章 Java初体验

1-1 Java简介 (05:49)
1.JDK:调试、编译源文件,生成文档等,包含各种开发工具
2.JRE:运行字节码文件,包含基础API和JVM
3.JVM:Java虚拟机
4.字节码文件运行在JVM中,字节码和虚拟机是实现Java一次编译,四处运行跨平台的关键。
主要内容
1,Java平台应用
2,核心概念:JVM,JDK,JRE
3,搭建Java开发环境
4,使用工具开发java程序
java
1995(Sun)---------2009ORACLE收购Sun
基础核心 javaSE-----------javaEE(java的企业版)---------javaME(用于嵌入式开发)
JVM(java virtual Machine)
源文件 myProgram.java------>编译器 compiler------>字节码文件myProgram.class----->解释器interpreter---->my program
想吃鱼---去买鱼----杀鱼的过程相当于编码器----给鱼烧熟这个过程属于解释器
JDK:java开发工具包
JRE:java运行时环境

1-2 Java开发环境搭建 (07:30)
Java开发环境搭建<br>
1.安装JDK<br>
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html<br>
2.配置环境变量<br>

  1. JAVA_HOME - 配置JDK安装路径<br>
  2. PATH - 配置JDK命令文件的位置 (实际上就是bin目录的位置)<br>
  3. CLASSPATH - 配置类库文件的位置 (lib目录)<br>
  4. 如何配置?<br>
    右击计算机-属性-左边,高级系统设置<br>
    -高级选项卡内的“环境变量”,点击<br>
    ①-系统变量,新建,变量名:JAVA_HOME;变量值:在此处复制本电脑的jdk安装路径。如: <br>
    C:\JAVA\jdk1.7.0_13<br>
    ②-还是系统变量,这次不用新建,里面就有“path”,选择它,点击“编辑”,修改变量值(同上)<br>
    在此处复制本电脑的bin文件夹安装路径。但注意!不是取代原来的路径,而是添加在原来的路径前面,然后用分号; 隔开。<br>
    ③-CLASSPATH变量同样要新建。对应的值就是lib目录的路径。<br>
    先输入点号 . 再输入分号 ; 再粘贴路径。<br>
    确定、确定、确定,over!<br>
    <br>
    03.验证配置环境是否正确<br>
    开始- 在搜索的位置输入cmd - 在提示符(光标处)输入java,按下回车 - 出现提示。<br>
    输入javac

1-3 使用记事本编写Java程序 (07:00)
1.用记事本编辑源文件,以.java结尾
2.编写时,类名需与文件名相同
3.使用编译器编译,使之成为字节码文件,字节码文件以.class结尾
4.利用javac,打开cmd文件,输入源文件保存路径,回车,再输入dir查看该路径下的所有文件,再输入javac+空格+源文件名称+扩展名,回车后若没有报错,表示正确。
5.源文件旁会出现一个字节码文件,内为乱码,它不能直接运行。
6.通过解释器执行,重新打开cmd,输入java+空格+字节码文件名,但不能加上后缀名,回车执行。

1-4 练习题
javac 用于将源代码程序编译成字节码文件;java 用于执行字节码文件,在执行时不能指定文件后缀
eclipse下载:http://www.eclipse.org/downloads/
MyEclipse下载:http://www.my-eclipse.cn/
Java 语言是大小写敏感的,在控制台输出信息使用System.out.println( "输出的内容" );
1-5 使用Eclipse开发Java程序 (08:59)
编码流程:
创建java项目:java project (src 是存放源文件)
创建程序包:src目录下右击建(package程序包)
编写java源程序:package目录下右击建(class源代码文件)
运行java程序:源文件空白处右击选择run as ->java anclication 运行成功

(1)创建一个java Project
(2)src——创建包java package (Eclipse中的src是用来放置我们的源代码文件;关于Package
包名:域名的反向
例如:com.imooc
class命名:文件开头大写)
(3)在包下创建类Java class
(4)编写Java源程序:
public class HelloWord{
public static void main(String[] args){\
System.out.println("I Love Imooc");
}
(public static void main(String[] args)程序的入口)
(5)运行java程序:源文件空白处右击选择run as ->java application 运行成功

1-6 MyEclipse的使用简介 (03:53)
//MyEclipse的使用简介
MyEclipse时对Eclipse的扩展,是一个十分优秀的用于开发Java,JavaEE的Eclpse插件集合。
下载http://www.my-eclipse.cn/
第一步:创建工程 new-->java project
第二步:创建包
第三步:创建源程序 new-->class-->packageName,className
第四步:运行程序 run
1-7 练习题

1-8 程序的移植 (03:08)
程序的移植:
导出操作:右击项目,点击属性(properties),对话框当中会弹出项目文件所在的位置,找到它复制即可。
导入操作:侧边栏(package explorer)空白处右击,选择import,选择General,选择Existing Project into Workspace,选择browse去找到我们的项目即可。
1-9 经验技巧分享 (01:52)
多练,多问,多调试,多复习总结
1-10 练习题

第2章 变量和常量

2-1 Java中的关键字
abstract //抽象方法,抽象类的修饰符
assert //断言条件是否满足
boolean //布尔
break //跳出循环或者label代码段
byte //8-bit 有符号数据类型
case //switch语句的条件
catch //和try搭配捕捉异常
char //16-bit Unicode字符数据
class //定义类
const //未使用
continue //不执行循环体剩余部分
default //switch语句中的默认分支
do //循环语句,至少会执行一次
double //64-bit双精度浮点数
else //if条件不成立
enum //枚举类型
extends //继承
final //常量
//方法不能被重写,或者一个类不能有子类
finally //try 语句不管是否发生异常都要执行的语句块
float //32-bit单精度浮点数
for //for循环
goto //未使用
if //条件语句
implements //类实现了接口
import //导入类
instanceof //测试一个对象是否是某个类的实例
int //32位整型数
interface //接口
long //64位整型数
native //表示方法用非java代码实现
new //新的类实例
package //包
private //表示私有字段,方法等,只能从类内部访问
protected //表示只能通过类或者其子类访问
//子类或者在同一个包内的其他类
public //表示共有属性或者方法
return //方法返回值
short //16位数字
static //静态
strictfp //浮点数比较使用严格的规则
super //表示父类/基类
switch //选择语句
synchronized //表示同一时间只能由一个线程访问的代码块
this //当前实例
//或者调用另一个构造函数
throw //抛出异常
throws //定义异常
transient //修饰不要序列化的字段
try //捕捉异常
void //标记方法不返回任何值
volatile //标记字段可能会被多个线程同时访问,而不做同步
while //while循环
2-2 认识Java标识符
Java标识符(规则上基本类似于C的标识符)是用于给变量,类,方法命名的符号
1.可以使字母,数字,下划线和$,但不能以数字打头
2.不能是关键字和保留字(但可以包含关键字和保留字,如,void不能作为标识符,但是my void可以)
3.严格区分大小写!MY VOID和 my void 就是不同的标识符
4.在命名上做到,见名知意。
------------------------------------附-完整笔记------------------------------------
使用标识符时,需要遵守几条规则:

  1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴
  2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
  3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
  4. 标识符的命名最好能反映出其作用,做到见名知意。
    2-3 练习题
    2-4 变量是什么
    一:Java中的变量定义
    1.JAVA变量具有三个特征:变量类型、变量名以及变量值
    2.变量类型指的是该变量中所能存储的数据的数据类型或所能引用的数据的数据类型
    3.变量名是变量的标识符,用于区分变量和使用变量
    4.变量值指的是变量中存储的数据
    注意 :
    1.显式变量初始化时等号后面的的数据不一定是变量值,如double x = 1 存在隐式类型转换
    2.当变量值为引用时,要考虑到别名现象
    二:注意!字符串类型String 首字母大写,其它不用,比如int, char, double等
    java是一门静态语言,所以要事先声明变量的类型.
    2-5 如何命名Java变量
    Java中当一条System.out.println()输出多个参数时,要加连接符 + ,这一点有别于C语言中的printf()
    例:String a = "我爱慕课网";
    String b = "www.imooc.com";
    System.out.println(a+"\n"+b);
    例:变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
    2-6 Java中的数据类型
    Java 中 float 与 double 的区别
    1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位
    double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位
    2.java中默认声明的小数是double类型的,如double d=4.0
    如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0
    其中4.0f后面的f只是为了区别double,并不代表...
    Java 中 char 和 String 的区别
    1.char表示字符,定义时用单引号,只能存储一个字符,如char c='x';
    而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name="tom";
    2.char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。
    2-7 Java中变量的使用规则
    1.变量使用时要先声明后使用
    2.变量使用时可以在声明变量的同时进行赋值,String love="imooc";也可以先声明后赋值,String love; love="i love imooc";
    3.变量每次只能赋一个值,但可以修改多次。
    4.main方法中的变量必须先赋值然后才能输出。
    5.虽然语法中没有提示错误,但在实际开发中变量名不建议使用中文,容易产生安全隐患。如后期在跨平台操作时出现乱码等等情况。
    2-8 练习题
    2-9 Java中的自动类型转换
    Java数据类型转换:
    1.自动类型转换,自动类型转换之前必须理解一个原则“表数范围小的可以向表数范围大的进行自动类型转换”。关于java自动类型转换有一个形象的比喻:将一个小容器的水倒入一个大容器没有问题,但是将一个大容器的水倒入一个小容器则会装不下,会溢出。java自动类型转换的规则为byte→short(char)→int→long→float→double。
    2.强制类型转换,也称显式类型转换,如int x = (int)56.1;在进行强制类型转换时可能存在精度的丢失。

2-10 Java中的强制类型转换
Java中的强制类型转换
语法:(数据类型)数值
数值结果上并未四舍五入,而是将小数位截断;
强制类型转换可能会造成数据丢失。
public class HelloWorld{
public static void main(String[] args) {
double heightAvg1=176.2;
int heightAvg2=(int)heightAvg1;
System.out.println(heightAvg1);
System.out.println(heightAvg2);
}
}
2-11 Java常量的应用
Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值;
伙计们注意啦:常量名一般使用大写字符
例:final String MALE="男";
final String FEMALE="女";
2-12 如何在Java中使用注释
Java 中注释有三种类型:单行注释、多行注释、文档注释
单行注释//开头 (快捷键 ctrl+/ )
多行注释:/ / (ctrl+shift+/ )
文档注释:/* /
我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。

PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
2-13 练习题

第3章 常用的运算符

3-1 什么是运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。
Java 语言中常用的运算符可分为如下几种:
Ø 算术运算符 + - / % ++ -- ++,--
//只能用于操作变量, b=a++, b=++a的区别
Ø 赋值运算符 = += -=
= /= %=
//为变量或常量指定数值
Ø 比较运算符 > < >= <= == !=
比较运算结果是一个布尔值(true或false)
Ø 逻辑运算符 && || ! ^(异或)
//输出语句中逻辑运算要加括号: System.out.println( (c^d) +"通过") ;
Ø 条件运算符(三元运算符)
//形式:布尔表达式 ? 表达式1 : 表达式2; String str = (8>5)? "8大于5" : "8不大于5";
3-2 Java中的算术运算符
++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴
b=++a ; //让a先执行自增,然后将值赋给变量b
b=a++; //让a的值赋给变量b;然后再执行自增
3-3 Java中的赋值运算符
= 赋值 a=b;就是把b的值付给a
+= 加等于 a+=b; 等价于a=a+b;
-+ 减等于 a-=b; 等价于a=a-b;
= 乘等于 a=b; 等价于a=a*b;
/= 除等于 a/=b; 等价于a=a/b;
%= 减等于 a%=b; 等价于a=a%b;
3-4 Java中的比较运算符
比较运算符:> < >= <= == !=(不等于)
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
且比较运算的返回类型应该为布尔类型,即true或false
3-5 Java中的逻辑运算符
1、 &&与:要求所有人都投票同意,才能通过某议题
2、 ||或:只要求一个人投票同意就可以通过某议题
3、 !a非:某人原本投票同意,通过非运算符,可以使其投票无效
4、 a ^ b异或:有且只能有一个人投票同意,才可以通过某议题
3-6 练习题
3-7 Java中的条件运算符
java中的条件运算符(? :) 也被称为 “三元运算符”
语法形式: 布尔表达式 ? 表达式1 : 表达式2 ;
运行过程: 如果布尔表达式的值为true, 则返回 表达式1 的值
如果布尔表达式的值为false, 则发回 表达式2 的值
例如:
int score=68;
String mark = (score>= 60) ? "及格" : "不及格";
结果:
及格
3-8 Java中运算符的优先级
优先级1:( )
优先级2:! +(正号) -(负号) ++ --
优先级3: / %
优先级4:+(加号) -(减号)
优先级5:< <= > >=
优先级6:== !=
优先级7:^(异或)
优先级8:&&
优先级9:||
优先级10:?:
优先级11:= += -=
= /= %=
3-9 练习题
3-10 练习题

第4章 流程控制语句

4-1 Java条件语句之 if
如果 if 条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺
4-2 Java条件语句之 if...else
if(条件){
System.out.println("条件达成的结果");
}else{
System.out.println("条件未达成的结果");
}
4-3 Java条件语句之多重 if
Java条件语句之多重 if
if(条件1){
代码块1
}else if(条件2){
代码块2
}else{
代码块3
}
4-4 Java条件语句之嵌套 if
if 嵌套

if(条件1){
if(条件2){代码1}

}else{代码2}

}else{代码3}
学习 equals()的用法
ava程序中有两种方式测试两个变量是否相等,一种:== 第二种 equals方法
1、使用==判断两个变量是否相等,如果两个变量时基本类型,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等,则返回true。但是对于引用类型变量,它们必须指向同一个对象时。==判断才会返回true
2、当程序判断两个引用类型变量是否相等时,也是希望它们是“值相等”,并不严格要求两个引用变量指向同一个对象,则此时就要利用eqauls来进行判断了
4-5 练习题
4-6 Java条件语句之 switch
不得不说的几点小秘密:
1、 switch 后面小括号中表达式的值必须是整型或字符型
2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束
4、 可以把功能相同的 case 语句合并起来,如:
如果今天是星期一、三、五,则早餐吃包子,如果是星期二、四、六,则早餐吃油条,如果是星期日,则吃“主席套餐”

public class HelloWorld {
public static void main(String[] args) {
char today='日';
switch(today){
case '一':
case '三':
case '五':
System.out.println("早餐吃包子");
break;
case '二':
case '四':
case '六':
System.out.println("早餐吃油条");
break;
case '日':
System.out.println("吃主席套餐");
}
5、 default 块可以出现在任意位置,也可以省略
4-7 Java循环语句之 while
Java循环语句之 while
执行过程:
1、 判断 while 后面的条件是否成立( true / false )
2、 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止

特点:先判断,后执行
4-8 Java循环语句之 do...while
<1>、 先执行一遍循环操作,然后判断循环条件是否成立

<2>、 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止

特点: 先执行,后判断

由此可见,do...while 语句保证循环至少被执行一次!
do{
循环操作;
}while(判断条件)
4-9 Java循环语句之 for
for循环:
1、for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。
a. 省略“循环变量初始化”,可在 for 语句前由赋值语句进行变量初始化操作;
b. 省略“循环条件”,会造成循环将一直执行下去,也就是“死循环”现象,可以在循环体中使用 break 强制跳出循环;
c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化。
2、for 循环,变量初始化和循环变量变化部分,可以使用 “,” 同时初始化或改变多个循环变量的值,如:
for(int i=1,j=5; i<5; i++,j--) { }
代码中,初始化变量部分同时对两个变量 i 和 j 赋初值,循环变量变化部分也同时对两个变量进行变化。
3、循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级。
4-10 练习题
4-11 Java循环跳转语句之 break
Java循环跳转语句之 break
1.在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码。
2.break和continue的区别
(1)break: 此语句导致程序终止包含它的循环,不再判断循环的条件是否成立,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
(2)continue:结束本次循环后,再开始下一次的循环;continue语句只是结束本次的循环,而不是终止整个的执行,接着进行下一次是否执行循环的判定。
4-12 Java循环跳转语句之 continue
break 关键字是跳出整个循环,continue关键字是结束本次循环。
4-13 练习题
4-14 Java 循环语句之多重循环
print()每次都同行打印,println()每次都换行打印
4-15 编程练习

第5章 阶段练习

5-1 编程练习
5-2 编程练习解析 (04:40)
5-3 编程练习优化 (06:10)
使用Scanner工具类来获取用户输入的信息
Scanner类位于java.util包中,使用时需要导入此包
步骤:
1.导入java.util.Scanner
2.创建Scanner对象 :
Scanner input=new Scanner(System.in);
3.接受并保存用户输入的值:
input.next();//获取String类型数据
input.nextDouble();//double类型
input.nextInt();//int类型

5-4 使用Eclipse调试程序 (05:39)

5-5 进阶练习 (11:40)

第6章 数组

6-1 什么是数组
数组:相同数据类型的有序集合
数据又称为数组元素
数组元素可以通过下标(索引)来进行访问
数组元素的下标(索引)是从0开始的
数组的特点:
1、长度是固定的,避免数组出现越界异常
2、数组元素必须是相同的数据类型,不允许出现混合类型(数组元素可以是任何数据类型<基本数据类型和引用数据类型>)
3、数组元素位置有序
数组的声明
语法: 数据类型[ ] 数组名;或者 数据类型 数组名[ ];其中,数组名可以是任意合法的变量名,如:
int [] scores;<存储学生成绩的数组,类型为整型>
double height [] ;<存储学生身高的数组,类型为浮点型>
Sring [] scores;<存储学生名字的数组,类型为字符串>
6-2 练习题
6-3 如何使用 Java 中的数组
//如何使用 Java 中的数组
1.声明数组:int[] scores 等价于int scores[];
2.分配空间:scores[] = new int[5]等价于int scores[] = new int[5];
3.赋值:scores[0] = 89; scores[1] = 79;
4.声明数组、分配空间和赋值的合并:
int[] scores ={78,91,84,68} 等价于int[] scores = new int[]{78,91,84,68}
6-4 练习题
6-5 使用循环操作 Java 中的数组
数组名.length 用于获取数组的长度
1.定义数组:int[] scores=new int[2];
2.数组名.length用来获取数组的长度
3.数组下标从0开始,scores[3]代表数组中第4个元素,而非第三个
4.数组下标的范围是0至(数组长度-1),如果越界访问会报错,如 int[] scores=new int[2]; scores[2]=75;会报Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
6-6 编程练习

6-7 使用 Arrays 类操作 Java 中的数组
//导入Arrays类
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 定义一个字符串数组
String[] hobbys = { "sports", "game", "movie" };
// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbys);
// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println(Arrays.toString(hobbys) );
}
}

6-8 使用 foreach 操作数组

import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 定义一个整型数组,保存成绩信息
int[] scores = { 89, 72, 64, 58, 93 };
// 对Arrays类对数组进行排序
Arrays.sort(scores);
// 使用foreach遍历输出数组中的元素
for (int score : scores ) {
System.out.println(score);
}
}
}
6-9 Java 中的二维数组
public class HelloWorld {
public static void main(String[] args) {
// 定义两行三列的二维数组并赋值
String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
// 通过二重循环输出二维数组中元素的值
for (int i = 0; i < names.length; i++) {
for (int j = 0; j < names[i].length; j++) {
System.out.println(names[i][j]);
}
System.out.println();
}
}
}
6-10 练习题

第7章 方法

7-1 如何定义 Java 中的方法
public class HelloWorld {
//定义了一个方法名为 print 的方法,实现输出信息功能
public void print() {
System.out.println("Hello World");
}
public static void main(String[] args){
//在 main 方法中调用 print 方法
HelloWorld test=new HelloWorld();
test.print();
}
}
7-2 Java 中无参无返回值方法的使用
1、调用带参的方法时,必须保证实参的数量,类型,顺序与形参一致
2、 调用方法时,实参不需要指定数据类型
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法,传入两门课程的成绩
hello.calcAvg(94, 81);
}
/*

  • 功能:计算两门课程考试成绩的平均分并输出平均分
  • 定义一个包含两个参数的方法,用来传入两门课程的成绩
    */
    public void calcAvg(int java, int html){
    double avg = (java + html)/2.0;
    System.out.println("平均分是:"+avg);
    }
    }
    7-3 Java 中无参带返回值方法的使用
    如果方法中不包含参数,但有返回值,我们称之为无参带返回值的方法
    注意:
    1.如果返回类型为void,则方法中不能用return返回值
    2.方法的返回值最多只能有一个
    3.方法返回值类型必须兼容,例如,如果返回值类型为int,则不能返回String型值.例如
    public int getInt(){
    String name="imooc";
    return name;}
    7-4 编程练习
    7-5 Java 中带参无返回值方法的使用
    Java中带参无返回值方法的使用

对象名.方法名(实参1,实参2...实参n)
把定义方法时的参数叫做形参,目的用于定义方法时需要传入的参数类型和个数
把调用方法时的参数称为实参,实参是传递给方法真正被处理的值

1.需保证实参,形参数量、类型、顺序一一对应
2.调用时,实参不用指定数据类型
3.参数可以是基本数据类型,也可以是引用数据类型
4.多个参数以逗号分隔
需要为其提供额外的信息
7-6 Java 中带参带返回值方法的使用
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores={79,52,98,81};
//调用方法,传入成绩数组,并获取成绩的个数
int count= hello.sort(scores);
System.out.println("共有"+count+"个成绩信息!");
}
/*

  • 功能:将考试成绩排序并输出,返回成绩的个数
  • 定义一个包含整型数组参数的方法,传入成绩数组
  • 使用Arrays类对成绩数组进行排序并输出
  • 方法执行后返回数组中元素的个数
    /
    public int sort(int[] scores){
    Arrays.sort(scores);
    System.out.println(Arrays.toString(scores));
    //返回数组中元素的个数
    return scores.length;
    }
    }
    7-7 练习题
    7-8 Java 中方法的重载
    public class HelloWorld {
    public static void main(String[] args) {
    // 创建对象
    HelloWorld hello = new HelloWorld();
    // 调用无参的方法
    hello.print();
    // 调用带有一个字符串参数的方法
    hello.print("adb");
    // 调用带有一个整型参数的方法
    hello.print(18);
    }
    public void print() {
    System.out.println("无参的print方法");
    }
    public void print(String name) {
    System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
    }
    public void print(int age) {
    System.out.println("带有一个整型参数的print方法,参数值为:" + age);
    }
    }
    7-9 编程练习
    import java.util.Arrays;
    public class HelloWorld {
    public static void main(String[] args) {
    // 创建对象,对象名为hello
    HelloWorld hello = new HelloWorld();
    // 调用方法并将返回值保存在变量中
    int[] nums = hello.getArray(8);
    // 将数组转换为字符串并输出
    System.out.println(Arrays.toString(nums));
    }
    /
  • 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
  • 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
    /
    public int[] getArray(int length) {
    // 定义指定长度的整型数组
    int[] nums = new int[length];
    // 循环遍历数组赋值
    for (int i=0; i<nums.length; i++ ) {
    // 产生一个100以内的随机数,并赋值给数组的每个成员
    nums[i]=(int)(Math.random()
    100);
    }
    return nums; // 返回赋值后的数组
    }
    }
    7-10 练习题
    第8章 编程挑战

8-1 编程练习
定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名
import java.util.Arrays;
public class HelloWorld {

//完成 main 方法
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
Arrays.sort(scores);

HelloWorld hello=new HelloWorld();
System.out.println(Arrays.toString(scores));阿
hello.chenji(scores);
}
int count=0;
//定义方法完成成绩排序并输出前三名的功能
public void chenji(int[] scores){
for(int i=scores.length-1;i>=0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}
System.out.println(scores[i]);
count++;
if(count>2){break;}

}
}