Java 审查基调
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++;
}
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------
4、switch是否能用于byte
、long
或者string上?
回答:switch(expression),expression仅仅能是一个整数表达式或者枚举常量。整数表达式能够是int类型或者Integer包装类型。
byte。char,short
都能够隐含转换成int,因此这三个基本类型以及它们的包装类型都能够。long和string都不能。
-----------------------------------------------------------------------------------------------------------------------------------------------
5、 short
m = 1;m = m+1;和m +=1;
有差别么?都能通过编译么?
回答:m = m+1 ,因为1是int型,所以相加时结果自己主动提升到int类型,把int类型的结果赋给short类型的m,
编译不通过,必须加强制类型转换。而 m += 1;则不一样。
+=是java规定的运算符,编译器内部会进行特殊处理。相当于内部已经是强制类型转换了。因此编译通过。
-----------------------------------------------------------------------------------------------------------------------------------------------
6、 char
t= '张三';这句有错么?
回答:有错,由于char类型变量使用
Unicode来存储字符,Unicode中包括了中文汉字,所以存储没问题,问题是。char类型变量本身是2个字节,一个Unicode是2个字节,由于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
版权声明:本文博主原创文章,博客,未经同意不得转载。
Java 审查基调的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java源码安全审查
最近业务需要出一份Java Web应用源码安全审查报告, 对比了市面上数种工具及其分析结果, 基于结果总结了一份规则库. 本文目录结构如下: 检测工具 FindSecurityBugs 基于class ...
- Java程序员注意——审查Java代码的六种常见错误
代码审查是消灭Bug最重要的方法之一,这些审查在大多数时候都特别奏效.由于代码审查本身所针对的对象,就是俯瞰整个代码在测试过程中的问题和Bug.并且,代码审查对消除一些特别细节的错误大有裨益,尤其是那 ...
- java代码走查审查规范
分类 重要性 检查项 备注 命名 重要 命名规则是否与所采用的规范保持一致? 成员变量,方法参数等需要使用首字母小写,其余单词首字母大写的命名方式,禁止使用下划线(_)数字等方式命名不 ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
- Java模块化规范之争(转载)
经过近20年的发展,Java语言已成为今日世界上最成功.使用的开发者人数最多的语言之一,Java世界中无数商业的或开源的组织.技术和产品共同构成了一个无比庞大的生态系统. 与大多数开发人员的普遍认知不 ...
- Java多线程中的死锁问题
Java程序基本都要涉及到多线程,而在多线程环境中不可避免的要遇到线程死锁的问题.Java不像数据库那么能够检测到死锁,然后进行处理,Java中的死锁问题,只能通过程序员自己写代码时避免引入死锁的可能 ...
- 《Java JDK7 学习笔记》课后练习题1
1.()组织负责监督审查Java相关技术规格的演进. A. JCP B. Apache C. EU D. W3C 2.Java技术规格必须以()正式文件提交审查. A. RFC B. JSR C. I ...
- 【转发】关于Java性能的9个谬论
转载请注明出处,感谢大家的支持!本文来自优优码:http://www.uucode.net/201502/9%e4%b8%aa%e8%b0%ac%e8%ae%ba Java的性能有某种黑魔法之称.部分 ...
随机推荐
- UpdatePanel Repeater内LinkButton造成页面刷新问题
本意:UpdatePanel1内嵌的Repeater1中带有LinkButton1, 将由LinkButton1触发页面的UpdatePanel2更新,而不需要更新UpdatePanel1,当然也不需 ...
- 【译】ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解
原文:[译]ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一下自动生成的 Details 和Delete 方法. Details ...
- Hdu 4539 【状态DP】.cpp
题意: 一个炮兵可以攻打和他之间曼哈顿距离为2的士兵,给出你一块n*m的战场,告诉你哪些地方可以站人哪些地方不可以,问你最多可以安放多少个士兵? n <= 100, m <= 10 思路: ...
- linux--档案权限与目录配置
下面是最近学习档案权限与目录配置的一些知识点总结***博客园-邦邦酱好*** Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变的很重 ...
- php判断页面是电脑登录还是手机登录
首先说最根本的解决方法: 手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码,则可以肯定是通过手机wap访问的.但是目前 中国移动已经屏蔽了user- ...
- Hibernate 配置详解(11)
hibernate.session_factory_name_is_jndi 配置hibernate.cfg.xml中SessionFactory的name属性是否作为JNDI名称绑定.默认是true ...
- [POJ 3150] Cellular Automaton (矩阵高速幂 + 矩阵乘法优化)
Cellular Automaton Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 3048 Accepted: 12 ...
- Linux游(1): diff, patch和quilt (下一个)
Linux游(1): diff, patch和quilt (下一个) 2 quilt 我们自己的项目可以用cvs或svn管理所有代码.但有时我们要使用其它开发人员维护的项目.我们须要改动一些文件.但又 ...
- Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)
Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将数据库恢复到某个过去的特定时间点或特定的 ...
- JS window.open()财产
一. Window 对象 Window 对象是 JavaScript 顶级对象层次. Window 对象表示一个浏览器窗口或帧. Window 在对象 <body> 或 <frame ...