字符串内容比较
例题:键盘接收用户的名字和密码做登录功能: 如果用户名与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();
}
练习收藏:
-
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);