目录

1:键盘录入(掌握)
2:流程控制语句
3:if语句(掌握)
4:switch语句(掌握)
5:循环语句(掌握)
6:控制跳转语句(掌握)

1:键盘录入(掌握)

  1. 实际开发中,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。
  2. 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
    Java基础 语法篇_初始化
  3. 具体实现:
    A:导包 import java.util.Scanner; 位置:在class的上边 B:创建对象 Scanner sc = new Scanner(System.in); C:获取数据 int x = sc.nextInt(); import java.util.Scanner; publlic class Demo{ public static void main(String[] args){ //创建一个扫描器对象,用于接收键盘数据 Scanner sc = new Scanner(System.in); System.out.println("请输入内容:"); //判断用户有没有输入字符串, 也可以不要这个if判断 if(sc.hasnext()){ //使用next方式接收 String str = sc.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类,如果不关闭会一直占着资源 sc.close(); } }
  4. 案例:可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果import java.util.Scanner; public class Demo{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); double sum = 0; //和 int m = 0; //计算输入了多少数字 //通过循环判断是否还有输入,并在里面对每一次进行求和统计 while(sc.hasNextDouble()){ //统一的方法还有很多,这个是判断输入的是否为double类型 double x = sc.nextDouble(); //这个变量x也可以定义在外面 m = m + 1; //m++; sum = sum + x; } System.out.println(m+"个数的和为"+sum); System.out.println(m+"个数的平均值为"+(sum/m)); sc.close(); } }
  1. 拓展
    //随机数获取公式 :[a,b] (int)Math.random()*(b-a+1)+a //例如:获取一个随机数:10-99 (int)(Math.random()*90+10); //[0.0,1.0)-->[0.0,90.0)-->[10.0,100.0)

2:流程控制语句

  1. 顺序结构 从上往下,依次执行
  2. 选择结构 按照不同的选择,执行不同的代码
  3. 循环结构 做一些重复的代码

3:if语句(掌握)

  1. 三种格式
    A:格式1 if(比较表达式) { 语句体; } 执行流程: 判断比较表达式的值,看是true还是false 如果是true,就执行语句体 如果是false,就不执行语句体 B:格式2 if(比较表达式) { 语句体1; }else { 语句体2; } 执行流程: 判断比较表达式的值,看是true还是false 如果是true,就执行语句体1 如果是false,就执行语句体2 C:格式3 if(比较表达式1) { 语句体1; }else if(比较表达式2){ 语句体2; } ... else { 语句体n+1; } 执行流程: 判断比较表达式1的值,看是true还是false 如果是true,就执行语句体1 如果是false,就继续判断比较表达式2的值,看是true还是false 如果是true,就执行语句体2 如果是false,就继续判断比较表达式3的值,看是true还是false ... 如果都不满足,就执行语句体n+1
  2. 注意事项
    A:比较表达式无论简单还是复杂,结果是boolean类型 B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。 建议:**永远不要省略。** C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。 D:else后面如果没有if,是不会出现比较表达式的。 E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
  3. 案例
    A:比较两个数是否相等
    B:获取两个数中的最大值
    C:获取三个数中的最大值(if语句的嵌套)
    D:根据成绩输出对应的等级
    E:根据月份,输出对应的季节
    F:根据x计算对应y的值并输出
  4. 三元运算符和if语句第二种格式的关系
    所有的三元运算符能够实现的,if语句的第二种格式都能实现。
    反之不成立。
    如果if语句第二种格式控制的语句体是输出语句,就不可以。
    因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。

4:switch语句(掌握)

  1. 格式
    switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式解释说明: switch:说明这是switch语句。 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面的值就是要和表达式进行比较的值 break:表示程序到这里中断,跳出switch语句 default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
  2. 面试题
  3. 执行流程:
  4. 注意事项:
  5. 案例:
  6. if语句和switch语句各自的场景

5:循环语句(掌握)

  1. 有三种:for,while,do...while
  2. for循环语句
    for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
    循环执行次数是在执行之前就确定的
    for(初始化;布尔表达式;迭代){ //循环体 } int a = 1; //初始化条件 while(a<100){ //条件判断 System.out.println(a); //循环体 a+=2; //迭代 a = a + 2; } System.out.println("while循环结束"); //初始化 //条件判断 //迭代 for(int i = 1;i<=100;i++){ IDEA快捷键:100.for 生成 for(int i = 1;i<=100;i++) System.out.println(i); } /* 关于for循环有以下几点说明 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。 然后,检测布尔表达式的值。如果为true,循环体被执行。如果为aLse,新环终止,开始执行循环体后面的语句 执行一次循环后,更新循环控制变量(送代因子控制循环变量的增减)。 再次检测布尔表达式。循环执行上面的过程。 */ //即初始化可以去掉,条件判断可以去掉,迭代可以去掉 for(; ;){} //死循环
    //练习1:计算0到100之间的技术和偶数的和 int oddSum = 0; int evenSum = 0; for(int i = 0; i < 100; i++){ if(i%2 != 0){ oddSum += i; }else{ evenSum += i; } System.out.println("奇数的和:"+oddSum); System.out.println("偶数的和:"+evenSum); } //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个 for(int i = 0; i <= 1000; i++){ if(i%5==0){ System.out.print(i+"\t"); } if(i%(5*3)==0){ //换行 System.out.println(); //System.out.print("\n"); } //println 输出完会换行 //print 输出完不会换行 } //练习3:打印99乘法表 for(int i = 1; i <=9; i++){ for(int j = 1; j <= i; j++){ System.out.print(i+"*"+j+"="+(i*j) + "\t"); } System.out.println(); }
  3. while循环
    while(布尔表达式){ //循环体 } //如果不满足条件,则while不能进入循环
  4. do...while循环//do...while循环和while循环,不同的是,do...while循环 至少会执行一次 do{ //循环体 }while(布尔表达式) while和do...while的区别:
  • while先判断后执行。do...while是先执行后判断
  • do...while总是保证循环体会被至少执行一次
  1. 循环使用的注意事项(死循环)
  2. 增强for循环
    //Java5引入了一种主要用于数组或者集合的增强for循环 //格式 for(声明语句 : 表达式){ //循环体 } //声明语句:声明新的局部变量,该变量的类型必须和数组元素有类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等 //表达式:表达式是要访问的数组名,或者是返回值为数组的方法 int[] numbers = {10,20,30,40,50}; //定义一个数组 //遍历数组的元素 for(int x : numbers){ System.out.print(x+","); //结果:10,20,30,40,50 }

6:控制跳转语句(掌握)

  1. break:中断的意思
  • 用在循环和switch语句中,离开此应用场景无意义。
  • 作用
    a:跳出单层循环
    b:跳出多层循环,需要标签语句的配合
    c:break用于强行退出循环
  1. continue:继续
  • 用在循环中,离开此应用场景无意义。
  • 作用 :跳出单层循环的一次,可以继续下一次,用于终止某次循环过程
  • 填空题
    for(int x=1; x<=10; x++) { if(x%3 == 0) { //补齐代码 } System.out.println("Java基础班"); } 如何让控制台输出2次:Java基础班 如何让控制台输出7次:Java基础班 如何让控制台输出13次:Java基础班
  1. return:返回
  • 用于结束方法的,后面继续补充
  • 一旦遇到return,程序就不会在继续往后执行。
  1. 跳出多层循环
    要想实现这个效果,就必须知道一个东西。带标签的语句。类似于goto关键字(goto在Java中并没有使用)
    对于Java来说唯一用到标签的地方是在循环语句之前
    格式:
    标签名: 语句
    wc:for(int x=0; x<3; x++) { nc:for(int y=0; y<4; y++) { if(y == 2) { //break nc; break wc; } System.out.print("*"); } System.out.println(); }
  2. 练习(掌握)
    //答应三角形 5行 for(int i = 1; i <= 5; i++){ for(int j = 5; j >= i; j--){ System.out.print(" "); } for(int j = 1; j <= i; j++){ //打印三角形左侧 System.out.print("*"); } for(int j = 1; j < i; j++){ System.out.print("*"); } System.out.println(); }


作者:{野绅士},转载请注明原文链接​