Day 12.04 java学习笔记

/*
* 多分支条件语句
* if(判断条件1){
* 代码体…
* }else if(判断条件2){
* 代码体…
* }else if(判断条件3){
* 代码体…
* }else{
* 代码体…
* }
* 如果条件1成立,那么执行条件1的语句,后面的代码不在执行
* 如果条件1不成立,条件2 成立 那么执行条件2的语句,后面的代码不在执行
* 如果条件1,2都不成立,那么执行条件3的语句,后面的代码不在执行
* 如果条件1,2,3都不成立,那么执行else的语句
*/
//用随机数产生年龄
int age = (int)(Math.random()*100);

	System.out.println("年龄:"+age);
	
	if(age<=12){
		System.out.println("儿童");
	}else if(age<=18){
		System.out.println("青少年");
	}else if(age<=30){
		System.out.println("青年");
	}else if(age<=50){
		System.out.println("壮年");
	}else if(age<=70){
		System.out.println("中老年");
	}else{
		System.out.println("老年");
	}
/*
 * 多分支选择结构
 * switch(1){
 *   case 1:代码体;break; 
 *   case 2:代码体;break;
 *   case 3:代码体;break;
 *   case 4:代码体;break;
 *   ...
 *   default:代码体;
 * }
 * 
 * switch中的表达式和case后面的每一个值做等值比较
 *   匹配成功,执行后面的语句,否则,继续和后面的case做等值匹配
 *   直到匹配成功,如果case后面的每一项都没有匹配成功,那么执行default后面的语句
 *   
 *  细节:
 *   1:switch语句,可以放什么类型的值 
 *    byte,short,int,char
 *    String  jdk1.7之后可以 包括1.7
 *    enum(枚举)  jdk1.5之后可以   包括1.5
 *  2:尽量将你认为正确的case选项放在最前面,提高效率
 *  3:case后面的值不能重复
 *  4:case后面值的类型个switch中的值的类型一致
 *  5:default语句可以省略不写,但是最好加上,为了防止前面的所有case都不匹配,default可以做一个友好的提示作用
 *  6:break的作用:终止,中断,跳出switch结构
 *  7:switch结构只需匹配成功一次,后面的可以依次执行(前提是没有break)
 *  8:如果default放在第一行,除非整个switch结构中只有一条default语句,否则default不会执行
 */
	


/*
 * 1:定义初始值
 * int i = 1;
 *  2:循环的判断范围
 * while(i<=10){
 *   3 循环体..
 *    4:变量更新
 *     i++;
 * }
 * 
 * 注意:循环的变量都可以是哪种类型
 * 
 * 1:整型,浮点型,char
 * 注意:循环并没有提高代码的运行效率,只是方便程序员写很少的代码,运行相同的功能
 * 
 */
public static void main(String[] args) {
	
	/*while(true){
		
	}
	*/
	//System.out.println("我可以执行吗?");
	/*int i=1;
	while(i<=10){
		System.out.println("hello World");
		i++;
	}
	
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	System.out.println("hello World");
	*/
	
	//循环  输出1-10个数字
			//1:定义初始值 
		/*	  char i = 'A';
			 //2:循环判断条件 范围
			 while(i<='Z'){
				 //3:循环体
				 System.out.println(i);
				 //4:变量更新 (迭代更新)
				 i++;
			 }
			 
			//循环  输出10-1个数字
			 
			 int j = 10;
			 while(j>=1){
				System.out.println(j);
				j--;
			 }*/
			 
  //循环输出1-100的偶数	
/*	int i = 0;
	
	while(i<=100){
		System.out.println(i);
		i = i+2;
	}*/
  //计算1-100的累加和
	//1:定义和初始值
	/*int i = 1;
	int sum = 0; //和
	//2  范围
	while(i<=100){
		//3:循环体
		sum = sum+i;
		//4:变量更新
		i++;
		
	}
	
	System.out.println("1-100的累加和:"+sum);
	*/
	 //计算1-100的偶数和	
	/*int i = 2;
	int sum = 0; //和
	//2  范围
	while(i<=100){
		//3:循环体
		sum = sum+i;
		//4:变量更新
		i = i+2;
		
	}
	
	System.out.println("1-100的偶数和:"+sum);*/
	/*
 * 初始值
 * while(范围){
 *   循环体
 *   变量更新
 * }
 * 
 * 
 * for(初始值;范围;变量更新){
 *    循环体..
 * }
 * 
 * for循环的执行步骤
 * 1:初始化变量值
	 * 2:判断条件
	 * 3:执行循环体
	 * 4:变量更新
		 * 判断条件
		 * 执行循环体
		 * 变量更新
			 * 判断条件
			 * 执行循环体
			 * 变量更新
			 * ....
 * 
 * 
 * 注意:for循环小括号中2个分号不能少
 * 注意:如果要在循环的外边使用变量,需要将变量声明在循环的外部
 * 注意:可以声明多个变量在循环中,也可以写多个变量更新,但是范围条件只能有一个
 * 
 * 注意:while和for循环的使用场合?
 *   1:当你知道循环次数的时候,建议使用for循环
 *     当你不知道循环次数的时候,建议使用while循环
 * 注意:while循环和for循环,效率一样    
 *     
 * 
 */	
 /*
 * break和continue的用法
 * break:任何循环和switch
 * continue:循环
 * 
 * break:强行终止循环语句,后面的循环次数不再执行
 * 注意:break的后面不可以跟语句
 * 
 * continue:强行终止本次循环,后面的循环依次执行
 * 注意:continue的后面不可以跟语句
 */
public static void main(String[] args) {
	
	//依次输出1-10,当数字等于5的时候,跳出循环
	/*for(int i = 1;i<=10;i++){
		
		if(i==5){
			break;//终止循环
		}
		System.out.println(i);
	}*/
	//依次输出1-10,跳过5
	for(int i = 1;i<=10;i++){
		
		
		if(i==5){
			continue;//终止循环
		}
		System.out.println(i);
	}
	
	
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
 * 判断一个数是否是质数
 * 
 * 质数(prime number)又称素数,有无限个。
 * 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
 * 
 * 注意:
 * 优化1:加break
 * 优化2:质数开根号
 */
public static void main(String[] args) {

	
    Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个数字");
	//int prime = sc.nextInt();
	long prime = sc.nextLong();
	if(prime==2){
		System.out.println(prime+"是质数");
		return;
	}
	
	boolean flag = true;//真

	//100000056239
	//质数开根号  
	for(long i = 2;i<=Math.sqrt(prime);i++){
		if(prime%i==0){
			flag = false;
			break;//提高效率
		}
	}
	if(flag){
		System.out.println(prime+"是质数");
	}else{
		System.out.println(prime+"不是质数");
		
	}
	
	
	
	
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值