day04作业
2018-07-16 20:18 好好学习哟 阅读(267) 评论(0) 编辑 收藏 举报1:常见的算术运算符有哪些?
+ - * / % ++ --
+运算符的作用有哪些?
运算,链接字符,代表正号
除法和取余的区别?
除法操作得到的是商,取余得到的是除法的余数
++和--的使用规则?
++:对原有数据进行自增+1
--:对原有数据进行自减-1
如果是单个数据,则符号在数据左右没区别。
如果是两个数据进行运算,在左边则先进行自增或自减,然后再进行运算赋值
在右边则先进行运算赋值,再进行自增或自减
2:常见的赋值运算符有哪些?、
= ,+= ,-=, /=, *=, %=
+=运算的作用是什么?
左边的数据加上右边的数再将结果赋值给左边的数
扩展的赋值运算符有什么特点?
会在底层自动进行强制类型转换
3:short s = 1; s = s + 1;有没有问题?如果有怎么解决?
提示有可能损失精度。 s = (byte)s + 1
short s = 1; s += 1;有没有问题?如果有怎么解决?
没有
4:常见的关系运算符有哪些?
== , != , < , > , <= , >=
关系运算符的结果有什么特点?
一定是boonlean类型
5:常见的逻辑运算符有哪些?
& ,|, ! ,^, &&, ||
&和&&的区别是什么?
&不管左侧是true还是false 都会运算右侧。&&如果左侧是false则直接返回false,不进行右侧的计算,提高运算效率
|和||的区别是什么?
|不管左侧是true还是false 都会运算右侧。||如果左侧是true则直接返回true,不进行右侧的计算,提高运算效率
6:位运算符^的特点是什么?
先将数据转换成二进制再进行运算,相同则为0,不同则为1
7:如何实现对两个整数变量的值进行互换。
int a = 10 ,b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
8:三元运算符的格式是什么?
(关系表达式) ? 表达式1 : 表达式2;
执行流程是什么?
先通过关系表达式进行判断,如果是true则返回表达式1,否则返回表达式2.
9:使用三元运算符完成如下练习
class HomeWork9 {
public static void main(String[] args) {
//比较两个数是否相等
int a = 10, b = 20;
boolean b1 = (a == b) ? true : false;
System.out.println(b1);
//获取两个数中最大值
int x = 10, y = 20;
int max = (x > y) ? x : y;
System.out.println(max);
//获取三个数中最大值
int r = 10,s = 20, t = 30;
int max = (r > s) ? r : s;
max = (max > t) ? max : t;
System.out.println(max);
}
}
10:流程控制语句有几种?
顺序语句。选择语句 if,switch。循环语句for,while,do...while。
11:if语句的格式有几种?注意事项是什么?分别在什么时候使用?
三种。
if(比较表达式) {
语句体;
},
注意事项:比较表达式结果必须是boolean类型,if控制单条语句大括号可以省略,
控制多条语句大括号不可以省略,最好永远不要省略。if()后不能写分号;
if(比较表达式) {
语句体1;
}else {
语句体2;
}
注意事项:else后面没有比较表达式。
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");
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 HomeWork13 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个成绩");
int score = sc.nextInt();
if (score <= 100 && score >= 90) {
System.out.println("该生成绩为A等");
}else if (score <= 89 && score >= 80) {
System.out.println("该生成绩为B等");
}else if (score <= 79 && score >= 70) {
System.out.println("该生成绩为C等");
}else if (score <= 69 && score >= 60) {
System.out.println("该生成绩为D等");
}else if ((score <= 59 && score >= 0)) {
System.out.println("该生成绩为E等");
}else
System.out.println("你输入的成绩有误");
}
}
14:switch语句的格式?针对格式的解释?以及注意事项?
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式解释:首先进行表达式计算,用得到值与case进行匹配,匹配到的执行该case下语句,
然后break中断语句。若都未匹配到则执行default下语句。
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
break最后一个可以省略,其他不要省略。 会出现case穿透现象。建议不要省略
default可以在任意位置。但是建议在最后。
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
import java.util.Scanner;
class HomeWork16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int i = sc.nextInt();
if (i >= 1 && i <= 7) {
System.out.println("星期" + i);
}else System.out.println("您输入的值没有对应的星期");
}
}
import java.util.Scanner;
class HomeWork16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int i = sc.nextInt();
switch (i) {
case 1 :
System.out.println("星期1");
break;
case 2 :
System.out.println("星期2");
break;
case 3 :
System.out.println("星期3");
break;
case 4 :
System.out.println("星期4");
break;
case 5 :
System.out.println("星期5");
break;
case 6 :
System.out.println("星期6");
break;
case 7 :
System.out.println("星期7");
break;
default :
System.out.println("没有对应的星期");
}
}
}
17:把今天讲过的其他案例再练习一遍