学Java SE也有一段时间了,我之前或多或少地有学过一些C和Java的基础知识,不得不吐槽的是我们学院的老师简直是脑残,选的狗屁Java教材,云里雾里,C里面很简单的输入输出语句在Java里就很难找到,各种大串的不认识的英文字符。今天看到一篇别人的java io总结,开头说道:“说实话,其实我并不是很喜欢Java这门语言,尽管它很强大,有很多现成的API可以调用,但我总感觉它把简单的事情弄得太过复杂,甚至有时候会让人迷失,弄不清到底是为了写出东西,还是为了语言本身。写一堆含糊的代码来实现一个小小的功能。坦白讲,如果一个人在学习自己不感兴趣的东西,那会很累。”
这些天回想一下,其实基础的部分也无非是:数据类型、字符串、运算符、流程控制、数组,再有就是面向对象的知识。
Java的8种基本数据类型(primitive data type)分为数值类型和布尔型。byte、short、char、int、long、float、double和boolean。Java里没有字符串类型,只有String类,它有很多构造方法可以用来产生字符串,只是有一点特别的是String s=“hello";和 String s=new String("hello");不一样,在String类中以字面值创建时,会到Java方法空间的串池中去查找,如果没有则会在串池里创建一个字符串对象,并返回地址给引用变量s,如果有则直接指向串池中的 已存在的字符串对象;new,则会在堆空间中创建String对象。Java默认的整型是int、默认的浮点型是double,所以long a=23234L;float b=3.1415F。
Java的引用类型(reference type)包括数组(array)、类(class)、接口(interface)、枚举(enum)和注解(annotation)。引用变量实际存的是地址值,相当于指针。前面提到String类,String s,则String是引用类型,s是引用变量。数组推荐使用 int[] a这种形式定义,它的初始化方式有两种:int[] a=new int[]{1,2,3,4,5}或 int[] a=new int[5],并且提供了一种foreach循环遍历数组元素。二维数组用的也很多,定义int[][] a,初始化 int[][] a=new int[2][3],这个二维数组的元素是int[3]数组 ,长度为2 。
流程控制:顺序、分支、循环。分支里如:if/if...else/if...else if...else if....else/switch...case;循环如:while/do...while/for/递归调用自身。在实际用到的时候,才易于记住。
面向对象的知识下次再总结。