Java自学笔记Day05

Day05

java语句

for语句

/*
A: for 语句的基本格式
		for ( 初始化表达式;条件表达式;循环后的操作表达式){
			循环体;
		}
B: 执行流程
		* a 执行初始化语句;
		* b 执行条件判断语句,看其返回值是true还是false;
			* 如果是true则继续执行;
			* false则结束循环;
		* c 执行循环体语句;
		* d 执行循环后的操作表达式;
		* e 回到b继续执行;
C:案例演示
		*在控制台输出10次"helloworld"
*/
class Demo1_for
{
	public static void main(String[] args) 
	{
		int i;
		for (i = 0; i < 10 ; i++){
			System.out.println("HelloWorld");
		}
	}
}
/*
for语句注意事项
	*a: 判断条件语句无论简单还是复杂都是boolean;
	*b: 循环体语句如果是一条语句,大括号可以省略,但如果是多条则不能省略,但建议不省略;
	*c: 一般来说有左大括号就没有分号,有分号就没有左大括号;
*/

while语句

/*
*A: while语句的基本格式
		初始化语句
	    while(判断条件语句){
			循环体语句;
			控制条件语句
		}
*B: while语句的执行流程
		*a :初始化语句;
		*b :执行条件判断语句,看其返回值是true还是false;
			*true则继续执行;
			*false 则结束循环;
		*c :执行循环体语句;'
		*d :执行控制条件语句;
		*e :回到b继续执行;
*/
class Demo1_While
{
	public static void main(String[] args) 
	{
		int x = 1;
		while (x <=10)
		{	System.out.println("x = " + x);
			x++;
		}
	}
}

do …while语句

/*
*A: do...while语句的基本格式
		初始化语句
	   do{
			循环体语句;
			控制条件语句
		}while(判断条件语句);
*B: while语句的执行流程
		*a :初始化语句;
		*b :执行循环体语句;'
		*c :执行控制条件语句;
		*d :执行条件判断语句,看其返回值是true还是false;
			*true则继续执行;
			*false 则结束循环;
		*e :回到b继续执行;
*C: 案例演示:
    输出1-10;
*/
class Demo1_DoWhile
{
	public static void main(String[] args) 
	{	int x = 1;
		do
		{	System.out.println("x = " + x);
			x++;
		}
		while (x <= 10);
	}
}

for语句,do…while语句,while语句之间的区别:

*do...while语句至少执行一次循环体;
*而for语句和while语句循环体执行前,必须先判断条件是否成立;
*for语句执行后,变量会被释放;while语句执行结束后,变量不会被释放,可继续使用.

java语言中循环语句的注意事项:

A: 一定要注意控制条件语句的变量,弄对后容易造成死循环;
B: 两种简单的死循环模式:
	*while(true)(.....);
	*for( ; ;) {.......};

练习

//打印四行五列的星星
//print 单行打印;println换行打印
class Demo1_ForFor 
{
	public static void main(String[] args) 
	{
		for (int i = 1 ; i <=4 ; i++ )				//外循环决定行数
		{
			for (int j = 1 ; j <= 5 ; j++ )			//内循环决定列数
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
//九九乘法表
/* 代码优化
	'\x' x表示任意,\是转义符号,这种做法叫转义字符;
	'\t'  tab键的位置;
	'\r'  回车
	'\n'  换行
	'\"'  转义双引号
	'\''  转义单引号
*/
class Test1_ForFor 
{
	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');
			}
			System.out.println();
		}
	}
}

控制跳转语句

/*
A: break的使用场景
	*只能在switch和循环中使用
*/
/*
A: continue的使用场景		//终止本次循环,然后执行循环后的表达式
	*只能在循环中使用;
*/

class Demo2_Continue
{
	public static void main(String[] args) 
	{
		for (int x = 1;x <= 10;x++ )
		{
			if (x ==4)
			{
				continue;
			}
			System.out.println("x = " + x);
		}
	}
}
//控制跳转语句标号
/*
例如:http://www.baidu.com
http: 是标号;
//www.baidu.com 是单行注释;
*/
class Demo3_Mark										//	mark标记
{
	public static void main(String[] args) 
	{
		a: for (int i =1;i <= 10; i++ )					//a是标号,只要是合法的标识符就行
		{
			System.out.println("x = " + i);
			b: for ( int j = 1; j <=10 ; j++ )
			{
				System.out.println("j = " + j);
				break a;
			}
		}
	}
}

练习

//不改变i的范围,输出13次怕是个傻子
class Test 
{
	public static void main(String[] args) 
	{
		for (int i =1; i <=10 ;i++ )
		{
			if (i %3 ==0)
			{
				//break        输出两次;
				//continue;    输出7次
				System.out.println("怕是个傻子");
			}
			System.out.println("怕是个傻子");
		}
	}
}
class Demo4_Return			//返回主方法
{
	public static void main(String[] args) 
	{
		for (int i = 1; i <= 10 ;i++ )
		{
			if (i == 4)
			{
				return;
			}
		}
		System.out.println("循环结束");
	}
}
/*break,continue,return的区别:
*return是结束方法;
*break是跳出循环;
*continue是终止本次循环不继续下次循环*/

