1.流程控制语句:通过一些语句,控制程序的执行过程
顺序控制语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行
2.分支结构:if;swith
if语句的第一种格式:
if(关系表达式){
语句体;
};
注:大括号的开头可以另起一行书写,但是建议写在第一行的末尾
在语句体中,如果只有一行代码,大括号可以省略不写,最好不要省略
如果对一个布尔类型的变量进行判断,不要用==,直接把变量写在小括号中
if语句的第二种格式
if(关系表达式){
语句体1;
}else{
语句体2;
}
if语句的第三种格式对范围的判断
if(关系表达式){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n+1;
}
switch语句格式说明把有限个数据一一列举出来,让我们任选其一
switch(表达式){
case 值1;
语句体1;
break;
case 值2;
语句体2;
break;
...
default;
语句体n+1;
break;
}
注:表达式将匹配的值1取值为byte,short,int,char。JDK5以后可以是枚举,JDK7以后可以是String
case后面跟的是要和表达式进行比较的值(被匹配的值),后面的值只能是字面量,不能是变量,并且不允许重复
break表示中断,结束的意思,用来结束switch语句
default:表示所有情况都不匹配的时候,就执行该处内容,和if语句中的else相似
default的位置和省略
位置:default可以写在任意位置,但最好是写在最下面
省略:default可以省略,不会有任何问题,但是不建议省略
case穿透就是语句体中没有写break导致的
switch新特性(JDK12以上可用):case 值1—>{语句体1;}
3.循环结构
for循环格式:for(初始化语句只执行一次;条件判断语句;条件控制语句){ 循环体语句; };
注:如果把变量定义在循环内,那么当前变量只在本次循环中有效,本次循环结束后,变量会从内存中消失,第二次循环开始时,不会定义一个新的变量
4.while循环的执行流程
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
循环下面的其他语句
5.for循环和while循环的对比
相同点:运行规则都是一样的
区别:while:循环中,控制循环的变量不归属于while循环的语法结构中,在while循环结束后,该变量还能继续使用。只知道循环的结束条件时用while
for:循环中,控制循环的变量归属for循环的语法结构中,在for循环结束后,改变量就不能继续使用了。知道循环的次数或循环范围时使用for
6.do...while循环格式 先执行后判断
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句)
7.无限循环:循环一直停不下来
for( ;;){
System.out.println();
}
while(true){
System.out.println();
}
do{
System.out.println();
}while(true);
8.跳转控制语句:在循环的过程中,跳到其他语句上执行
continue:跳过本次循环,继续执行下次循环
break:结束整个循环
9.Random:获得随机数
导包
import java.until.Random;
创建对象
Random r = new Random();
生成随机数
int number =r.nextInt(随机数范围)
输入三个数,求最小值
import java.util.Scanner;
public class Project5 {
public static void main(String[] args) {
Scanner number=new Scanner(System.in);
System.out.println("请输入第一个数:");
double number1= number.nextDouble();
System.out.println("请输入第二个数:");
double number2= number.nextDouble();
System.out.println("请输入第三个数:");
double number3= number.nextDouble();
double temp=number1<number2?number1:number2;
double min=temp<number3?temp:number3;
System.out.println("最小的数是:"+min);
}
}
银行存储业务
import java.util.Scanner;
public class day43 {
public static void main(String[] args) {
Scanner money=new Scanner(System.in);
System.out.println("请输入存储金额:");
int money1= money.nextInt();
System.out.println("请输入存储年限:");
int year= money.nextInt();
double money2;
switch (year){
case 1:
money2=money1+(money1*year*0.0225);
System.out.println("一年到期后得到的本金总额"+money2);
break;
case 2:
money2=money1+(money1*year*0.027);
System.out.println("两年到期后得到的本金总额"+money2);
break;
case 3:
money2=money1+(money1*year*0.0325);
System.out.println("三年到期后得到的本金总额"+money2);
break;
case 5:
money2=money1+(money1*year*0.036);
System.out.println("五年到期后得到的本金总额"+money2);
break;
default:
System.out.println("目前银行没有开通这项业务");
break;
}
}
}
逢七过
import java.util.Scanner;
public class Test15 {
public static void main(String[] args) {
Scanner number=new Scanner(System.in);
System.out.println("请随机输入一个数");
int number1= number.nextInt();
for (int i=number1;i<=100;i++){
if(i%7==0||i%10==7||i/10%10==7){
continue;
}
System.out.println(i);
}
}
}
平方根
import java.util.Scanner;
public class Test16 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("输入一个整数");
int x=sc.nextInt();
for (int i = 1; i <= x; i++) {
int y=i*i;
if (y==x){
System.out.println(i+"就是"+x+"平方根的整数部分");
break;
} else if (y>x) {
System.out.println((i-1)+"就是"+x+"平方根的整数部分");
break;
}
}
}
}
是否质数
import java.util.Scanner;
public class Test17 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数");
int x= sc.nextInt();
boolean files=true;
for (int i = 2; i < x; i++) {
if (x%i==0){
files=false;
break;
}
}
if (files=false){
System.out.println("这个数不是质数");
}else {
System.out.println("这个数是质数");
}
}
}
猜数字
import java.util.Random;
import java.util.Scanner;
public class Test18 {
public static void main(String[] args) {
Random r=new Random();
int number=r.nextInt(100)+1;
Scanner SC = new Scanner(System.in);
while(true){
System.out.println("请输入您要猜的数");
int guessNumber= SC.nextInt();
if (guessNumber>number){
System.out.println("您猜的数大了");
} else if (guessNumber<number) {
System.out.println("您猜的数小了");
}else {
System.out.println("您猜对了");
break;
}
}
}
}