Java基础笔记(2)循环,控制台输入,for循环的使用,switch case循环,while循环,二维图形打印do while循环

1.循环
没有结果只是想要执行特定的代码需要用分支
顺序结构:从上到下一条一条执行
选择结构:有选择性的执行或者跳过某段语句
循环结构:反复执行某段特定的代码
选择结构:if分支,switch分支
单分支if(){}
双分支if(){}else{}
分支嵌套,多分支if(){}else{} if(){}else{}
如果大括号中只有一条语句,则大括号可以省略
控制台输入
1.先定义scanner对象
Scanner sc = new Scanner(System.in);
2.输入内容
System.out.println(“输入内容”);
3.定义类型
int i = sc.nextInt();

==判断的是基本数据类型的数值是否相同,判断引用数据类型的内存地址是否相等
String类中的equals比较的是两个字符串的常量池中的内容是否相同
2.for循环的使用
九九乘法表打印

//九九乘法表
for(int i=1;i<=9;i++) {
    
    
			for(int j=1;j<=i;j++) {
    
    				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println("  ");
		}

在这里插入图片描述
100以内的偶数加和

//100以内的偶数加和
int sum=0;
		for(int m=0;m<=100;m++) {
    
    
			if(m%2==0) {
    
    
				sum+=m;
			}	
		}
		System.out.println(sum);

在这里插入图片描述
所有数的加和

//所有数的加和
int[] arr = {
    
    6,3,8,66,344,1};
		int sum1=0;
		for (int i : arr) {
    
    
			sum1+=i;		
		}
		System.out.println(sum1);
	

3.switch case循环
switch专门用来作等值判断
switch (变量) {
case value:
break;
default:
break;
}
输入年份及月份计算是否是闰年和月份的天数

//能整除4但是不能整除100 能整除400的是闰年
		System.out.println("请输入年份:");
		int num = sc.nextInt();
		System.err.println("请输入月份:");
		int month2 = sc.nextInt();
		if((num%4==0 && num%100==0) || num%400!=0) {
    
    
			if(month2==2) {
    
    
				System.out.println("29天");
			}else {
    
    
				System.out.println("28天");
			}
		}
		switch (month2) {
    
    
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			System.out.println("31天");
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			System.out.println("30天");
			break;
		}
	}

在这里插入图片描述
三目运算符:速度快,必须有结果
if分支即可以判断范围,也可以等值判断
switch只能做等值判断
如果范围判断:if
循环:反复执行特定的代码
4.while循环
1.定义循环变量,纪录循环次数
int i =1;
2.循环条件 每次帮助判断是否需要继续
i<10;
3.反复要被执行的内容
System.out.println(“aaa”);
4.迭代部分:更新循环变量i++

int i = 1;
		while(i<=10) {
    
    
			System.out.println("执行"+i+"次");
			System.out.println(i);
		    i++;
		}

5.do while循环
循环变量
先执行do 再执行while

int i =1;
		do {
    
    
			//循环体
			System.out.println("执行一次");
		    //迭代部分
			i++;
		} while (i<1);//循环条件

正常用:for,效率最高,不确定循环次数,循环输入,如果是指定的值则停止循环
至少能执行一次:do while
不确定循环次数:while(true){break;}

break和continue区别
break默认跳出就近原则,跳出的是jvm虚拟机
continue跳过本次循环,执行下一次循环

二维图形:外层循环控制行,内层循环控制列

for (int i = 1; i <= 4; i++) {
    
    
			for (int j = 1; j <=i; j++) {
    
    
				System.out.print("*");
			}
			System.out.println();			
		}

在这里插入图片描述

for (int i = 1; i <=4; i++) {
    
    
			for (int k = 1; k <= 4-i; k++) {
    
    
				System.out.print(" ");				
			}
			for (int j = 1; j <=2*i-1; j++) {
    
    
				System.out.print("*");
			}
			System.out.println();
		}

在这里插入图片描述
6.for循环数组

//在声明初始化数组的时候,就知道要存什么
int[] arr = new int[4];
		arr[0]=5;
		arr[1]=6;
		arr[2]=7;
		arr[3]=8;
		arr[2]=6;
int[] arr = new int[] {
    
    1,2,3,4};
int[] arr = {
    
    11,12,13,14,15};
//arr.length 数组长度 设计带有下标的操作,用普通for循环
		for (int i = 0; i < arr3.length; i++) {
    
    
			System.out.println(i);
		}
//增强for循环 i数组中元素的内容
		/*
		 *格式简介,效率更高
		 *不能拿到下标的
		 *只适用于遍历操作
		 */
		 //增强for循环遍历
		for (int num : arr) {
    
    
			System.out.println(num);
		} 

最大值

//2.最大值
		int max = arr[0];
		for (int i = 1; i < arr.length; i++) {
    
    
			if(max<arr[i]) {
    
    
				max=arr[i];
			}
		}
		System.out.println("最大值:"+max);

判断是否有某一个元素

//判断是否有某一个元素
Scanner sc = new Scanner(System.in);
		System.out.println("请输入要查找的值");
		int num = sc.nextInt();
		boolean f = false;
		for (int i = 0; i < arr.length; i++) {
    
    
			if(num==arr[i]) {
    
    
				f=true;
				break;
			}			
		}
		if(f) {
    
    
			System.out.println("存在");
		}else {
    
    
			System.out.println("不存在");
		}
	}

猜你喜欢

转载自blog.csdn.net/Echoxxxxx/article/details/112435310