方法的概述和学习

A:为什么要有方法?
	提高代码的复用性;
B:什么是方法?
	完成特定功能的代码块;
C:方法的格式
	*修饰符 返回值类型 方法名(参数类型 参数名1; 参数类型 参数名2....){
		方法体语句;
		return 返回值;
	}
D: 方法的格式说明
	*修饰符:开始阶段暂用public static ,后面继续学习;
	*返回值类型:就是功能结果的数据类型;
	*参数:
		实际参数:就是实际参与运算的;
		*形式参数:就是方法定义上的,用于接收实际参数的;
	*参数类型:就是参数的数据类型;
	*方法体语句:就是完成功能的代码;
	*return :结束方法的;
	*返回值:就是功能的结果.return传递给调用者;
E: 注意事项
	*有返回值的方法的单独调用,没有意义
	*方法不调用不执行,
	*方法与方法之间是平行关系,不能嵌套;
	*方法定义的时候,参数之间用逗号隔开;
	*方法调用的时候不用再传递参数;
	*如果方法有明确的返回,一定要用return返回.
    *如果返回值是void,return可以省略
	*返回值是void的方法只能单独调用
	
举例
/*
	求两个整数的和
	1.整数的和还是整数;
	2.有两个未知内容参与运算

	如何写方法
	1.明确返回值类型
	*/
	
import java.util.Scanner;
class Demo2_Sum 
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个字符串");
		String x = sc.nextLine();
		System.out.println("请输入第二个字符串");
		String y = sc.nextLine();
		String sum = add(x, y);
		System.out.println("两个字符串相连是" + '\n' +sum);
	}
	public static String add(String a, String b){
		String sum = a + b;
		return sum;
		}
}

练习
	/*
案例演示:
	A:键盘键入两个数,返回两个数据中的较大值;
	B:键盘录入两个数据,比较这两个数据是否相等;
*/
import java.util.Scanner;
class Test1_Method 
{
	public static void main(String[] args)					
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个整数");
		int x = sc.nextInt();								//键盘录入的第一个数存进x
		System.out.println("请输入第二个整数");
		int y = sc.nextInt();								//键盘录入的第二个数存进y
		int max = getMax(x, y);
		System.out.println("两个数中较大的是" + max);
		boolean b1 = isEquals(x, y);
		System.out.println("两个数相等是" + b1);
	}
	//返回两个整数的较大值
	public static int getMax(int a ,int b){
		return(a > b )? a : b;
	}
	//比较两个数是否相等
	public static boolean isEquals(int c ,int d){
		return c == d;
	}
}
/*注意事项
如果返回值是void,return可以省略
返回值是void的方法只能单独调用
*/
/*
案例演示:
	根据键盘录入的行数和列数,在控制台输出星型
*/
import java.util.Scanner;
class  Test4_Method
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入行数");
		int row = sc.nextInt();
		System.out.println("请输入列数");
		int column = sc.nextInt();
		print(row, column);
		//System.out.println(print(row,column));			//此处不允许使用 '空' 类型
	}

	/*
	在控制台输出星星
	1.没有具体的返回值类型,void;
	2.明确参数列表:行数和列数
	*/

	public static void print(int a ,int b){
		for (int i = 1; i <= a ; i++ )
		{
			for (int j = 1; j <= b ;j++ )
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

//调用方法打印九九乘法表
import java.util.Scanner;
class Test3_method
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("请录入一个1~9之间的数");
		int num = sc.nextInt();
		print99(num);
	}
	
	//打印九九乘法表
	public static void print99(int a){
		for (int i =1; i <= a ;i++ )			//行数
		{
			for (int j = 1; j <= i; j++ )		//列数
			{
				System.out.print(i + "*" + j + "=" + (i * j) + '\t');
			}
			System.out.println();
		}
	}
}

方法重载
//重载:方法名相同,参数列表不同,与返回值类型无关
/* 重载的分类
	1.参数个数不同;
	2.参数类型不同;
		*顺序不同
*/
class Demo4_OverLoad 
{
	public static void main(String[] args) 
	{
		int sum1 = add(20,30);
		double sum2 = add(30,40,50);
		System.out.println(sum1);
		System.out.println(sum2);
	}

	/*求两个整数的和
	1.返回值类型 int
	2.参数列表 int a ,int b;
	*/
	public static int add(int a ,int b){
		return a + b;
	}

	public static int add(int a ,int b, int c){
		return a + b +c;
	}
  
}

猜你喜欢

转载自blog.csdn.net/weixin_43597282/article/details/88837782