Java-选择、循环
条件运算符
Java中的条件运算符是三目运算符
语法:
布尔表达式?表达式1,表达式2
当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值
if(a>b)
{
max=a;
}else{
max=b;
}
用条件运算符为:
max=(a>b)?a:b
if-else
用if-else语句判断输入的年份是否为闰年
import java.util.Scanner;
public class LearYear{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个年份:");
Long year=sc.nextLong();
if(year%4==0 && year%100!=0 || year%400==0){
System.out.println(year+"是闰年");
}else {
System.out.println(year+"不是闰年");
}
}
}
用 if 语句完成给定百分制 成绩向五分制的转换并输出从键盘输入成绩(整数或者实数),输出五分制成绩。
import java.util.Scanner;
public class test1
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("please input your source");
int cj=sc.nextInt();
if(cj>100 || cj<0)
{
System.out.println("grade is error");
System.exit(0);
}
if(cj>=90)
{
System.out.println("A");
}else if(cj>=80)
{
System.out.println("B");
}else if(cj>=70)
{
System.out.println("C");
}else if(cj>=60)
{
System.out.println("D");
}else
{
System.out.println("E");
}
}
}
用 switch 语句重写上题。
import java.util.Scanner;
public class test2
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("please input your source");
int cj=sc.nextInt();
if(cj>100 || cj<0)
{
System.out.println("grade is error");
System.exit(0);
}
switch(cj/10)
{
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("E");
break;
}
}
}
三大流程控制语句:顺序,选择,循环
if和switch的区别:
if结构:
判断条件是布尔类型
判断条件是一个范围
switch结构:
判断条件是常量词
编写程序从键盘输入一个年份(如2000年)和一个月份(如2月),输出该月的天数
import java.util.Scanner;
public class SwitchDemo {
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("please input year");
int year=sc.nextInt();
System.out.println("please input month");
int month=sc.nextInt();
int numDay=0;
switch (month)
{
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
numDay=31;
break;
case 4: case 6: case 9: case 11:
numDay=30;
break;
case 2:
if(year%4==0 && year%100!=0 || year%400==0){
numDay=29;
}else {
numDay=28;
}
break;
}
System.out.println(year+"."+month+" ."+numDay);
}
}
while循环
语法格式
while(循环体)
{
语句;
}
执行流程
int n=1; //1.n的值必须初始化
while(n<5) //2.循环变量的值必须被改变
{ //3.什么时候条件为false退出循环
//输出n的值
n++;
}
循环输出英文字母
public class CharDemo {
public static void main(String args[])
{
//循环输出26个英文小写字母,分两行输出
char ch='a';
int count=1;//控制变换
while(ch<='z')
{
System.out.print(ch+" ");
if(count%13==0)
{
System.out.println();
}
count++;
ch++;
}
}
}
程序随机产生一个1-10的整数,用户从键盘输入所猜的数,猜中为止。
import java.util.Scanner;
public class GuessDemo {
public static void main(String[] args)
{
//设置要猜的数
int number=(int)(Math.random()*10+1);
int guess;
System.out.println("请猜一个介于1到10之间的数");
System.out.println("请输入您猜的数");
Scanner sc=new Scanner(System.in);
guess=sc.nextInt();
while (number!=guess){
if(guess>number)
{
System.out.println("太大");
}else if(guess<number)
{
System.out.println("太小");
}
number=sc.nextInt();
}
System.out.print("您猜中了!答案是"+number);
}
}
do-while 循环
语法格式:
do{
语句;
}while(循环条件);
注意事项:
一、do-while 循环型至少执行一次
二、循环条件后的分号不能丢
猜字游戏
import java.util.Scanner;
public class GuessDemo {
public static void main(String[] args)
{
//设置要猜的数
int number=(int)(Math.random()*10+1);
int guess;
System.out.println("请猜一个介于1到10之间的数");
do{
System.out.println("请输入您猜的数");
Scanner sc=new Scanner(System.in);
guess=sc.nextInt();
if(guess>number)
{
System.out.println("太大");
}else if(guess<number)
{
System.out.println("太小");
}
}while (number!=guess);
System.out.print("您猜中了!答案是"+number);
}
}
for循环
语法格式:
for(表达式1;表达式2;表达式3)
{
语句;
}
求1!+2!+3!+4!
public class Jiechengplus {
public static void main(String args[])
{
int sum=0,s=1;
for(int i=1;i<=4;i++)
{
s=s*i;//存放阶乘的结果
sum+=s;
}
System.out.println("1!+2!+3!+4!="+sum);
}
}
梯形
用程序实现
public class StarDemo {
public static void main(String[] args)
{
for(int i=1;i<=5;i++)
{
for(int j=1;j<=5-i;j++)
{
System.out.print(" ");
}
for(int t=1;t<=11-(5-i)*2;t++)
{
System.out.print("*");
}
System.out.println();
}
}
编写一个程序,求出200-300之间的数且满足,三个数字之和为12,积为42.
public class LoopDemo {
public static void main(String args[])
{
int ge,shi,bai;
for(int i=200;i<=300;i++){
bai=i/100;
shi=i/10%10;
ge=i%10;
if((bai+ge+shi)==12 && (bai*shi*ge)==42)
{
System.out.println(i);
}
}
}
}
计算 1-2019 之间所有素数的和。
public class test6 {
public static void main(String args[])
{
long sum=0;
int count=0;
test6 test6=new test6();
for(int i=1;i<=2019;i++)
{
if(test6.ifPrime(i))
{
System.out.printf("%-4d ",i);
sum+=i;
count++;
if(count%10==0)
System.out.println();
}
}
System.out.println("sum="+sum);
}
private boolean ifPrime(int num)
{
if(num == 1 || (num % 2 == 0 && num != 2 ) )
{
return false;
}
for(int i=2;i<=Math.sqrt(num);i++)
{
if(num%i==0)
return false;
}
return true;
}
}

public class test7 {
public double tem(int n)
{
double sum=0.0;
int sign;
for(int i=1;i<=n;i++)
{
sign=(i%2==0)?-1:1;
sum=sum+sign*(1.0/(2*i-1));
}
return (sum*4);
}
public static void main(String args[])
{
test7 test7=new test7();
System.out.println(test7.tem(1000));
System.out.println(test7.tem(10000));
System.out.println(test7.tem(100000));
}
}
计算 1!+2!+3!+…+10!。
public class test4 {
public static void main(String args[])
{
int k=1;
int sum=0;
for(int i=1;i<=10;i++)
{
k=k*i;
sum+=k;
}
System.out.println("1!+2!+3!+4!+5!+6!+7!+8!+9!+10="+sum);
}
}
本文详细介绍了Java中的选择和循环结构,包括条件运算符、if-else语句、switch语句、三大流程控制语句的区分,以及while、do-while和for循环的使用示例。通过实例演示了如何判断闰年、转换成绩、计算阶乘和实现猜数字游戏等。
2993

被折叠的 条评论
为什么被折叠?



