Day14
for进阶
基本for结构:for(1;2;3)
- 1可为空语句(跳过),但是for内部用的变量要提前定义
- 2可为空语句(跳过),但为空永远是true
- 3可为空语句(跳过)
- for(i=1;a<b&&c==5;r++)定义多样性
增强for循环:
int[] numbers={1,2,3,4,5};
for(int x:numbers){//int x内部变量
System.out.println(x);//依次赋值打印
}
- 只能在括号内定义x,在外部定义再使用会报错
break continue
break:强制退出距离最近的循环。
while (a<6)
{a++;
if(a=4)
{
break;//跳出该循环,不再执行
}
}
continue:跳过本次循环,不执行continue下的语句
while (a<6)
{
if(a=4)
{
continue;//跳出本次循环,不执行a++
}
a++:
}
今日训练代码
统计1~100的奇偶之和:
package oui;
public class Day13_4 {
public static void main(String[] args) {
int sum =0;
int sun =0;
for (int i = 0; i<= 100; i++) {//100.for自动生成,声明i后不可在声明
if(i%2==0){
sum+=i;
}else{
sun+=i;
}
}
System.out.println(sum);
System.out.println(sun);
}
}
寻找可以被5整除的数且三个换行:
复杂版:
package oui;
public class Day13_5 {
public static void main(String[] args) {
int i = 1;
int h = 1 ;
for (; h<=2500; h++) {//第一句可为空语句但外部需要定义
if (h%3==0)
{
if (i<=2500&&i%5==0) {
System.out.println(i);
i++;
}else {
i++;
}
}else if(i<2500&&i%5==0) {
System.out.print(i + " ");
i++;
}else{
i++;
}
}
}
}
优化版:
package oui;
public class Day13_5_1 {
public static void main(String[] args){
int i =0;
for (;i<=2500;i++){
if (i%5==0) {//可以不存在else,不符合跳过就好
System.out.print(i+" ");
}
if (i%15==0){
System.out.println("\n");//换行单独输出
}
}
}
}
打印九九乘法表:倒叙版:
package oui;
public class Day14 {
public static void main(String[] args){
int i =1;;int a=1;
for (;i<=9;i++){
for (;a<=9;a++){
if (a==9){
System.out.println(i+"x"+a);
}else {
System.out.print(i+"x"+a+" ");//i+'x'+a:int+char会被判定为加法
}
}
a =1;
a+=i;//重置为1,并且永久增大。
}
}
}
正序版:
package oui;
public class Day14_1 {
public static void main(String[] args){
int i =1;
int a=1;
for(;a<=9;a++){
i=1;
for(;i<=a;i++){
if (i==a){
System.out.println(i+"x"+a);}
else{ System.out.print(i+"x"+a+" ");//遇到""这个+立马变为连接符号不再复原
}
}
}
}}
自定义打印n行三角形:
package oui;
import java.util.Scanner;
public class Day14_3 {
public static void main(String[] args){
int n;
Scanner sc= new Scanner(System.in);
System.out.println("请输入行数");
n= sc.nextInt();
int s=2*n-1; //2n=2*n
int c=(s+1)/2-1;
for (int i =1;i<=n;i++){//确定矩阵
for(int r=1;r<=c;r++){
System.out.print(" ");
}
for(int r=1;r<=2*i-1;r++){
System.out.print("*");
if(r==2*i-1){
System.out.print("\n");
}
}
c-=1;
}
}
}
浙公网安备 33010602011771号