字符串&选择控制语句&循环语句

字符串内容比较

	例题:键盘接收用户的名字和密码做登录功能: 如果用户名与laopei,密码0523相同就是登录成功,不同就是登录失败。

	题目特点:用户输入字符串,选择比较字符串。

	注意点:字符串在比较是否相等时,用==有可能会出错,可以直接使用字符串的equals方法。

import java.util.Scanner;
public class Demo01 { 
	public static void main(String[] args){ 
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您的用户名");
		String username = sc.nextLine();
		System.out.println("请输入您的密码");
		String pwd = sc.nextLine();
		//字符串在比较是否相等时,用==有可能会出错,可以直接使用字符串的equals方法。
		if( username.equals("laopei") && pwd.equals("0523") ){
			System.out.println("登陆成功");
		}else{
			System.out.println("登陆失败");
		}
			
	} 
}

满足多种条件题的两种可行解法

	例题:
	一共有三个条件
	满足三个条  --》  糕富帅  
	满足任意两个条件   --》  暖男
	满足任意一个条件  --》 潜力股
	都不满足  --》 屌丝
	键盘输入每个条件需要的内容的值,进行判断,输出对应的人品值(高富帅,暖男..)

	题目特点:用户输入条件值;

			  一共有三个条件,条件满足情况有4种。

	注意点:这一类问题有两种解决方法。

			方法一:利用if选择控制语句,通过多次的选择进行判定。

			方法二:利用计数器

import java.util.Scanner;
public class Demo02 { 
	
	public static void main(String[] args){ 
	
		System.out.println("==========方法一===============");
		Scanner sc = new Scanner(System.in);
		System.out.println("你的分数");
		int x = sc.nextInt();
		System.out.println("仨标准");
		int x1 = sc.nextInt();
		int x2 = sc.nextInt();
		int x3 = sc.nextInt();
		if(x>x1&&x>x2&&x>x3){
			System.out.println("你可真是个可爱的高富帅啊");
		}else if(x>x1){
			if(x>x2||x>x3){
				System.out.println("你可真是个可爱的暖男啊");
			}else{
				
					System.out.println("潜力股");
			}
		}else{
			if(x>x2&&x>x3){
				System.out.println("你可真是个可爱的暖男啊");
			}else if(x<=x2&&x<=x3){
				System.out.println("渣男");
			}else{
				System.out.println("潜力股");
			}
			
		}
		System.out.println("==========方法二===============");
		int count=0;
		if(x>x1){
			count++;
			
		}
		if(x>x2){
				count++;
		}
		if(x>x3){
				count++;
		}
		switch(count){
			case 0:
				System.out.println("渣男");
				break;
			case 1:
				System.out.println("潜力股");
				break;
			case 2:
				System.out.println("暖男");
				break;
			case 3:
				System.out.println("你可真是个可爱的高富帅啊");
				break;
			
		}
	
	}

}

Math类

JAVA中的Math类

		即数学类,包含一些数学功能的操作。

		Math.random();   产生[0.0,1.0)之间的随机数。通过乘以某值来改变区间范围大小。

												通过加最小值来移动区间。

		Math.round();    四舍五入取值

		Math.max();        取最大值

		Math.min();         取最小值

循环语句

for循环语句

形式:

for(条件初始化;条件判断|执行条件;条件的变化){
	方法体;
}

for循环时次数循环。

while循环语句和do…while循环语句

形式

while(条件判断|执行条件){
    方法体;
    //方法体内应该有他的条件变化表达式
}
====================================================================
do{
    方法体;
    //方法体内应该有他的条件变化表达式
}while(条件判断|执行条件)

while和do…while是条件循环。

个人理解:让while仅循环一次,做条件判断,有时可以起到if选择控制语句的效果。

continue和break

break
	应用场景: switch 循环
	作用: 终止,结束

continue
	应用场景: 循环
	作用: 结束本次循环,直接进入到下一次循环

break和continue可以灵活的调节循环操作,可以实现跳过某循环/终止无限循环等功能。

例题:	A: 输出前五个1~100之间3的倍数
		B: 输出除了4和6以外的1~10之间的数

题目特点:A题是在满足条件后提前结束循环

		  B题是在循环中跳过某两次循环。

public class Demo03 { 
	public static void main(String[] args){ 
		int count=0;
		for(int i=1;i<=100;i++){
			if(i%3==0){
				System.out.println(i);
				count++;
			}
			if(count==5){
				break;
			}
		}
		for(int i=1;i<=10;i++){
			if(i==4||i==6){
				continue;
			}else{
				System.out.println(i);
			}
		}

	}

}

循环嵌套

在循环中嵌套使用循环。

例题:打印一个方正五角星型

		* * * * *
		* * * * *
		* * * * *
		* * * * *

解析:本体有两种方法:

		方法一:单循环,利用计数器,在每次输出5个*后,进行换行操作。

		方法二:循环嵌套,利用两个循环,表达行和列,坐标式输出。

			个人理解:在解决图形问题时,循环嵌套类似于形成坐标轴,形成多维界面;

					在解决非图形问题时,循环嵌套中的循环可以是从问题的多个解决问题要点。

	//方法一:	
		int count=0;
		for(int i=1;i<=25;i++){
			System.out.print("* ");
			count++;
			if(count%5==0){
				System.out.println();
			}
		}
		
	//方法二:外层循环i控制行  内层循环j控制列
		for(int i=1;i<=5;i++){
			for(int j=1;j<=5;j++){
				System.out.print("* ");
			}
			//换行
			System.out.println();
		}

练习收藏:

  1. public class Work1 { 
    	
    	public static void main(String[] args){ 
    		boolean m = false;
    			if(m=true){
    		System.out.println("false");
    		}else{
    		System.out.println("true");
    		System.out.println(m);
    			}		
    
    		
    	} 
    }
    

    执行结果为:false
    这一题的操作分两步:1.m=true 2.if(m)
    2.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

    System.out.println("请输入一个整数");
    		int x3 = sc.nextInt();
    		String result = Integer.toBinaryString(x3);
    		System.out.println(result);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值