下面是看
Java核心技术卷1
时觉的有必要进行总结的知识点。虽然有一些知识不是很常用,但是还是很有必要掌握的,对于构建完整的知识体系十分的重要。
第三章 Java基本程序设计结构
数值类型之间的转换
我们经常需要将一种数值类型转换成另外一种数值类型。
其中实线表示的是无精度丢失的转换,虚线表示可能有精度丢失的转换。
比如将byte转换成short精度不会损失,而将int转换成float将会导致精度的损失。
对于 byte、short、char型的相互运算,会先将它们强转为int型再进行运算.
byte a = 1;
byte b = 2;
short c = 3;
short d = 4;
char e = 'a';
char f = '\u0000';
byte
类型相加
byte + short:
byte + char:
short + char:
char + char:
位运算符
位运算符在实际的工作中虽然用的不多,但是知道它的语法和原理也是很有必要的。
在本节中会涉及到原码
,反码
和补码
的知识可以参考下面的文章
String类型的详解
如果想对于String
有更加详细的认识,可以参考文章:字符串参考文章
下面主要讲的是
StringBuilder
,是线程不安全的,但是效率最高的。效率的高低排序
StringBuilder
>StringBuffer
(线程安全的)>String
StringBuilder builder = new StringBuilder();
当需要添加内容的时候,可以调用append()
builder.append(ch) //添加一个单一的字符
builder.append(str) //添加一个字符串
String completedString = builder.toString();
控制流程
块作用域
但是需要注意的嵌套的两个块不能有同名变量的声明。如下面的代码中将会报错。
public class Exer {
public static void main(String[] args){
int a;
{
int a;
int b;
}
}
}
swich语句
其中的case
标签可以是如下:
- 类型为char、byte、short、或是int
- 枚举常量
- 从Java7开始,case标签还可以是字符串字面量
带标签的break语句
在java中为了达到和c语言中goto语句相似效果的语句可以使用带标签的break语句,不过不太建议使用这个语句。
具体的用法
数组
- 声明数组
在java中允许长度为0的数组,注意,需要注意的是长度为
0
的数组和null
并不相同
下面两种定义长度为0的数组
int[] b = new int[0]; //长度为0的数据组
int[] c = new int[]{}; //长度为0得到数组
- 访问数组中的元素
String[] a = new String[10];
for(int i =0;i<10;i++) name[i] = "";
需要注意的是如果访问数组下标以为的元素,将会产生数组下标越界异常
foreach循环
语法格式为
for(variable:collection) statement
它定义了一个变量用于暂存集合中的每一个元素,并执行相应的语句(也可以是语句块)。collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象(例如ArrayList)。
for(int element:a) System.out.println(element);将打印数组中每一个元素,一个元素占用一行
int[] wei =new int[]{1,2,3,4,5};
System.out.println(Arrays.toString(wei));
总结
本章为Java的程序设计结构的基础语法部分,在看完本章之后,对于一些觉得有疑惑的地方进行了代码的验证,同时对于一些不是很熟悉的知识例如位运算书中讲的不是很详细,并且感觉大部分的内容都已经忘记,因此为了弥补不足,通过查阅资料的方式进行进一步的学习。同时对于之前没有了解过的知识有了初步了认识比如带标签的break语句。看完本章的内容,整体上收获挺多,后面将更加更加认真的观看其它章节的内容,弥补不足指出。