• day04韩明琰


    1:常见的算术运算符有哪些?
    +,-,*,/,%
      +运算符的作用有哪些?
    表示正,作为算数运算符中的加号,作为连词符连接字符串
      除法和取余的区别?
    除法是得到商,取余是获得余数
      ++和--的使用规则?
    ++:自增加一,若在前面是数字先自增加一后参与运算,若在后面是先参与运算后自增加一,他可以自动强制转换
    --:自减减一,若在前面是数字先自减减一后参与运算,若在后面是先参与运算后自减减一,他可以自动强制转换
    2:常见的赋值运算符有哪些?

    = ,+=,-=,/=,*=,%=
      +=运算的作用是什么?

    将左右两边的数值相加并赋值给左边
      扩展的赋值运算符有什么特点?

    3:short s = 1; s = s + 1;有没有问题?如果有怎么解决?

    有,右边为不确定的int型,无法自动复制给byte行

    解决方法:强制类型转换 s = (byte)(s+1);
       short s = 1; s += 1;有没有问题?如果有怎么解决?
     没有问题,因为+=会自动类型强制转换
    4:常见的关系运算符有哪些?

    ==,!=,>,>=,<,<=
      关系运算符的结果有什么特点?
      返回值为boolean类型:true,false
    5:常见的逻辑运算符有哪些?

    &,&&,|,||,逻辑异或,!
      &和&&的区别是什么?

    &&又叫短路与,若是左边结果为false,右边不会判断,提升效率,而&不管左边结果如何,右边都会判断
      |和||的区别是什么?
      ||又叫短路或,若是左边结果为true,右边不会判断,提升效率,而|不管左边结果如何,右边都会判断
    6:位运算符^的特点是什么?
      相同则0,不同则1
    7:如何实现对两个整数变量的值进行互换。

    举例:  

    int x = 10;

    int y = 5;

    x=x^y;

    y=x^y;

    x=x^y;

    8:三元运算符的格式是什么?

    (关系表达式)?表达式1:表达式2;
      执行流程是什么?
      先判断关系表达式,结果为true就返回表达式1,为false就返回表达式2
    9:使用三元运算符完成如下练习
     比较两个数是否相等
     获取两个数中最大值
     获取三个数中最大值

    int x = 3;

    int y = 6;

    int z = 9;

    boolean a1 = (x == y)?true:false;

    int a2 = (x>y)?x:y;

    int a3 = (a2>z)?a2:z;
     
    10:流程控制语句有几种?

    两种if和switch

    11:if语句的格式有几种?注意事项是什么?分别在什么时候使用?

    三种

    一:if(比较表达式) {

                      语句体;

                  }

    注意事项:1,比较表达式无论简单还是复杂结果必须是boolean类型

                      2,if语句控制的语句如果是一条语句,大括号可以省略,如果是多条语句,就不能省略,建议永远不要省略

                      3,一般来说有做大括号就没有分号,有分号就没有做大括号(加分号后,后面的语句就变局部代码块了)

    二:if(表达式) {

                     语句体1;

                  } else {

                   语句体2;

                   }

    注意事项:1,else后面是没有比较表达式的

                      2,其他参考第一种

    三:if(表达式1) {

                  语句体1;

           } else if(表达式2) {

                   语句体2;

             } else if(表达式3) {

                   语句体3;

               }

    ........

                   else {

                        语句体 n+1;

                   }

    注意事项:最后一个else可以省略,但是最好不要省略,可对范围外的错误进行提示

    在什么时候使用是看情况而定,根据你控制的流程所分区间的多少,若只有一个区间就第一种,若有两个区间就第二种,若有多个区间就第三种

    12:看程序写结果:请自己独立分析,先不要编译运行。
    第一题
    int x = 1,y = 1;

    if(x++==2 & ++y==2)
    {
     x =7;
    }
    System.out.println("x="+x+",y="+y); 

    结果: x=2,y=2 

    ---------------------------------------------------
    第二题
    int x = 1,y = 1;

    if(x++==2 && ++y==2)
    {
     x =7;
    }
    System.out.println("x="+x+",y="+y);

    结果: x=2,y=1

    ---------------------------------------------------
    第三题
    int x = 1,y = 1;

    if(x++==1 | ++y==1)
    {
     x =7;
    }
    System.out.println("x="+x+",y="+y);

    结果: x=7,y=2

    ---------------------------------------------------
    第四题
    int x = 1,y = 1;

    if(x++==1 || ++y==1)
    {
     x =7;
    }
    System.out.println("x="+x+",y="+y);

    结果: x=7,y=1

    ---------------------------------------------------
    第五题
    boolean b = true;

    if(b==false)
     System.out.println("a");
    else if(b)
     System.out.println("b");
    else if(!b)
     System.out.println("c");
    else
     System.out.println("d");

    结果: b

    x=2  y=2
    x=2  y= 1
    x=7  y= 2
    x=7  y=1
    b
    ---------------------------------------------------

    13:编写代码实现如下内容:if语句实现
    考试成绩分等级。
     90~100 A等。
     80-89 B等。
     70-79 C等。
     60-69 D等。
     60以下 E等。
    请根据给定成绩,输出对应的等级。

    import java.util.Scanner;

    class Demo13 {

         public static void main(String[] args) {

             Scanner sc = new Scanner(System.in);

             System.out.println("请输入成绩:");

             int score = sc.nextInt();

             if(score>=90 && score<=100) {

                  System.out.println("A等");

             }else if(score>=80 && score<=89) {

                    System.out.println("B等");

              }else if(score>=70 && score<=79) {

                     System.out.println("C等");

               }else if(score>=60 && score<=69) {

                      System.out.println("D等");

                }else if(score>=0 && score<=59) {

                        System.out.println("E等");

                 }else {

                           System.out.println("输入有误");

                  }

           }

    }

    14:switch语句的格式?针对格式的解释?以及注意事项?

    switch(表达式) {

    case 值1:

    语句体1;

    break;

    case 值2:.

    语句体2;

    break;

    ...

    default:

    语句体n+1;

    break;

    }

    先计算表达式的值,然后和case后面的匹配,如果有就进入执行里面的语句然后break跳出switch,没有就执行default里面的语句然后break跳出switch

    注意事项:a case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

                      b default可以省略,但不建议,因为它的作用是对不正确的情况给出提示,除了特殊情况,case就可以把值固定,如选择题ABCD

                      c 最后一个break可以省略,其他最好不要省略,否则会出现case穿透

                      d default可以在任何位置,但是建议放最后,作用都是一样的

                      e switch语句结束条件,遇到break就结束了,或者执行到switch的又大括号

    15:看程序,分析下面程序的结果:
    int x = 2,y=3;

    switch(x)
    {
     default:
      y++;
     case 3:
      y++;
      break;
     case 4:
      y++;
    }

    System.out.println("y="+y);

    结果: y=5

    16:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
     输入:1 
      输出:星期1  

    package com.zkch.test;

    import java.util.Scanner;

    public class Demo16 {
     public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入一个数字(1到7):");
      int num = sc.nextInt();
      switch(num) {
      case 1:
       System.out.println("星期一");
       break;
      case 2:
       System.out.println("星期二");
       break;
      case 3:
       System.out.println("星期三");
       break;
      case 4:
       System.out.println("星期四");
       break;
      case 5:
       System.out.println("星期五");
       break;
      case 6:
       System.out.println("星期六");
       break;
      case 7:
       System.out.println("星期天");
       break;
       default:
        System.out.println("输入有误");
      }
      System.out.println("====================");
      if(num == 1) {
       System.out.println("星期一");
      } else if(num == 2) {
       System.out.println("星期二");
      } else if(num == 3) {
       System.out.println("星期三");
      } else if(num == 4) {
       System.out.println("星期四");
      } else if(num == 5) {
       System.out.println("星期五");
      } else if(num == 6) {
       System.out.println("星期六");
      } else if(num == 7) {
       System.out.println("星期天");
      } else {
       System.out.println("输入有误");
      }
     }

    }


    17:把今天讲过的其他案例再练习一遍

    1:for循环的格式?要能看懂执行流程。

    for(初始化表达式;条件表达式;循环后的操作表达式) {

                 循环体;

    }

    a,执行初始化语句

    b,执行条件判断语句,看其返回值是true还是false

    如果是true,就继续执行

    如果是false,就结束循环

    c,执行循环体语句

    d,执行循环后的操作表达式

    e,回到2继续
      用for循环完成如下案例
     
      求和
      求偶数和
      求奇数和
      打印水仙花数
      统计水仙花数

      九九乘法表

    package com.zkch.test;

    public class Demo1 {
     public static void main(String[] args) {
      int sum = 0;
      int sum1 = 0;
      int sum2 = 0;
      for(int i = 1;i<=100;i++) {
       sum+=i;
       if(i%2!=0) {
        sum1+=i;
       } else {
        sum2+=i;
       }
      }
      System.out.println("和为:"+sum+"奇数和为:"+sum1+"偶数和为:"+sum2);
      System.out.println("========================");
      int count = 0;
      for(int i=100;i<=999;i++) {
       int ge = i%10;
       int shi = i/10%10;
       int bai = i/100%10;
       if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
        count++;
        System.out.println(i+"是水仙花数");
       }
      }
      System.out.println("水仙花数有"+count+"个");
      System.out.println("=======================");
      for(int i = 1;i<=9;i++) {
       for(int j = 1;j<=i;j++) {
        System.out.print(j+"*"+i+"="+j*i+'\t');
       }
       System.out.println();
      }
     }

    }

    2:while循环的格式?要能看懂执行流程

    初始化语句;

    while(判断条件语句) {

    循环体语句;

    控制条件语句;

    }

    a,执行初始化流程

    b,执行判断条件语句,看其返回值是true还是false

    如果是true就继续执行

    如果是false就结束循环

    c,执行循环体语句

    d,执行控制条件语句

    e,回到b继续执行

    3:break,continue和return分别有什么用?

    break是中断一个循环也可以用作跳出switch语句

    continue是结束此次循环

    return是结束一个方法

    4:函数(方法)的概念?函数的格式?格式的解释说明

    5:函数的调用
     A:明确返回值类型的函数调用
     B:void类型的函数调用
     
    6:函数的练习:
     A:求两个数据之和
     B:判断两个数据是否相等
     C:获取两个数中较大的值
     D:打印m行n列的星形矩形
     E:打印nn乘法表

    7:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可

  • 相关阅读:
    第三次作业——for 语句及分支结构else-if
    第二次作业及总结——数据类型和运算符
    .net webapi 过滤器使用(异常日志)
    .net webapi 过滤器使用(记录访问日志)
    how to get state when push notification
    Qt项目下pro文件设置库路径
    配置安装oh-my-bash
    03、工具篇--Maven
    04、JavaEE--SSH整合
    01、JavaEE--Hibernate
  • 原文地址:https://www.cnblogs.com/hmyhh/p/9319896.html
Copyright © 2020-2023  润新知