学习资料:翁恺《零基础学Java语言》(中国大学MOOC平台)背景:学过c/c++
---------------------------
定义常量:final int a=2;
println输出的后面带回车。print输出后面没有。
读输入
Scanner in = new Scanner(System.in);
System.out.println(in.nextLine());
int price = in.nextInt();
int[] numbers = new int[100];
当整数和浮点数放在一起计算时,java会把整数转换为浮点数。
浮点数在运算的时候是不精确的。
结合关系(相同优先级,如何判断)
一般都是自左向右。
单目+-和赋值=是自右向左的
强类型转换
(int)(a+b*s)
数组变量赋值(!)
如果我们int i=5; 这个i是个变量,里面存了一个数。
如果int[] a = new int[10]; 这个a是个变量,但是里面没有数组。在另外一个地方有那么一个数组。a是那个数组的管理者。
普通变量是所有者,而数组变量是管理者。
所以如果我们int[] b=a; 那么b和a共同管理同一个地方的数组。在这个过程中没有创建任何新的数组。
数组的名字本质上就是数组第一个元素的指针。
所以对b[0]进行更改,a[0]的值也变了。
- 数组变量是数组的管理者而非数组本身
- 数组必须创建出来然后交给数组变量来管理
- 数组变量之间的赋值是管理权限的赋予
- 数组变量之间的比较是判断是否管理同一个数组
如果要复制数组,必须遍历源数组将每个元素逐一拷贝给目的数组
java会默认初始化没赋值的数组的每一个值为0
for-each循环
int[] data = new int[10];
for (int num : data)
{
//...
}
num从data[0]遍历到data[9]
但在这种循环里面,我们不知道位置(下标)
包裹类型
对于基本数据类型,Java提供了对应的包裹(wrap)类型。这些包裹类型将一个基本数据类型的数据转换成对象的形式,从而使得它们可以像对象一样参与运算和传递。下表列出了基本数据类型所对应的包裹类型:
我们看到,除了int和char以外,包裹类型就是把基本类型的名字的第一个字母大写。在Java的系统类库中,所有第一个字母大写的,都是类的名字。所以在编辑程序的时候,一定要小心大小写,以免一不小心犯错。
有很多好用的方法。
字符串
字符串变量和数组变量类似,它并不存放字符串,不是字符串的所有者,它是字符串的管理者。
Java的字符串还是一种特殊的“不可变”对象,所有的字符串操作都是产生一个新的字符串,而不是对原来的字符串的修改。对这一点的理解颇为重要。
String s = "hello"
编译器帮你创建一个String类的对象交给s来管理。
简单地==的比较,是比它们是不是指向同一个地方,而不是比较内容的相似性。
函数
Java的函数必须定义在类的内部,成为类的成员。
在这个阶段,我们要在所有的函数的返回类型前面加上关键字“static”。static表示这个函数属于这个类,而不属于这个类的任何对象,因此我们才可以不制造这个类的对象,而直接从main()函数中调用它。
(基础部分完)
------------------------------
Eclipse快捷键:
首字母提示:alt+/
注释:command+/
选择下一句:shift+向下的方向键