A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 西葫芦虾仁 中级黑马   /  2016-1-18 22:30  /  566 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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");
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马