1. 循环语句:for / while / do...while
1)for循环
格式:for(循环变量初始化;循环变量条件;循环不变量变化){
循环操作
}
执行过程:
f35d6e602fd7d0f0edfa6f7d103c1b57执行循环变量初始化部分,设置循环初始化状态,此部分在循环中只执行一次
2cc198a1d5eb0d3eb508d858c9f5cbdb进行循环条件判断,若为true则执行循环内代码,false直接退出循环
5bdf4c78156c7953567bb5a0aef2fc53执行循环变量变化部分,改变循环变量得值,以便进行下一次条件判断
23889872c2e8594e0f446a471a78ec4c依次执行循环,一直到条件达到语句不成立时即false,退出循环
(注:有大括号的地方不需要加分号,有分号的地方不需要加大括号)
例题:求和,求出1~100的总和
2)while循环
格式: while(判断条件){
循环操作
}
执行过程:
f35d6e602fd7d0f0edfa6f7d103c1b57判断while后面条件是否成立
2cc198a1d5eb0d3eb508d858c9f5cbdb成立时,执行循环内操作直至条件不成立停止
例题:连续依次输入1-5
3)do...while 循环
格式:do{
循环操作
}while(判断条件)
执行过程:
f35d6e602fd7d0f0edfa6f7d103c1b57先执行一遍循环操作,然后判断循环条件是否成立
2cc198a1d5eb0d3eb508d858c9f5cbdb如果成立继续执行直至不成立时结束循环
例题:计算50以内的偶数和
4)循环的嵌套
例题:打出9X9乘法表
ps:continue:停止当前循环进入下一次循环 、 break:结束循环
2. 数组:数组可以理解为一个巨大的盒子,里面可以按顺序存放多个类型相同的数据。
如下图
其中元素都可以通过下标来访问
数组的下标从0开始 即这里 score[0] = 76 . . . . . . score[3] = 87
数组的初始化:
1)动态初始化:指定数组长度,由系统给数组中的元素赋值
(这里格式为:数据类型[ ] 数组名称 = new 数组类型 [ 指定长度 ] )
2)静态初始化:指定数组中的元素的值,由系统给数组指定长度
处理数组中的数据:我们可以对赋值后的数组进行操作和处理
我们可以直接创建数组方式,它将声明数组、分配空间和赋值合并完成
如:int[ ] sc = new int[ ]{5,15,25,35,48,55,38}
数组:length属性:获取数组长度
例:录入一组数据,并且输出该数组
3. 方法:方法就是用来解决一类问题的代码的有序组合,即为一个功能模块
语法:访问修饰符 返回值类型 方法名(参数列表){
方法体
}
1) 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2)返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3)方法名:定义的方法的名字,必须使用合法的标识符
4)参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
调用方法:
1)单独调用:没有具体结果
2)输出调用:不够好,将数据写死,直接输出的,不能对结果进行一下步的需求
3)赋值调用
例:在上一个例题中,我们增加方法,优化排序过程
问题:通过之前所学,我们来做一组较为复杂的程序需求如下
1)输入一组数组 2)对数组进行输出 3)对数组进行逆输出 4)可以筛选出最大与最小数并输出 5)增加数据的查询功能 6)利用方法优化程序过程
package example; import java.util.Scanner; public class Ex1 { public static void main(String[] args) { @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); int[] score = new int[5]; for(int i = 0 ; i<=score.length-1 ; i++) { System.out.println("请输入第"+(i+1)+"个数"); int x = sc.nextInt(); score[i] = x; } System.out.print("您输入的数组为:"); printArray(score); max(score, 0); min(score, 0); nx(score,0); printArray(score); where(score); } //遍历数组方法 public static void printArray(int[] score) { for(int x = 0 ; x<=score.length-1 ; x++) { if(x==0) { System.out.print("[ "+score[x]); }else if(x==score.length-1) { System.out.print(" "+score[x]+" ]"); }else { System.out.print(" "+score[x]); } } System.out.println(""); System.out.println("------------------------"); } //输出最大值方法 public static void max(int[] score, int max) { max = score[0]; for(int y = 1 ; y<=score.length-1 ; y++) { if (max<score[y]) { max = score[y]; } } System.out.println("您输入的最大值为:"+max); System.out.println("------------------------"); } //输出最小值方法 public static void min(int[] score, int min) { min = score[0]; for(int y = 1 ; y<=score.length-1 ; y++) { if (min>score[y]) { min = score[y]; } } System.out.println("您输入的最小值为:"+min); System.out.println("------------------------"); } //逆序方法 public static void nx(int[] score,int temp) { for(int y = 0 ; y<=(score.length-1)/2 ; y++) { temp = score[y]; score[y]=score[score.length-1-y]; score[score.length-1-y]=temp; } System.out.print("该数组的逆序为:"); } //查找数据方法 public static void where(int[] score) { @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); System.out.print("请输入您要查找的数: "); int ex = sc.nextInt(); for(int y = 0 ; y<score.length ; y++) { if(ex == score[y]) { System.out.println("您输入的是第 "+(y+1)+" 个数"); break; }else if(ex!=score[0] && ex!=score[1] && ex!=score[2] && ex!=score[3] && ex!=score[4]) { System.out.println("没有您要找的数"); break; } } } }
补:方法之重载
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:
如何区分调用的是哪个重载方法呢?
当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
此时结果为:
PS:判断方法重载的依据
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
####END####
相关文章:
以上是JAVA入门系统教程(五)基础语法(3)的详细内容。更多信息请关注PHP中文网其他相关文章!