【Java 基础】第四课:流程控制+变量+方法

一:循环结构2-While

先判断,再执行。

练习一:猜数字

public class Test5_CassNum {
	
	public static void main(String[] args) {
		Random rand=new Random();
		Scanner scan=new Scanner(System.in);
		int c=rand.nextInt(50);
		int d;
		while(true) {
			d=scan.nextInt();
			if(d>c) {
				System.out.println("大了");
			}else if(d<c){
				System.out.println("小了");
			}else {
				System.out.println("对了");
				break;
			}
			
			
		}
	}

}

二:循环结构三-do While

先执行,再判断

do{

       代码…

}while(执行条件);

三:变量

可以改变的数,称为变量。一般通过三部分来描述一个变量。变量类型,变量名,变量值。其中三部分都是可以改变的,根据需要来确定即可。

变量的使用原则:就近原则。尽量控制到最小范围。。

局部变量:局部变量定义在方法中,方法执行完毕,会随着方法消失。必须手动赋值才能用,否则报错。

成员变量:成员变量定义在类中,类消失才会消失。无需赋值就可以用,会有默认值。

四:拓展

三种循环的区别:

三种循环都是可以相互替代的,但是

for循环一般是知道循环次数的时候用。

while循环一般是不知道循环次数,但知道循环条件的时候用。

do-while循环,一般是无论条件如何,限执行一次的时候用。

五:方法

被命名的代码块,可以含参数,也可以不含参数,方法可以提高代码的复用性。

练习一:方法的调用(无参数,无返回值)

这个方法执行结果是:1 2 4 5 6 3

原因是它的执行顺序,限执行main方法中的两个输出语句,在执行method方法,在method方法中,有三个输出语句,执行之后再执行main方法中的第三个输出语句。

这里的main方法是用static修饰的,被static修饰的方法在运行的时候是会被优先加载的,所以如果method方法如果不加static的话,会因为找不到方法而报错。也就是静态方法只能调用静态方法,普通方法既能调用静态方法,也能调用普通方法。如果不想将method方法写为静态的话,就需要把类Test2_Method进行实例化,然后用类进行调用。

public class Test2_Method {
	public static void main(String[] args) {
		System.out.println(1);
		System.out.println(2);
		//调用方法
		method();
		System.out.println(3);
	}
	public static void method() {
		// TODO Auto-generated method stub
		System.out.println(4);
		System.out.println(5);
		System.out.println(6);
	}
	
}

练习二:方法的调用(有参数,无返回值)

public class Test3_Method {
	public static void main(String[] args) {
		//求平方
		method(7);
	}
	/**
	 * 求平方
	 * */
	private static void method(int i) {
		i=i*i;
		// TODO Auto-generated method stub
			System.out.println(i);
	}
}

练习三:方法的调用(有参数,有返回值)

public class Test4_Method {
	public static void main(String[] args) {
		//求和
		int sum=sum(5,10);
		int sum1=sum(5,10,15);
		String sum2=add3("jack",1,2);
		//产生随机数
		int rand=rand(100);
		System.out.println(sum);
		System.out.println(sum1);
		System.out.println(sum2);
		System.out.println(rand);
	}
	private static int rand(int i) {
		// TODO Auto-generated method stub
		Random rand=new Random();
		return rand.nextInt(i);
	}
	private static String add3(String s, int i, int j) {
		// TODO Auto-generated method stub		
		return s+i+j;
	}
	private static int sum(int i, int j) {
		// TODO Auto-generated method stub
		return i+j;
	}
	private static int sum(int i, int j,int k) {
		// TODO Auto-generated method stub
		return i+j+k;
	}
}

方法的重载:是指,在一个类里的现象,存在多个同名的方法,但是参数必须不同,可以个数相同但是类型不同,也可以个数不同。

目的:为了体现程序的灵活性,对外提供多个同名方法,为了方便外界的使用。

练习一:求和

public class Test6_Overlode {
	
	public static void main(String[] args) {
		add(1,2);
		add(1.0, 2.0);
		add("jack",1,2);
		add(1,2,"jack");
	}

	/**
	 * 数字求和
	 * 给两个整数求和
	 * */
	public static void add(int a,int b) {
		
		System.out.println(a+b);
	}
	
	/**
	 * 数字求和
	 * 给两个小数求和
	 * */
	public static void add(double a,double b) {
		
		System.out.println(a+b);
	}
	
	/**
	 * 数字求和
	 * 带字符串求和1
	 * */
	public static void add(String a,int b,int c) {
		
		System.out.println(a+b+c);
	}
	
	/**
	 * 数字求和
	 * 带字符串的求和2
	 * */
	public static void add(int a,int b,String c) {
		
		System.out.println(a+b+c);
	}
	
	
}

结果:

练习二:数据打印

public class Test7_Overload2 {
	public static void main(String[] args) {
		print(1);
		print(1.1);
		print(false);
		print("jack");
	}

	/**
	 * 数据打印
	 * 打印整数
	 * */
	public static void print(int a) {
		System.out.println(a);
	}
	
	/**
	 * 数据打印
	 * 打印小数
	 * */
	public static void print(double a) {
		System.out.println(a);
	}
	
	/**
	 * 数据打印
	 * 打印布尔
	 * */
	public static void print(Boolean a) {
		System.out.println(a);
	}
	
	/**
	 * 数据打印
	 * 打印字符串
	 * */
	public static void print(String a) {
		System.out.println(a);
	}
}

结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值