java复习笔记————总结最基础的流程控制

1.条件判断语句

		//if语句如果条件为真则执行{}中的语句,或只有一条语句可以不写{}
		int i=0;
		if(i>=0) {
			System.out.println("i>0");
		}
		//或者,注意如果有多条语句一定要加上{}
		if(i>=0) 
			System.out.println(i);
		
		//if 以及 else if先从if判断若if()中的条件为真则执行if中的语句,如果不为真,则判断else if中的条件是否为真
		if(i<0) {
			System.out.println("i<0");
		}else if(i>=0) {
			System.out.println("i>=0");
		}
		
		//if else if else语句就是在一次进行条件判断为真则执行,如果判断为真下面的都不再判断
		i=2008;
		if (i<2000) {
			System.out.println("i<2000");
		} else if(i<2008){
			System.out.println("i<2008同时i>2000");
		}else if(i==2008) {
			System.out.println("i=2008");
		}else
			System.out.println("i>2008");

2.选择语句

		//switch case选择语句进行从上到下的判断,switch(key)传入要判断的参数,case后面的value值,相当于不同的情况
		int day=3;
		switch (day) {
		case 1:	
			System.out.println();
			break;
		case 2:	
			System.out.println();
			break;
		case 3:	
			System.out.println();
			break;
		default:
			break;
		}
		

3.循环语句

//		1.初始值
//		2.循环条件
//		3.变化方向
//		4.结构体
		//for循环
		//写法一:
		for( i=0;i<10;i++) {
			System.out.println(i);
		}
		//写法二:
		int j = 0;//作为全局变量
		for (; j < 10; j++) {
			
		}
		//写法三:
		for (j = 0; j < 10; ) {
			if(条件) {
				j++;
			}
		}
		
		while(条件) {//先判断再执行   若条件为true则为死循环,需要自己给出break条件
			
		}
		
		do {
			
		}while(条件)//先执行再判断

4.break与continue的区别

break:退出最近的循环体
continue:结束当前循环,进入下一次循环

5.一些简单的举例

import java.util.ArrayList;
import java.util.List;

public class test {
	public static void main(String[] args) {
		//cf();单循环打印九九乘法表。
		//ss();打印10000以内所有的素数。
		//fjzys(90); 输入一个正整数,打印分解质因数的结果。例如:输入90,打印出90=2*3*3*5。
		//days(2000, 2, 1);输入一个年月日,判断是这一年的第几天。
		//lx(5);用 * 打印实心、空心菱形。
		//cal("123aaabbb  **");分析字符串中的内容,统计字母、数字、空格、其他出现的次数。
		//duanwei(765)设计排位积分段位,打印你们自己的段位,要真实!!!
	}
	//1. 单循环打印九九乘法表。
	public static void cf(){
		int j=1;
		for (int i = 1; i <= 9&&j<=i; j++) {
			System.out.print(i+"*"+j+"="+i*j+"  ");
			if(i==j) {
				j=0;
				i++;
				System.out.println();
			}
		}
	}
	//2. 打印10000以内所有的素数。
	public static void ss() {
		long num=10000;
		List<Integer> list=new ArrayList<Integer>();
		list.add(2);
		list.add(3);
		list.add(6);
		for (int i = 7; i <=num; i+=((i+2)%5==0)?4:2) {
			int m=0;
				for (int j =0; j <list.size(); j++) {
					if (i%list.get(j)==0) {
						m=1;
						break;
					}
				}
				if (m==0) {
					System.out.println(i);
					list.add(i);
				}
		}
	}
	
	
	//3. 输入一个正整数,打印分解质因数的结果。例如:输入90,打印出90=2*3*3*5。
	public static void fjzys(int num) {
		int a=num;
		int i=2;
		System.out.print(num+"=");
		while(a!=1) {
			if(a%i==0) {
				if(a/i!=1)
					System.out.print(i+"*");
				else {
					System.out.print(i);
				}
				a=a/i;
				if(a%i!=0) {
					i++;
				}
			}else {
				i++;
			}
			
		}
	}
	
	
	//4. 输入一个年月日,判断是这一年的第几天。
	public static void days(int year,int month,int day){
		int day2;
		if(year%4==0&&year%100!=0||year%400==0) {
			day2=28;
		}else 
			day2=29;
		
		switch (month) {
		case 1:	
			System.out.println(day);
			break;
		case 2:	
			System.out.println(31+day);
			break;
		case 3:
			System.out.println(31+day2+day);
			break;
		case 4:	
			System.out.println(31+day2+31+day);
			break;
		case 5:
			System.out.println(31+day2+31+30+day);
			break;
		case 6:	
			System.out.println(31+day2+31+30+31+day);
			break;
		case 7:	
			System.out.println(31+day2+31+30+31+30+day);
			break;
		case 8:
			System.out.println(31+day2+31+30+31+30+31+day);
			break;
		case 9:	
			System.out.println(31+day2+31+30+31+30+31+31+day);
			break;
		case 10:
			System.out.println(31+day2+31+30+31+30+31+31+30+day);
			break;
		case 11:
			System.out.println(31+day2+31+30+31+30+31+31+30+31+day);
			break;
		case 12:	
			System.out.println(31+day2+31+30+31+30+31+31+30+31+30+day);
			break;
		}
	}	
	
	
	//5. 用 * 打印实心、空心菱形。
	public static void lx(int r){
		for (int i = 2*r; i >=0; i--) {
			for (int j = 0; j <=2*r; j++) {
				if(i+j==r||j-i==r||i-j==r||i+j==3*r) {
					System.out.print("*"+" ");
				}else
					System.out.print(" "+" ");
			}
			System.out.println();
		}
		//i+j>=r&&(j-i)<=r&&(i-j)>=r&&(i+j)<=3*r
		for (int i = 2*r; i >=0; i--) {
			for (int j = 0; j <=2*r; j++) {
				if(i+j>=r&&(j-i)<=r&&(i-j)<=r&&(i+j)<=3*r) {
					System.out.print("*"+" ");
				}else
					System.out.print(" "+" ");
			}
			System.out.println();
		}
	}
	
	//6. 分析字符串中的内容,统计字母、数字、空格、其他出现的次数。
	public static void cal(String str) {
		int nums=0;
		int chars=0;
		int ks=0;
		int els=0;
		for (int i = 0; i < str.length(); i++) {
			char str1=str.charAt(i);
			if(str1>='0'&&str1<='9') {
				nums++;
			}else if(str1>='a'&&str1<='z'||str1>='A'&&str1<='Z') {
				chars++;
			}else if(str1==' ') {
				ks++;
			}else
				els++;
		}
		System.out.println("数字个数为:"+nums);
		System.out.println("字母个数为:"+chars);
		System.out.println("空格个数为:"+ks);
		System.out.println("其他个数为:"+els);
	}
	
	
	//7. 设计排位积分段位,打印你们自己的段位,要真实!!!
	public static void duanwei(int num) {
		if(num>=1000) {
			System.out.println("王者大佬");
		}else if(num>=800) {
			System.out.println("超凡大师");
		}else if(num>=600) {
			System.out.println("璀璨钻石");
		}else if(num>=400) {
			System.out.println("华贵铂金");
		}else if(num>=300) {
			System.out.println("黄金");
		}else if(num>=200) {
			System.out.println("白银");
		}else if(num>=100) {
			System.out.println("倔强青铜");
		}else {
			System.out.println("破铜烂铁");
		}
		
		
	}
}
原创文章 73 获赞 64 访问量 2733

猜你喜欢

转载自blog.csdn.net/qq_42147171/article/details/105075614