判断语句
判断一个年份是否为闰年 ★能被4整除,但不能被100整除或能被400整除
Scanner input = new Scanner(System.in);
System.out.println("Please input a year:");
int year = input.nextInt();
if(year%4==0 && year%100!=0||year%400==0){
System.out.println("This is a LeapYear");
}else{
System.out.println("This is not a LeapYear");
}
判断一个整数是否是水仙花数
所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 ★
Scanner input = new Scanner(System.in);
System.out.println("请输入一个三位数字:");
int num = input.nextInt();
int ge = num%10;//个
int shi = num/10%10;//十
int bai = num/100;//百
if(num>=100&&num<=999){
//方式一
/*
if( num == ge*ge*ge+shi*shi*shi+bai*bai*bai){//水仙花
System.out.println("是");
}else{
System.out.println("不是");
}*/
//方式二:
if( num == Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3)){//水仙花
System.out.println("是");
}else{
System.out.println("不是");
}
}else{
System.out.println("不是一个有效的三位数");
}
保存用户名和密码,判断用户名是否为“张三”,密码是否为1234,如果是,提示登录成功,否则提示登录失败 ★
== 可以用于比较两个基本类型或两个引用类型
如果比较基本类型,判断的是值(内容)是否相等。要求:两个操作数的类型一致或兼容。
示例: 100==100.0 true 'a'==97 true
如果比较引用类型,判断的是地址是否相等 (所以一般来讲,不用它去判断),可以使用equals方法去判断内容
示例:string1.equals(string2) 结果为:boolean类型;
代码:
Scanner input = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = input.next();
System.out.println("请输入密码:");
String pwd = input.next();
//if(name==""&&pwd=="1234"){//此处输出结果为false
if(name.equals("张三")&&pwd.equals("1234")){
//equals判断引用类型是否相等
System.out.println("登录成功");
}else{
System.out.println("登录失败");
}
编写程序,根据输入的月份和年份,求出该月的天数(1-12)【switch题目】 ★
1/3/5/7/8/10/12 ————31
2——29/28
其他——30
输入年、月、日,求该天为该年的第几天
switch循环
代码
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();
System.out.print("请输入月份:");
int month = input.nextInt();
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:System.out.println(31);break;
case 2:
if(year%4==0 && year%100!=0||year%400==0){
System.out.println("This is a LeapYear");
}else{
System.out.println("This is not a LeapYear");
}
break;
default:
System.out.println(30);break;
}
在JAVA中,以下程序的输出结果为()。
boolean b1=false,b2=false;
if((b1=2>3) && (b2=5>0)){
System.out.print("(b1=2>3) && (b2=5>0)为真");
}
System.out.print("b1="+b1+";b2="+b2);
答案:
false false
在java中,运行下面的代码输出的结果是()。
int x = 1;
int y = 2;
x += y+y;x=x+(y+y);x=5
if(x < 5 && y <=4){
System.out.println("1");
}else if(x >= 5 || y>4){
System.out.println("2");
}else{
System.out.println("error");
}
答案:
2
输出所有的水仙花数,所谓水仙花数是指一个3 位数,其各个位上数字立方和等于其本身。 例如: 153 = 111 + 333 + 555
for(int i=100;i<=999;i++){
//循环操作
int ge = i%10;
int shi = i/10%10;
int bai = i/100;
//①先判断水仙花数是否满足
if( i == Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3))
//②打印
System.out.println(i);
}
循环语句
打印3个班,每个班5名同学的平均分【嵌套循环】
Scanner input = new Scanner(System.in);
double result = 0;//所有的成绩和
for(int i=1;i<=3;i++){//i:班级数
double sum = 0;//一个班的成绩和
for(int j=1;j<=5;j++){//j:每个班级的学生数
//循环操作
//1.提示输入
System.out.print("请输入第"+j+"名同学成绩:");
//2.输入
double score = input.nextDouble();
//3.求和
sum+=score;
result+=score;
}
//result+=sum;
System.out.println("第"+i+"个班的平均分:"+(sum/5));
}
System.out.println(result/15);
打印图形:
*
**
***
for(int i=1;i<=10;i++){//i:控制行数
//①打印*
for(int j=1;j<=i;j++){//j:控制*的个数
System.out.print("*");//控制打印内容
}
//②换行
System.out.println();
}
打印99乘法表
for(int i=1;i<=9;i++){//i:控制行数
//①打印*
for(int j=1;j<=i;j++){//j:控制*的个数
System.out.print(i+"*"+j+"="+i*j+" ");//控制打印内容
}
//②换行
System.out.println();
}
案例:输入10名学生的年龄,统计>18岁的人数
请输入第x名学生的年龄:xx 判断年龄>18 ,如果是,则统计上
请输入第x名学生的年龄:xx
请输入第x名学生的年龄:xx
请输入第x名学生的年龄:xx
。。。
请输入第x名学生的年龄:xx
代码
Scanner input = new Scanner(System.in);
int count = 0;//统计个数
int i=1;
while(i<=10){
//循环操作
//1.提示打印
System.out.print("请输入第"+i+"名学生的年龄:");
//2.接收键盘输入
int age = input.nextInt();
//3.判断
if(age>18){
//4.统计
count++;
}
i++;
}
System.out.println("一共有"+count+"个");
打印1-100之间13的倍数,使用continue语句
for(int i=1;i<=100;i++){
if(i%13!=0)
continue;
System.out.println(i);
}
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
Scanner input = new Scanner(System.in);
int countPositive = 0;//正数的个数
int countNegative = 0;//负数的个数
while(true){
//循环操作
System.out.print("请输入:");
int num = input.nextInt();
if(num==0)
break;
if(num>0){
countPositive++;
continue;
}
countNegative++;
}
System.out.println("正数的个数:"+countPositive);
System.out.println("负数的个数:"+countNegative);
输入年月日,判断该日是当年的第几天
Scanner input = new Scanner(System.in);
System.out.print("please input year:");
int year= input.nextInt();
System.out.print("please input month:");
int month= input.nextInt();
System.out.print("please input day:");
int day= input.nextInt();
/*
int sum=0;//保存天数和
for(int i=1;i<month;i++){//i:代表每一个月
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:sum+=31;break;
case 2:
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
break;
default:
sum+=30;break;
}
}
System.out.println("这是该年的第"+(sum+day)+"天");
*/
int sum=0;//保存天数和
switch(month-1){
case 12:sum+=31;
case 11:sum+=30;
case 10:sum+=31;
case 9:sum+=30;
case 8:sum+=31;
case 7:sum+=31;
case 6:sum+=30;
case 5:sum+=31;
case 4:sum+=30;
case 3:sum+=31;
case 2:
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
case 1:sum+=31;
}
System.out.println(sum+day);
随机猜数游戏
Scanner input = new Scanner(System.in);
int rand = (int)(Math.random()*100+1);//随机数
System.out.println(rand);
boolean flag = false;
int i=1;
for(;i<=10;i++){//i:猜的次数
System.out.print("请猜:");
int num = input.nextInt();
if(num==rand){
if(i==1){
System.out.println("你是个天才");
}else if(i<=3){
System.out.println("你很聪明,赶上我了");
}else if(i<=9){
System.out.println("一般般");
}else{
System.out.println("可算猜对了");
}
flag = true;
break;
}else if(num>rand){
System.out.println("再小点");
}else{
System.out.println("再大点");
}
}
if(!flag){//一次没猜对
System.out.println("你太笨了!");
}