Java大数据学习第四天---局部变量、成员变量、方法概念及调用、嵌套for循环

作业:

  1. 看笔记 写代码
  2. 先看周五day04
  3. 装好idea
  4. idea 安装 拓张补充 6-2 6-3 6-4
  5. idea写hello world并提交周日之前

局部变量

  1. 概念:定义在方法里

  2. 注意:

    • 局部变量定义在 方法里
    • 局部变量需要手动初始化、手动赋值、不可以不赋值
    • 生命周期 : 随着方法的调用而存在,方法运行完毕就释放了 就不存在了

成员变量

  1. 概念:定义在类里、方法外

  2. 注意:

    • 定义在 类里、方法外

    • 成员变量不用初始化,会自动被初始化为默认值,也可以手动设置

    • 生命周期 : 整个类中,类消失了,成员变量才会释放

    • 默认值:

      数据类型类型名称字节空间默认值取值范围
      整数型byte10-128~127
      short20
      int40正负21.47亿
      long80
      浮点型float40.0
      double80.0
      字符型char2‘\u0000’0~65535
      布尔型boolean1false
      引用型String为代表null

      8大类型速查表(含默认值)

方法概念及调用

1.概念:被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性。

2.方法定义的格式:

修饰符状态修饰符返回值类型方法名(参数列表){方法体}
比如:publicstaticvoidmain(String[] args){…}

3.方法调用顺序图

方法的调用顺序

嵌套for循环

  1. 概念: 存在至少2层for循环,根据外层的条件,判断里层能否执行
    如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环

  2. 格式:

for循环嵌套格式

  1. break、continue

    • break: 直接结束当前循环,跳出循环体,简单粗暴

      ​ break以后的循环体中的语句不会继续执行,循环体外的会执行
      ​ 注意如果是嵌套for循环,在内层循环遇到了break,只会跳出当前这一层内循环哦

    • continue: 跳出本轮循环,继续下一轮循环

      ​ continue后本轮循环体中的语句不会继续执行,但是会继续执行下轮循环,循环体外的也会执行

    • break与continue

今日案例

案例一、
package cn.tedu.basic;
/**本类用于测试各种类型成员变量的默认值*/
public class TestVariable {
	//成员变量
	/**1.整型类型的默认值为:0*/
	static byte a ;//加上static 就是静态的  不加就不是静态的
	static short b;
	static int c;
	static long d;
	/**2.浮点类型的默认值为:0.0*/	
	static float e;
	static double f;
	/**3.char类型默认值为:'\u0000',体现为一个空格       Boolean类型默认值为:false*/
	static char g;
	static boolean h;
	/**4.所有引用类型默认值为:null*/
	static String n;
	
	
	public static void main(String[] args) {
			System.out.println(a);//0
			System.out.println(b);//0
			System.out.println(c);//0
			System.out.println(d);//0
			
			System.out.println(e);//0.0
			System.out.println(f);//0.0
			
			System.out.println(g);// 空格
			System.out.println(h);//false
			
			System.out.println(n);//null
			
			
	}
}


案例二、
package cn.tedu.basic;
/**本类用于测试成员变量与局部变量*/
public class TestVariable2 {
	//2.定义成员变量
	/**成员变量
	 * 1.位置: 类里 方法外
	 * 2.要求: 无需手动初始化 会自动赋予对应类型的默认值
	 * 3.生命周期: 在整个类中都生效,类消失,成员变量才消失
	 * */
	static int count = 200;//赋不赋值都可以   不赋值默认为0
	public static void main(String[] args) {
		//1.定义局部变量
		/**局部变量
		 * 1.位置:在方法里
		 * 2.要求:必须手动初始化(就是手动赋值,不赋值不行)
		 * 3.生命周期:随着方法的存在而存在,对应的代码执行完毕,局部变量随之释放
		 * */
		int sum = 100;//int sum; sum = 100;   不可以只写 int sum 而不赋值
		System.out.println(sum);		
	}	
}


案例三、
package cn.tedu.method;
/**本类用作方法的入门案例*/
public class TestMethod {
	public static void main(String[] args) {
		System.out.println(1);//输出1
		/**2.我们通过方法名+参数列表 的方式来调用方法的功能*/
		method1();//调用方法1
		System.out.println(2);//输出2
		method2(3);
		method3(4,7);//method3 接收两个整型数据a、b;并打印a+b
		
		String s =method4();// 定义  s 获取 method4 的返回值
		System.out.println(s);
		
		int n = method5(4);
		System.out.println(n);//16
}
	
	/**如果一个方法想要返回值,那么必须修改方法的返回值类型
	 * 并且要return这个类型结果
	 * 如果一个方法的返回值类型是void,那么热不允许有返回值*/
	private static int method5(int a) {	//返回值类型是int,返回值是参数的平方	
		return a*a;
	}
	private static String method4() {//给method4返回值  返回值类型是string 返回值是666
		return "666";
		
		
	}
	private static void method3(int a,int b) {
		System.out.println(a+b);
	}
	/*本方法用于测试方法的参数列表,方法的参数在小括号里*/
	private static void method2(int age) {//private私有的 只在自己类里可用
		System.out.println("海绵宝宝今年"+age+"岁了~");
	}

	/**1.方法的修饰符  方法的返回值类型  方法名(参数列表){方法体}*/
	public static void method1() {//创建一个返回值为空的方法 输出5、6、7
		System.out.println(5);
		System.out.println(6);
		System.out.println(7);
	}
	
	
	
}

案例四、
package cn.tedu.method;

