1:常见的算术运算符有哪些? + - * / % ++ --
+运算符的作用有哪些? 一:表示正数 二:加法运算符 三:连接输出语句
除法和取余的区别? 除法是求商 取余是求余数
++和--的使用规则? a:单独使用:
放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
b:参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。
2:常见的赋值运算符有哪些? = += -= *= /= %=
+=运算的作用是什么? 把左边和右边相加赋值给左边
扩展的赋值运算符有什么特点? 同上
3:short s = 1; s = s + 1;有没有问题?如果有怎么解决? 有,1默认为int型, 需要强制转移
short s = 1; s += 1;有没有问题?如果有怎么解决? 没有
4:常见的关系运算符有哪些? ==,!=,>,>=,<,<=
关系运算符的结果有什么特点? 都是布尔型;
5:常见的逻辑运算符有哪些? & | ^ !
&和&&的区别是什么? &和&&的作用结果是一样的,&&具备短路效果,如果左边是false,右边不管什么,结果都是false
|和||的区别是什么? |和||的左右结果是一样的,||具备短路效果,如果左边是true,右边不管是什么,结果都是true
6:位运算符^的特点是什么? 操作的都是二进制数
7:如何实现对两个整数变量的值进行互换。
思路一:利用第三方临时变量
int a = 10,b=20;
int temp = a;
a = b;
b = temp;
思路二:利用加法(有缺陷,有可能超出定义数值的类型的范围)
int a = 10,b = 20;
a = a+b;
b = a-b;
a = a-b;
思路三:利用按位异或方法
x = x^y; //x>> x^y
y = x^y; //y>> x^y^y
x = x^y; //x>> x^y^x^y^y
// y^((x^y^y)^x)
// y^(x^x)
// y^x^x
// y
8:三元运算符的格式是什么? (关系表达式)?表达式1:表达式2;
执行流程是什么? 先判断关系表达式为true还是false,true的话执行表达式1,false的话执行表达式2
9:使用三元运算符完成如下练习
比较两个数是否相等
int a =10,b = 20;
String s = (a==b)?"它俩相等":"它俩不等";
获取两个数中最大值
int a = 10,b = 20;
int max = (a>b)?a:b;
System.out.println("最大数为"+max);
获取三个数中最大值
int a = 10,b = 20,c = 30;
int max = (a>b)?((a>c)?a:c):((b>c)?b:c);
System.out.println("三个数中最大的是"+max);
10:流程控制语句有几种? 顺序结构
选择结构
循环结构
11:if语句的格式有几种?注意事项是什么?分别在什么时候使用?
三种:
第一种:if () { // 在只有一个判断语句时候用
}
第二种:if () { //在有两个判断语句的时候用
}else{}
第三种:if () { //在有三个或三个以上的判断语句的时候用
}else if () {
}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
---------------------------------------------------
13:编写代码实现如下内容:if语句实现
考试成绩分等级。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
请根据给定成绩,输出对应的等级。
if (num<=100&&num>=90) {
System.out.println("成绩为优秀A");
}
else if (num>=80&&num<=89) {
System.out.println("成绩为良好B");
}
else if (num>=70&&num<=79) {
System.out.println("成绩为中C");
}
else if (num>=60&&num<=69) {
System.out.println("成绩为差D");
}
else {
System.out.println("你是个天才");
}
补充,请思考:(请用代码实现)
1,如果只允许在条件表达式里写一个条件,还可以用if...else if来做吗???
升级版:
if (num<=100) {
if (num>=90) {
System.out.println("优秀");
}else if (num>=80) {
System.out.println("良好");
}else if (num>=70) {
System.out.println("中");
}else if (num>=60) {
System.out.println("差");
}else {
System.out.println("天才");
}
}
2,如果用switch可以完成吗? case控制在10个以下呢???
终极版:
int temp = num/10;
switch(temp){
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良");
break;
case 7:
System.out.println("中");
break;
case 6:
System.out.println("差");
break;
default :
System.out.println("天才");
break;
}
14:switch语句的格式?针对格式的解释?以及注意事项?
switch(表达式){
case 常量1:
执行语句;
break;
case 常量2:
执行语句;
break;
default :
执行语句;
break;
}
switch 建议在判断固定值的时候用,有两个判断switch语句结束的条件:
一:遇到break就结束了
二:执行到switch的右大括号就结束了.
表达式可接受的基本数据类型有 byte,short,char,int
可接受的引用数据类型有 枚举型(JDK1.5)
String字符串(JDK1.7)
注意事项:
case 后面只能是常量
多个case后面的值不能相同
15:看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
输出结果:
y=6
16:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
输入:1
输出:星期1
switch 实现:
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("你输入的数字不属于1~7,请重新输入");
break;
}
if 实现:
int num = sc.nextInt();
if (num==1) {
System.out.println("星期一");
}else if (num==2) {
System.out.println("星期二");
}
.......
}else {
System.out.println("您输入的数不属于1~7");
} |
|