嵌套for循环
特点
1.外循环执行一次,内循环执行多次。
2.外循环控制行,内循环控制列。
break与continue
break用于直接退出循环;continue用于结束当前循环,进行下一次循环。
while与do…while
语法:
while(判断条件){循环体};
do{循环条件}while(判断条件)
特点:
while先进行判断再执行,do…while先执行一次再进行判断。
变量
局部变量:
定义在方法里,或者局部代码块中。
注意:必须手动初始化,来分配内存。如:int i=5;
作用域也就是方法里或者局部代码块里,方法运行完内存就释放了。
成员变量:
定义在类里。
注意:不用初始化,也会自动被初始化成默认值。
作用域是整个类中,类消失了,变量才释放。
单元测试
**作用:**测试某些功能
语法:
@Test
public void show(){}
运行方法:
选中方法名-右键-run as-junit test…
代码
package cn.tedu.basic;
//测试 嵌套for循环
public class Text1 {
public static void main(String[] args) {
method();//外一次,内多次
method2();//外控制行内控制列
method3();//打印五行五列正方形
method5();//打印乘法表
method4();//打印左下直角三角形
System.out.println("分界线");
method6();//右下直角三角形
System.out.println("分界线");
method7();//打印左上直角三角形
System.out.println("分界线");
method8();//打印右上直角三角形
}
public static void method8() {
for(int i=1;i<=5;i++) {
for(int k=1;k<i;k++) {
System.out.print(" ");
}
for(int j=5;j>=i;j--) {
System.out.print("*");
}
System.out.println();
}
}
public static void method7() {
for(int i=1;i<=5;i++) {
for(int j=5;j>=i;j--) {
System.out.print("*");
}
System.out.println();
}
}
public static void method6() {
for(int i=1;i<=5;i++) {
for(int k=1;k<=5-i;k++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void method5() {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
public static void method4() {
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void method3() {
for(int i=1;i<=5;i++) {
for(int j=1;j<=5;j++) {
System.out.print("* ");
}
System.out.println();
}
}
public static void method2() {
for(int i=1;i<=2;i++) {//两行
for(int j=1;j<=5;j++) {//五列
System.out.print("*");
}
System.out.println();//每次内循环结束后换行
}
}
public static void method() {
//外循环一次,内循环多次
for(int i=1;i<=3;i++) {
System.out.println(i);
for(int j=1;j<=5;j++) {
System.out.println(j);
}
}
}
}
package cn.tedu.basic;
public class HomeWork2 {
public static void main(String[] args) {
method();
method2();
}
public static void method2() {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
public static void method() {
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
package cn.tedu.basic;
//测试 while循环 猜数字
//总结:
/**相同点:解决重复问题
*不同点:
*for(开始位置;循环条件;更改条件){循环体}
*要求:知道开始位置,要知道多少次,变化的规律
*while(判断条件){循环体}
*要求:要知道循环条件
*do{循环体}while(判断条件);
*要求:最少执行一次*/
//死循环,本质是条件恒成立,一般要配合break使用
import java.util.Random;
import java.util.Scanner;
public class Text3 {
public static void main(String[] args) {
//产生随机数
int suiji=new Random().nextInt(100)+1;
System.out.println(suiji);
do {
System.out.println("请输入一个1~100的整数");
int input=new Scanner(System.in).nextInt();
if(input==suiji) {
System.out.println("牛批,666");
break;
}else if(input>suiji) {
System.out.println("大了");
}else {
System.out.println("小了");
}
}while(true);
/**for(;;) {
System.out.println(1);
}*/
int money=100000000;
int day=0;
while(money>0) {
money=money/2;
day++;
}
System.out.println("能花"+day+"天");
}
}
package cn.tedu.basic;
//测试 while循环 猜数字
//总结:
/**相同点:解决重复问题
*不同点:
*for(开始位置;循环条件;更改条件){循环体}
*要求:知道开始位置,要知道多少次,变化的规律
*while(判断条件){循环体}
*要求:要知道循环条件
*do{循环体}while(判断条件);
*要求:最少执行一次*/
//死循环,本质是条件恒成立,一般要配合break使用
import java.util.Random;
import java.util.Scanner;
public class Text3 {
public static void main(String[] args) {
//产生随机数
int suiji=new Random().nextInt(100)+1;
System.out.println(suiji);
do {
System.out.println("请输入一个1~100的整数");
int input=new Scanner(System.in).nextInt();
if(input==suiji) {
System.out.println("牛批,666");
break;
}else if(input>suiji) {
System.out.println("大了");
}else {
System.out.println("小了");
}
}while(true);
/**for(;;) {
System.out.println(1);
}*/
int money=100000000;
int day=0;
while(money>0) {
money=money/2;
day++;
}
System.out.println("能花"+day+"天");
}
}
package cn.tedu.basic;
import org.junit.jupiter.api.Test;
//测试 变量
public class Text5 {
/**单元测试方法:测试某些功能
* @Test+public+void+无参
* 选中方法名-右键-run as-junit test...*/
//成员变量有默认值
String name;//引用类型 默认值为null
int a;//整数类型 默认值0
double b; //默认值0.0
char c;//默认值 /u0000
boolean y;
long l;
float f;
int age;
@Test
public void show() {
//局部变量必须初始化
int age=10;
//(同名时)就近原则,优先使用局部变量10
System.out.println(age);
System.out.println(name);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(y);
System.out.println(l);
System.out.println(f);
if(!y) {
System.out.println(1);
}
}
}