1.do-while循环语句
do-while循环语句的格式
初始化语句;
do{
循环体语句;
步长语句
}while(条件表达式);
do-while循环语句和for,while循环的最大的区别就是:循环体至少执行一次(条件不满足的情况)
class DoWhileDemo{
public static void main(String[] args){
//控制台输出5次"helloworld"
int i = 6 ;
do{
System.out.println("helloworld") ;
i++ ;
}while(i<=5) ;
}
}
2.for循环的嵌套
for循环语句作为循环体语句;
for(初始化语句;条件表达式;步长语句){
//循环体语句
for(初始化语句;条件表达式;步长语句){
循环体语句;
}
}
控制台输出:四行五列的*
*****
*****
*****
*****
class ForForDemo{
public static void main(String[] args){
for(int x = 0 ; x < 4 ; x ++){ //外层循环控制行数
for(int y = 0 ; y < 5; y ++) {//y=0,1,2,3,4 内层循环在控制列数
System.out.print("*");
}
System.out.println() ;
}
}
}
需求:在控制台输出99乘法表
ava中很多转义字符:
x字符,x表示任意字符
\t :制表符号,类是tab键 ”缩进“
\r : 回车符号
\n : 换行符号
class ForForDemo3{
public static void main(String[] args){
for(int x = 0 ; x < 9 ; x ++){
for(int y = 0 ; y < 9 ; y++){
System.out.print("*");
}
System.out.println() ;
}
System.out.println("-------------------------");
//99乘法表:为保证有数据,其值从1开始,列数的变化 <= 行数
for(int x = 1 ; x <=9; x ++){ //9行
for(int y = 1 ; y <=x ; y++){ //列数的变化
System.out.print(y+"*"+x+"="+(y*x)+"\t") ;
}
System.out.println() ;
}
}
}
3.跳转控制语句
(1)break;
break表示结束,中断的意思。
break单独使用没有意义,只能在switch语句或者循环语句中使用!
如果while(true)和switch一块使用的时候,break此时只能结束switch语句,while(true)的结束,可以使用System.exit(0);
(2)continue
continue:继续(结束当前循环,立即进入下一次循环)
continue单独使用没有意义,continue在loop外部(循环中使用)
(3)return
return :一般很少单独使用,一般结束方法使用的
return是结合方法去使用的,如果一个方法中有return,具体返回结果;
4.方法
方法的概念:方法就是使用{}包起来的内容,给{}独立的代码块起一个名字,以便于复用。
定义方法的格式
情况1:有具体返回值类型的方法定义
情况2:没有具体返回值类型的方法定义
有具体返回值类型的方法定义
权限修饰符 静态修饰符 返回值类型 方法名(数据类型1 变量名1,数据类型2 变量名2,...){
业务内容;
return结果;
}
定义方法以及调用方法的注意事项:
1)方法和方法是平级关系,不能在一个方法中定义另一个方法
2)在定义一个有返回值类型的方法的时候,知道两个明确
a)明确方法的返回值类型
b)明确参数类型以及参数个数
3)定义方法的时候,形式参数必须带上数据类型,否则报错(Java是一种强类型语言)
情况2:没有具体返回值类型的方法定义以及调用
定义格式:
修饰符(public static) 返回值类型 方法名(参数类型1 变量名1,参数类型2 变量名2 .....){
业务操作:一般情况都是直接输出
}
class FunctionDemo3{
public static void main(String[] args){
printStar(5,6) ;
printStar(7,8) ;
}
public static void printStar(int m,int n){
for(int x = 0 ; x
方法重载:方法名相同,参数列表不同,与返回值无关
参数列表不同:1)要么类型不同; 2)要么参数个数不同
求三个数据中的最大值:
import java.util.Scanner;
class FunctionTest2{
public static void main(String[] args){
System.out.println("请输入第一个数据:") ;
int a = sc.nextInt();
System.out.println("请输入第二个数据:") ;
int b = sc.nextInt();
//提示并接收
System.out.println("请输入第三个数据:") ;
int c = sc.nextInt();
//调用
int max = getMax(a,b,c) ;
System.out.println("三个数据中的最大值是:"+max) ;
System.out.println("-------------------------");
int max2 = getMax2(a,b,c) ;
System.out.println("三个数据中的最大值是:"+max2) ;
}
public static int getMax(int a,int b, int c){
//定义变量
int max ;
if(a>b){
if(a>c){
max = a ;
}else{
max = c ;
}
}else{
if(b>c){
max = b ;
}else{
max = c ;
}
}
return max ;
}