首页 > 编程语言 > 详细

Java 判断 循环

时间:2018-05-24 23:28:25      阅读:372      评论:0      收藏:0      [点我收藏+]

一、优先级

技术分享图片

1.1 先判断5>3,true 6>4 true;然后true==true ,最后是true;

1.2 6>5,true;而true和4无法比较。所以该判断出错;

1.3  和1.2比较,可以知道该比较可以正常进行

1.4 错误,

1.5 >号优先级要高于=。所以先判断b>false ,这个无法判断。所以错误

1.6 先判断a和b true 或者false,但是true和false 没法比较大小,所以也错误。

 

2、浮点数判断大小

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		double a=1.0;
		double b=0.2+0.2+0.2+0.2+0.2;
		double c=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
		System.out.println("a="+a);
		System.out.println("b="+b);
		System.out.println("c="+c);
		System.out.println(a==c);//浮点数直接判断相等很容易出错
		System.out.println(Math.abs(a-c)<1e-6);//差值和很小的一个数比较
	}
}

技术分享图片

明显看到c逼近1,但是不是1,所以直接判断a==c,false ;

浮点数比较是要用差值比较。

3、

技术分享图片

4、

技术分享图片

switch 遇到break才退出,否则会越过case 继续做下一个case的任务。

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int a=1;
		switch(a)
		{
		case 1:
		case 2:
			System.out.println("您好");
		case 3:
			System.out.println("晚上好");
			break;
		default:
			System.out.println("再见");
			break;
		}
	}
}

技术分享图片

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int a=4;
		switch(a)
		{
		default:
			System.out.println("再见");
		case 1:
		case 2:
			System.out.println("您好");
		case 3:
			System.out.println("晚上好");
			break;
		}
	}
}

技术分享图片

 二、循环

2.1

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int num=in.nextInt();
		int n=0;
		while(num!=0)
		{
			n++;
			num=num/10;
		}
		System.out.println(n);
	}
}

技术分享图片

技术分享图片

输入为0时是有问题的。

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int num;
		int n=0;
		num=in.nextInt();
		do
		{
		    n++;
			num=num/10;
		}
		while(num!=0);//分号别忘了
		System.out.println(n);
	}
}

技术分享图片

2.2 

技术分享图片

package hello;
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int num=(int)(Math.random()*100);//生成随机数
		int i=1;//次数
		int n;
		n=in.nextInt();
		while(n!=num)
		{
			if(n>num)
			{
				System.out.println("大了");
			}
			else
			{
				System.out.println("小了");
			}
			n=in.nextInt();
			i++;
		}
		System.out.println("随机数为:"+num+",猜了"+i+"次。");
	}
}

技术分享图片

 

三、循环控制

int 4个字节,4*8=32位。表示的最大数2^31-1,最小数-2^31。

3.1

技术分享图片

package hello;
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		System.out.println("100以内素数有:");
		int num=0;
		for(int i=2;i<=100;i++)
		{
			int flag=0;//素数标志
			for(int j=2;j<=(int)Math.sqrt(i);j++)
			{
				if(i%j==0)//不是素数
				{
					flag=1;//不是素数
					break;
				}
			}
			if(flag==0)//素数
			{
				num++;
				System.out.println(i);
			}
		}
		System.out.println("100以内素数个数为:"+num);
	}
}

技术分享图片

 3.2

枚举方法求多种情况。

package hello;
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int amount = in.nextInt();//总钱数
		for ( int one = 0; one <=amount; ++one )//1块钱从1到33张
		{
			for ( int five = 0; five <= amount/5; ++five )//5块钱 从1到6张
			{
				for ( int ten = 0; ten <= amount/10; ++ten )//10块钱 从1到3张
				{
					for ( int twenty = 0; twenty <= amount/20; ++twenty )//20块钱 1张
					{
						if ( one+five*5+ten*10+twenty*20 == amount )
						{
							System.out.println(one+"张1元,"+five+"张5元,"+ten+"张10元,"+twenty+"张20元-->"+amount);
						}
					}
				}
			}
        }
    }
}

技术分享图片

多个循环跳出

 

 

 

  

  

 

  

  

  

  

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

Java 判断 循环

原文:https://www.cnblogs.com/ruo-li-suo-yi/p/9085600.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!