零基础学Java语言_翁恺 自学笔记

/ 0评 / 0赞 / 

本次自学的是零基础学Java语言教程-翁恺
https://www.icourse163.org/course/ZJU-1001541001?tid=1465613445

使用了官方汉化,汉化教程见文章底部

计算:

变量常量:

变量定义的一般形式是
<类型名称><变量名称>;

定义一个常量:

final int amount = 100;

输入输出:

输出字符串:请输入票面
读取一个用户输入的int
输出字符串:请输入金额
读取一个用户输入的int

浮点数:

可以如第二行把整数交给double

类型转换:

在结果前加(int)

这是把它右边的数变成int,所以这样不行:

这样才行:

要注意的是 并不会改变原来的值

判断和分支:

注释:

注释的//和/**/和c一样

比较:

==
!=
>
>=
<
<=

跟c一样

所有关系运算符的优先级比算术运算低 比赋值高

bool:

java里是有true和false的,并且true和false之间没有大小关系

c没有bool类型,Java有并且bool就是bool不是数值。

浮点数比较:

“1.0”和“十个0.1相加”之间进行比较是否相等,他们的结果不是true

因为浮点数不是精确的,所以需要用另外的方法

if-else

if (判断对错)

如果if括号内是true那就执行{}内的语句否则跳过{}。

跟c一样不加{}也行

else总是和最近的if匹配

建议ifelse后面总是加{}

级联:
if
else if
else if
else

单一出口

switch-case

if和switch跟c一模一样,一点都不带改的

do-while:至少执行一次

for也完完全全一模一样

+=和-=和/=等等也一样,i++也可以用

i++和++i的区别也一样

break和continue也一样

JAVA的多重循环退出方法:

这个例子是计算某个价钱可以用多少零钱来换,现在的需求是计算出第一个就退出,但是如果是c的话就只能break的接力(或者goto),而正如图所示,JAVA可以使用“标号”来标记第一个for循环,然后直接跳出多重循环。

Java的逻辑类型(boolean):

关系运算的结果是一个逻辑值,true或false,这个值可以保存在一个对应的逻辑类型的变量中,这样的变量类型是boolean

布尔(Boolean)是为了纪念George Boole对逻辑计算的贡献

逻辑运算的运算符也是一样的:&&和||和!

逻辑运算符的优先级:

!取反>&&与>||或

所以上面的是先算取反,然后算括号内的,最后做"与"的判断

所有的单目运算符的优先级都很高

带格式的输出:

哦我的上帝,printf原来在这里等着呢,如果希望像c那样控制输出,就要从这样改成这样写:

等下等下,这不就完全变成c语言的形状了吗

数组:

定义:

一旦创建,不能改变大小

元素个数必须是整数,元素个数必须给出,元素个数可以是变量

数组的length:

每个数组有一个内部成员length,会告诉你它的元素的数量

直接初始化数组:

用c的方法:

用这种方法不可以设置数组的大小,必须初始化。

数组变量并不是数据的所有者:

如果定义一个普通的变量,那么就在此处创建了空间,普通变量就是空间里的数据的所有者

定义一个数组变量,会在不知道的地方创建数组的空间

数组变量只是管理者

无论是用什么方法制造出来的数组都是这样的(包括用{}初始化的),

所以如果写入这样的代码:

那么只是让b也一起去管理a管理的变量,这个时候就是两个管理者管理一串数组

所以这个时候进行b[0] = 16,那么a[0]也等于16

复制数组必须使用便利的方法逐个的拷贝。

for-each循环:

对于"某个数组"中的每一个元素,循环的每一轮都会将其拿出来作为一个k

k在第一次for的循环等于数组的第0个,第二次是数组的第1个。

k是不断变动的,简单说就是每次循环都会遍历每一个元素然后让k等于这个数。

for与数组的例子:

最基础的方法:

对于n要循环n-1遍,当n很大时可以看作n遍

去掉偶数的改进方式:

如果x是偶数那么立刻结束判断,否则要循环(n-3)/2+1遍,n很大时就是n/2遍

构造素数表(计算机思维):

欲构造n以内的素数表

  1. 令x为2
  2. 将2x、3x、4x直至ax<n的数标记为非素数
  3. 令x(循环正指着的位置)为下一个没有被标记为非素数的数,重复步骤2;
    直到所有的数都已经尝试完毕(到达设定的素数表的边缘)

本笔记内直接或间接引用了如下内容:

发表回复

您的电子邮箱地址不会被公开。