1 变量
可以改变的数,称为变量。在Java语言中,所有的变量在使用前必须声明。
一般通过“变量类型 变量名 = 变量值 ;”这三部分来描述一个变量。如:int a = 3 ;
变量的使用原则:就近原则,即尽量控制变量的使用范围到最小
1.1 局部变量
位置:定义在方法里或者局部代码块中
注意:必须手动初始化来分配内存.如:int i = 5;或者int i; i = 5;
作用域:也就是方法里或者局部代码块中,方法运行完内存就释放了
1.2 成员变量
位置:定义在类里方法外
注意:不用初始化,也会自动被初始化成默认值
作用域:整个类中,类消失了,变量才会释放
2 方法
被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性。
2.1 定义方法的格式
方法的修饰符 返回值类型 方法名(方法的参数列表){方法体}
例:public static void main(String[] args) {}
2.2 方法调用顺序图
顺序执行代码,调用指定方法,执行完毕,返回调用位置
3 嵌套for循环
存在至少2层for循环,根据外层的条件,判断里层能否执行
如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环
嵌套for形式
![](https://i-blog.csdnimg.cn/blog_migrate/7887dcad27bee3455669537f2b2a532e.png)
3.1练习:嵌套for循环入门案例
package cn.tedu.method;
//用于测试嵌套for循环案例
public class For01 {
public static void main(String[] args) {
for(int i=1;i<=3;i++) {System.out.println("外"+i);
for(int i1=1;i1<=5;i1++) {System.out.println("内"+i1);}
}
}
}
总结1:外循环执行1次,内循环执行多次
3.2练习:打印矩形和左直角三角形
package cn.tedu.method;
//打印矩形和左直角三角形
public class For02 {
public static void main(String[] args) {
m1();
System.out.println("----------");
m2();
}
private static void m1() {
for(int i=1;i<=6;i++) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void m2() {
for(int i=1;i<=3;i++) {
for(int i1=1;i1<=5;i1++) {
System.out.print("*");
}
System.out.println();
}
}
}
3.3练习:打印99乘法表
package cn.tedu.method;
public class For03 {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");//i*j=i*j
}
System.out.println();
}
}
}
4 break与continue
break: 直接结束当前循环,跳出循环体,简单粗暴
break以后的循环体中的语句不会继续执行,循环体外的会执行
注意如果是嵌套for循环,在内层循环遇到了break,只会跳出当前这一层内循环哦
continue: 跳出本轮循环,继续下一轮循环
continue后本轮循环体中的语句不会继续执行,但是会继续执行下轮循环,循环体外的也会执行
4.1练习
package cn.tedu.method;
import java.util.Scanner;
/**本类用于测试break和continue
* 需求:猜数字88*/
public class BreakAndContiniue04 {
public static void main(String[] args) {
for(int i= 1;i<=100;i++) {
System.out.println("输入要猜的数字");
int input = new Scanner(System.in).nextInt();
if(input != 88) {System.out.println("错误");
continue;
}
if(input == 88) {System.out.println("猜对了");
break;
}
}
}
}
5 循环结构2 : while循环
形式(先判断,再执行)
5.1练习:猜数字
package cn.tedu.method;
import java.util.Random;
import java.util.Scanner;
//本类用于测试while循环结构
//需求:生成一个随机数,于用户数字作比较,直到猜对
public class While05 {
public static void main(String[] args) {
int random = createnum();
guessnum(random);
}
public static void guessnum(int random) {
while(true) {
System.out.println("请输入你要猜的数字");
int input = new Scanner(System.in).nextInt();
if (input > random) {
System.out.println("大");
}else if(input<random) {
System.out.println("小");
}else if(input==random) {
System.out.println("对!");
break;
}
}
}
//本方法用于生成随机数
private static int createnum() {
int random = new Random().nextInt(100);
return random;
}
}
6.循环结构三 : do-while结构
形式(先执行,再判断,循环体代码保证最少执行一次)
6.1练习
package cn.tedu.method;
//do-while循环,至少执行一次,若满足while条件,再次执行。若不满足则停止
import java.util.Random;
public class A06 {
public static void main(String[] args) {
int n;
int count=0;
do {System.out.println("循环");
n = new Random().nextInt(1000);
System.out.println(n);
count++;
}while(n>100);
System.out.println("共执行"+count+"次");
}
}
总结1://do-while循环,至少执行一次,若满足while条件,再次执行。若不满足则停止
7.总结
7.1三种循环的区别
- for:知道循环次数
- while/do while:当循环次数不确定时
- while:先判断,不符合规则,不执行代码
- do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
- 循环之间都可以互相替代,但是一般最好选择合适的循环结构来完成代码哦~
7.2练习:打印右直角三角形
package cn.tedu.method;
//打印右直角三角形
public class A07 {
public static void main(String[] args) {
for(int i=1;i<=5;i++){//5行
for(int x=5;x>i;x--){//打印空格
System.out.print(" ");
}
for(int j=1;j<=i;j++){//打印星号
System.out.print("*");
}
System.out.println();
}
}
}
7.3练习:打印全三角形
package cn.tedu.method;
//打印全三角形
public class A08 {
public static void main(String[] args) {
for(int i=1;i<=6;i++){
//打印空格的倒三角
for(int j=6;j>i;j--){
System.out.print(" ");
}
//打印*号的正三角
for(int k=1;k<=i*2-1;k++){
System.out.print("*");
}
System.out.println();
}
}
}