04.01 for语句的格式
for(初始化表达式;条件表达式;循环后的操作表达式){
循环体;
}
===
04.02 //1~100偶数和
int i;
int sum=0;
for(i = 1;i <= 100;i++){
if(i % 2 == 0 ){
sum += i;
}
}
System.out.println(sum);
//1~100奇数和
int i;
int sum=0;
for(i = 1;i <= 100;i += 2){
sum += i;
}
System.out.println(sum);
===
04.03 输出一千以内的水仙花数
//分析:1,100~999
2,获取每一个位数上的值,百位,十位,个位
3,判断各个位上的立方和是否等于这个数,如果等于打印
for(int i=100;i<=999;i++){ //获取100~999的数
int ge = i % 10; //123%10 120都能除掉
int shi = i / 10 % 10; //123/10%10 12%10 为2
int bai = i / 100 % 10;
if(ge * ge * ge + shi * shi * shi + bai * bai * bai ==i){
System.out.println(i);
}
}
//统计再定义一个count存储水仙花个数
===
04.04 while语句的格式
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
int z = 1; //while输出1~10
while(z <= 10){
System.out.println("z = "+ z);
z++;
}
===
04.05 do...while语句格式
初始化语句 ;
do{
循环体语句;
控制条件语句;
}while(判断条件语句)
int x=1;//while输出1~10
do{
System.out.println("x = "+x);
x++;
}
while(x <= 10);
//三种循环语句的区别:
//do...while循环至少执行一次循环体;
//for while 必须先判断条件是否成立,然后再决定是否执行循环体语句
//for语句执行后变量会被释放,不能再使用
//while语句执行后,初始化变量还可以使用
===
04.06 //循环嵌套输出4行5列星
for(int i = 1;i <= 4;i++ ){
for(int j = 1;j <= 5;j++){
System.out.print("*");
}System.out.println();
}
//三角形,和j的个数随i的列数一起变
for(int i = 1;i <= 5;i++){ //外循环决定行数
for(int j = 1;j <= i;j++){ //内循环决定列数
System.out.print("*");
}System.out.println();
}
===
04.07 九九乘法表
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}System.out.println();
}
===
04.08 continue 终止本次循环,继续下次循环
mark 标记,标号跳出指定循环
break 跳出循环
return 结束方法
===
04.09 方法概述和格式
//提高代码复用性,完成特定功能的代码块
方法格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
方法体语句;
return 返回值;
}
===
public static void main(String[] args){
int sum = add(10,20);// 1>调用add方法,将10和20风别传递给a和b
System.out.println(sum);// 5>将方法的结果返回给sum
add(30,40); //有返回值方法的单独调用,没有意义
System.out.println(add(30,40)); //可以但不推荐
}
public static int add(int a,int b){// 2>赋值a = 10,b = 20
int sum = a + b; // 3>执行语句把a和b相加赋值给sum
return sum; // 4>通过return将sum的结果返回
}
//方法与方法是平级关系,不能嵌套定义
//方法定义的时候参数之间用逗号隔开
//方法调用的时候不用在传递数据类型
//若方法有明确的返回值,一定要有return带回一个值
===
04.10 //键盘录入两个数据,返回两个数中的较大值
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");//创建对象
int x = sc.nextInt();//将键盘录入的数据存储到x中
System.out.println("请输入第二个整数:");
int y = sc.nextInt();
int max = getMax(x,y);
System.out.println(max);
boolean b = isEquals(x,y);
System.out.println(b);
}
public static int getMax(int a,int b){
return a > b ? a : b;
}
//判断两个整数是否相等 1明确返回值类型 boolean 2明确参数列表 int a,int b
//键盘录入两个数据,比较这两个数是否相等 isEquals 是否相等
public static boolean isEquals(int x,int y){
return x == y;
===
04.11 例题
public static void main(String[] args){
//根据键盘录入的行数和列数,在控制台输出矩形星形
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入行数:");
int row = sc.nextInt(); //将键盘录入的行数存储在row中
System.out.println("请输入列数:");
int column = sc.nextInt(); //将键盘录入的列数存储在column中
print(row,column);
//System.out.println(print(row,column)); //错误:此处不允许使用'空'类型,返回值是void的方法不能输出调用
//返回值是void方法只能单独调用
}
//明确返回值类型,经分析没有具体的返回值类型,void
public static void print(int a,int b){
for(int i = 1;i <= a;i++){
for(int j = 1;j <= b;j++){
System.out.print("*");
}System.out.println();
}
//return ; //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return ;
}
===
04.12 方法重载 //overload重载
//方法名相同,参数列表不同,与返回值类型无关
// 1参数个数不同 2参数类型不同 顺序不同