博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 审查基调
阅读量:5780 次
发布时间:2019-06-18

本文共 2439 字,大约阅读时间需要 8 分钟。

1& &&的差别

两个都有逻辑与的功能。

可是所不同的是。当&两边的表达式不是boolean类型的时候,&具有位与的功能;&&是短路与,当推断到前一个表达式为false的时候,将不会再去计算后面的表达式。

如:

int i = 0;       System.out.println((1==0)&(0==(i++)));        System.out.println(i);

输出是:

false

1

可是,

int i = 0;       System.out.println((1==0)&&(0==(i++)));        System.out.println(i);

输出是:

false

0

-----------------------------------------------------------------------------------------------------------------------------------------------

2、一个java源文件里能否够包括多少个类?

回答:能够,可是仅仅能有一个public的类,而且类名与文件名称一致。

-----------------------------------------------------------------------------------------------------------------------------------------------

 

3、怎样跳出多重嵌套循环?

两种方法:

1)在循环前面能够设置一个标号,格式就是 名字+冒号。如

ok:           for (int i = 0; i <2;i++) {for(int j = 0; j < 7; j++) {if(m == 10) {breakok;}else{m++;}}}           System.out.println(m);

2)设置标志位。让外层循环收到内层循环的影响。

boolean breakFlag =false;for (int i = 0; i< 2 && (!breakFlag); i++) {for(int j = 0; j < 7; j++) {if(j == 6) {breakFlag= true;break;}else {m++;}}}

-----------------------------------------------------------------------------------------------------------------------------------------------

4switch是否能用于byte long 或者string上?

回答:switchexpression,expression仅仅能是一个整数表达式或者枚举常量。整数表达式能够是int类型或者Integer包装类型。 bytechar,short 都能够隐含转换成int,因此这三个基本类型以及它们的包装类型都能够。longstring都不能。

-----------------------------------------------------------------------------------------------------------------------------------------------

5 short m = 1;m = m+1;m +=1;  有差别么?都能通过编译么?

回答:m = m+1 ,因为1int型,所以相加时结果自己主动提升到int类型,把int类型的结果赋给short类型的m

编译不通过,必须加强制类型转换。而 m += 1;则不一样。

+=java规定的运算符,编译器内部会进行特殊处理。相当于内部已经是强制类型转换了。因此编译通过。

-----------------------------------------------------------------------------------------------------------------------------------------------

6  char t= '张三';这句有错么?

回答:有错,由于char类型变量使用 Unicode来存储字符,Unicode中包括了中文汉字,所以存储没问题,问题是。char类型变量本身是2个字节,一个Unicode2个字节,由于char 仅仅能存储一个汉字。               

 

7、使用final 修饰一个变量的时候。是引用不能变,还是引用的对象不能变?

回答:引用变量不能变。如final StringBuilder sb = newStringBuilder("ddd");

假设是下一句是sb = new StringBuilder("cccc");是肯定出现编译错误的。可是能够运行例如以下语句:

  sb.append("ddd") ;

 

 8== equal的差别?

回答:== 是用于比較两个变量的值是不是相等。如基本类型或者 两个引用变量。

  也仅仅能用==操作符,

不能用equal操作符。

equal操作符是比較两个独立对象的内容是不是相等。

String a = new String("dd");             String b = new String("dd");             System.out.println(a==b);             System.out.println(a.equals(b));

      将会输出:

      false

      true

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
一个不错的vue项目
查看>>
屏蔽指定IP访问网站
查看>>
python学习 第一天
查看>>
根据毫秒数计算出当前的“年/月/日/时/分/秒/星期”并不是件容易的事
查看>>
python的图形模块PIL小记
查看>>
shell变量子串
查看>>
iOS的主要框架介绍 (转载)
查看>>
react报错this.setState is not a function
查看>>
poj 1183
查看>>
从根本解决跨域(nginx部署解决方案)
查看>>
javascript实现的一个信息提示的小功能/
查看>>
Centos7.x:开机启动服务的配置和管理
查看>>
HTML5 浏览器返回按钮/手机返回按钮事件监听
查看>>
xss
查看>>
iOS:百度长语音识别具体的封装:识别、播放、进度刷新
查看>>
JS获取服务器时间并且计算距离当前指定时间差的函数
查看>>
java中关于重载与重写的区别
查看>>
最受欢迎的14款渗透测试工具
查看>>
华为硬件工程师笔试题
查看>>
jquery居中窗口-页面加载直接居中
查看>>