public class TestMethod2 {
	public static void main(String[] args) {
		//需求1:定义一个方法run 没有参数 没有返回值 打印:小狗DOG跑的老快了
		//调用方法:方法名+参数列表
		run();
		//需求2:定义一个方法eat 参数int n  没有返回值 打印:小狗今晚要吃n个肉包子
		eat(1);
		//需求3:定义一个方法play,参数 String host  返回值是 String "飞盘" 打印:小狗与主人host玩的很开心
		String r =play("大王");
		System.out.println(r);
	}
	public static String play(String host) {
		System.out.println("小狗与主人"+host+"玩的很开心");
		return "飞盘";		
	}

	private static void eat(int n) {
		System.out.println("小狗今晚要吃"+n+"个肉包子");
		
	}

	public static void run() {//run是静态的  因为main方法是静态的
		System.out.println("小狗DOG跑的老快了");
		
	}
}

案例五、
package cn.tedu.basic;
/**本类用于测试for循环*/
public class TestFor {
	public static void main(String[] args) {
		//1.使用for循环 打印0-10
		//for (开始条件;循环条件;更改条件){循环体}
		//从哪开始  到哪结束  怎么变化
		for(int i =0;i<=10;i++) {
			System.out.println(i);
		}
		
		//2.使用for循环 打印10-1
		//for (开始条件;循环条件;更改条件){循环体}
		//从哪开始  到哪结束  怎么变化		
		for(int i =10;i>=1;i--) {
			System.out.println(i);
		}
		

		//3.使用for循环 打印8,88,888,8888
		//for (开始条件;循环条件;更改条件){循环体}
		//从哪开始  到哪结束  怎么变化	
		for(int i =8;i<=8888;i=i*10+8) {
			System.out.print(i+",");
		}
		
	}
}

案例六、
package cn.tedu.basic;
/**本类用于测试for循环结构2*/
public class TestFor2 {
	public static void main(String[] args) {
		//需求1.打印1-100所有所有数的和
		//1.定义一个变量 保存求和结果
		int sum = 0;
		//2.创建循环 依次循环1-100所有的数
    		for(int i = 1;i<=100;i++) {
			//3.需要将本轮循环到的数字累加
           			sum+=i;
		}
		System.out.println("1-100所有所有数的和:"+sum);
		 
		//2.打印1-100所有偶数的和
		int sum2=0;
		for(int i = 1;i<=100;i++) {
			if(i%2==0) {
				//System.out.println(i);
				sum2+=i;
			}
		}System.out.println("1-100所有偶数的和:"+sum2);
		
		//3.打印1-100所有尾数为7的数的和
		
		int sum3 = 0;
		for(int i = 1;i<=100;i++) {
			if(i%10==7) {
				//System.out.println(i);
				sum3+=i;
			}
		}System.out.println("1-100所有尾数为7的数的和:"+sum3);
		
		//4.打印1-100所有奇数的个数
		int count = 0;
		for (int i =1;i<=100;i++) {
			if(i%2!=0) {
				count++;
			}
		}
		System.out.println("1-100所有奇数的个数:"+count);
		
		
	}
}

案例七、
package cn.tedu.basic2;
/**本类用于测试嵌套for循环*/
public class TestForDemo {
	public static void main(String[] args) {
		/**总结:外层循环执行1次(控制轮数)
		 * 内层循环执行多次(在每1轮中都会执行多次)*/
		//打印:数字1-3
		for(int i =1;i<=3;i++) {
			System.out.println("外层循环的第"+i+"轮");
			//打印:数字1-5
			for(int j =1;j<=5;j++) {
				System.out.println("内层:"+j);
			}
		}
		 
		
		//使用嵌套for循环打印三行五列***的矩形
		//*****
		//*****
		//*****
		/**总结:外层循环控制行数
		 * 内层循环控制的是每行打印的*/
		for(int i=1;i<=3;i++) {	
			
			for(int j=1;j<=5;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		
		//使用嵌套for循环打印6行的左直角三角形
		//*
		//**
		//***
		//****
		//*****
		//******
		for(int i=1;i<=6;i++) {						
			for(int j=1;j<=i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		
		
		
	}
}

案例八、
package cn.tedu.basic2;

import java.util.Scanner;

/**本类用于测试关键字break continue*/
//需求:找数字88
//提示并接收用户才的数字,用户可以累计猜100次,如果不是88,则继续猜,找到88,结束
public class TestBreakAndContinue {
	public static void main(String[] args) {
		
		int n = 4;
		if (n==4) {
			return ;//方法里碰见return 直接结束整个方法
			//System.out.println(1);  //报错  无法到达的代码 因为在return后边
		}
		//循环体可以帮助我们完成重复的事情,控制for循环执行100次
		for(int i =1 ; i <=100; i ++) {
			//在每一次循环中提示并接收用户输入的数字
			System.out.println("请输入数字:");
			int num =new Scanner(System.in).nextInt();
			if (num !=88) {//没猜对
				continue;//结束本轮循环,开始下一轮循环
				//System.out.println(1);  //报错  无法到达的代码 因为在continue后边
			}
			System.out.println("我是用来测试continue有没有跳过后面代码的");
			if(num==88) {//猜对了
				System.out.println("恭喜您猜对了!");
				break;//结束程序,遇到break 循环就结束了
				//System.out.println(1);  //报错  无法到达的代码 unreachable code   因为在break后边
				
			}
			
		}
	}
}

案例九、
package cn.tedu.basic2;
//九九乘法表
public class TestForTriangle {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {						
			for(int j=1;j<=i;j++) {
				System.out.print(j+"*"+i+"="+(i*j)+"\t");//  t 制表符   \ 转义符号 
			}
			System.out.println();
		}
		System.out.println();
	//倒置九九乘法表	
		for(int i=9;i>=1;i--) {						
			for(int j=1;j<=i;j++) {
				System.out.print(j+"*"+i+"="+(i*j)+"\t");//  t 制表符   \ 转义符号 
			}
			System.out.println();
		}
		
		
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值