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:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可

原文地址:https://www.cnblogs.com/hmyhh/p/9319896.html