java葵发宝典

preview
需积分: 0 1 下载量 77 浏览量 更新于2018-08-28 收藏 1016KB DOC 举报
【Java葵发宝典】是专门为了学习交流而编写的资料,涵盖了Java编程语言的基础到进阶知识,尤其适合准备面试和笔试的人员。这里我们将深入探讨其中的一些关键知识点。 ### 1. Java基础部分 #### 51、一个.java源文件中的类数量 在Java中,一个`.java`源文件可以包含多个类,但有一个限制:**主类(即包含`public static void main(String[] args)`方法的类)只能有一个,并且它的定义必须与文件名相同**。其他非主类可以有多个,它们不需与文件名对应。 #### 52、Java中的goto关键字 Java语言设计时摒弃了`goto`关键字,因此在Java中没有`goto`。这一决定主要是为了提高代码的可读性和可维护性,避免无尽的跳转导致的混乱。 #### 53、&和&&的区别 `&`是位运算符,用于进行按位与操作,也可以作为逻辑与运算符。在逻辑表达式中,如果两边的操作数都被计算,即使左侧为假,右侧也会被执行。而`&&`是短路逻辑与,当左侧操作数为假时,右侧操作数将不再计算,因为结果已经确定为假。 #### 54、跳出多重嵌套循环 在Java中,如果你想跳出多重循环,可以使用`break`语句配合标签来实现。例如: ```java outerLoop: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (某些条件) { break outerLoop; // 跳出外层循环 } } } ``` #### 55、switch语句的适用类型 `switch`语句可以作用于`byte`, `char`, `short`, `int`, `枚举类型(enum)`以及Java 7引入的`String`上。不能直接作用于`long`类型,因为`switch`的case标签要求是常量表达式,`long`占64位,无法作为常量池的一部分。 #### 56、short变量的自增问题 ```java short s1 = 1; s1 = s1 + 1; // 错误,因为表达式s1 + 1的结果是int类型,无法直接赋值给short类型 s1 += 1; // 正确,编译器会自动处理类型转换,将int转换为short ``` #### 57、char变量存储中文汉字 `char`类型在Java中占用两个字节,可以存储Unicode编码的字符,因此理论上可以存储中文汉字。但是需要注意,中文字符通常需要两个或更多字节表示,因此在处理时要确保有足够的空间。 #### 58、2乘以8的高效计算 计算2乘以8的最有效率方法是利用位移运算符`<<`,因为位移运算在计算机底层执行非常快速: ```java int result = 2 << 3; // 或者 2L << 3 如果你需要long类型的结果 ``` 这里,`2 << 3`相当于将2左移三位,等价于2 * 2 * 2 * 2,即2的3次方,结果是8。 以上仅是Java葵发宝典中部分内容的解释,Java的学习是一个系统的过程,涉及到类、对象、包、接口、异常处理、多线程、集合框架、输入/输出、网络编程等多个方面。持续学习并实践这些知识点,对于成为一名优秀的Java开发者至关重要。