Java的基础语法(三)

一、数据输入
1.1数据输入概述

使用Java提供的类来实现数据输入。

1.2Scanner使用的基本步骤
  • 导包
    import java.util.Scanner;
    导包的动作必须出现在类的定义的上边
  • 创建对象
    Scanner sc = new Scanner(System.in);
    上面这个格式里面,只有sc是变量名,可以变,其他的都不允许。
  • int i = sc.nextInt();
    上面这个格式里,只有i是变量名,可以变,其他都不允许变。
1.3案例:三个和尚
  • 身高未知,采用键盘输入,首先导包,然后创建对象。
    import java.util.Scanner;
    Scanner sc = new Scanner(System.in);
  • 键盘录入三个身高分别赋值给三个变量。
    int height1 = sc.nextInt();
    int height2 = sc.nextInt();
    int height3 = sc.nextInt();
  • 用三元运算符获取前两个和尚的较高身高值并用临时身高保存,
    再比较临时身高和第三个和尚的身高找出三个和尚身高的最大值。
二、流程控制
2.1流程控制语句概述
  • 顺序结构
  • 分支结构(if,switch)
  • 循环结构(for,while,do{}while)
2.2顺序结构

顺序结构按照代码的先后顺序,依次执行。

三、if语句
3.1 if语句格式1
  • 格式一:
    if(关系表达式){
    语句体;
    }
    首先计算关系表达式的值,如果关系表达式的值为true就执行语句体,
    如果关系表达式的值为false就不执行语句体,继续执行后面的语句内容。
3.2 if语句格式2
  • 格式二:
if(关系表达式){
 语句体1;
}else{
 语句体2;
}

  • 首先计算关系表达式的值,如果关系表达式的值为true就执行 语句体1,
    如果关系表达式的值为false就执行语句体2,继续执行后面的语句内容。
3.3 if语句格式3
  • 格式三:
• if(关系表达式1){
 语句体1;
}else if(关系表达式2){
 语句体2;
}
…
else{
 语句体n+1;
}

首先计算关系表达式1的值,如果关系表达式的值为true就执行语句体1,

如果关系表达式的值为false就计算关系表达式2的值,

如果关系表达式的值为false就计算关系表达式3的值,…

如果没有任何关系表达式的值为true,就执行语句体n+1。

四、switch语句
4.1switch语句格式

格式:

switch(表达式){
 case值1:
 语句体1;
 break;
 case值2:
 语句体2;
 break;
 …
 default:
 语句体n+1;
 [break;]
}

格式说明:

  • 表达式:取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。
  • case:后面跟的是要和表达式进行比较的值。
  • break:表示中断,结束的意思,用来结束switch语句。
  • default:表示所有情况都不匹配的时候就执行该处的内容,和if语句中的else相似。

insert用法java java中insert的用法_java

五、循环语句
5.1循环结构

循环结构的组成部分:

初始化语句:用于表示循环开启时的起始状态。可以是一条或者多条语句。

条件判断语句:用于循环反复执行的条件。这里使用一个结果值为boolean类型的表达式。

循环体语句:用于表示循环反复执行的内容。

条件控制语句:用于表示循环执行中每次变化的内容,

简单说就是控制循环是否能执行下去。

5.2for循环语句格式

格式:

for(初始化语句;条件判断语句;条件控制语句){

循环体语句;

}

  • 执行初始化语句
  • 执行条件判断语句,看结果是false还是true再判断是否执行
  • 执行循环体语句
  • 执行条件控制语句
  • 回到条件判断语句继续

案例1:求偶数和

求1-100之间的偶数和

int sum = 0;
for(int i = 1;i <= 100;i++){
 if(i % 2 ==0){
 sum += i;
 }
}
5.3 while循环语句格式

格式:

初始化语句;
while(条件判断语句){
 循环体语句;
 条件控制语句;
}

执行流程:

  • 执行初始化语句
  • 执行条件判断语句,看结果再决定是否执行下一步
  • 执行循环体语句
  • 执行条件控制语句
  • 回到条件判断语句继续
5.4 do…while循环语句

格式:

初始化语句;
do{
 循环体语句;
 条件控制语句;
}while(条件判断语句);

执行流程:

  • 执行初始化语句
  • 执行循环体语句
  • 执行条件控制语句
  • 执行条件判断语句,看结果是false还是true
  • 回到循环体语句继续

do…while语句循环体至少执行一次。

5.4三种循环的区别
  • for和while循环先判断条件是否成立再决定是否执行循环体
  • do…while先执行一次循环体,然后再判断条件是否成立,是否继续执行循环体
  • for和while的区别:
    条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
    条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。

三种循环的死循环格式:

for(;😉{}

while(true){}

do{}while(true);

六、跳转控制语句
6.1跳转控制语句概述
  • continue用在循环中,基于条件控制,跳过某次循环体的内容的执行,继续下一次的执行。
  • break用在循环中,基于条件控制,终止循环体内容的执行,也就是结束当前的整个循环。
七、循环嵌套
7.1循环嵌套概述

语句结构:

  • 顺序语句:以分号结尾,表示一句的结束
  • 分支语句:一对大括号表示if或switch的整体结构,整体描述一个完整的if语句。
  • 循环语句:一对大括号表示的循环的整体结构,整体描述一个完整的循环语句。

任何语句对外都可以看作是一句代码,
分支语句中包含的分支语句称为分支嵌套,
循环语句中包含的循环语句称为循环嵌套。

八、Random

作用:用于产生一个随机数

使用步骤:

  • 导包:import java.util.Random;
    导包必须在类定义上面
  • 创建对象:Random r = new Random();
    r是变量名,可以变。其他不能变。
  • 获取随机数:int number = r.nextInt(10);//获取数据的范围:[0,10)。包括0,不包括10。
    number是变量名,可以变。数字10可以变。其他不能变。
    例:获取1-100之间的随机数
    int x = r.nextInt(100) + 1;