从零开始学习Java记录的基础知识点(零散)

1 程序设计基础
1.1 什么是程序和程序设计
一.什么是程序?
生活当中无处不有程序:
1)新生报到程序:注册-缴费-分班级-分宿舍-领被装;
2)医院看病:挂号-排队-诊断-缴费-化验检查-开药;
3)早上起床:穿衣-上厕所-刷牙-洗脸-擦护肤霜;
4)坐地铁:进站-安检-售票-候车-乘车-下车-出站;
程序就是解决某个问题步骤的描述。
计算机程序:由计算机去执行的,由计算机语言描述的程序。


二.什么是程序设计?
编制解决某个问题的步骤。
要求:熟悉业务流程,熟悉语言。


三.学习程序设计应该学什么?
1)提升问题解决能力;
2)熟练掌握至少一门计算机语言;
重点是1)
比方:
1陈景润证明哥德巴赫猜想,他要把研究成果发表在国际顶尖期刊《自然》上,但《自然》不接收中文投稿,陈景润本人不会英语,所以需要有个助手帮他翻译才能发表。但是显然陈景润的工作更加重要。
2再比如霍金......
语言只是一个表达工具,工具的使用往往并不需要太多的学习,而是需要实践,知行合一,甚至是行先于知。比如小孩学说话。
1.2 数据类型、常量和变量
数据类型
生活中的数据其实也是有类型的,比如年龄21(整数),姓名:“张帆”(字符串),考试平均分77.12(浮点数),婚否:是/否(逻辑类型/布尔类型)。
Java中常用的数据类型:int short long float double String boolean
数据类型有何作用?
1)决定了数据所占内存空间大小,比如int占4个字节,long占8个字节,double占8个字节;
2)决定了数据所能执行的操作;比如说整形,浮点型都能做四则运算,而字符串不能,但字符串能做连接等运算。
案例1:Hello World

从零开始学习Java记录的基础知识点(零散)从零开始学习Java记录的基础知识点(零散)结果:从零开始学习Java记录的基础知识点(零散)





心得体会:
学会了创建项目,创建包,创建类,运行程序,查看结果等开发工具常见操作。
了解了System.out.print()代码。
System,out.print(ln)();加ln时表示下一行输出换行;不加表示下一行输出不换行,仍在同行。

案例2:数据类型所能执行的操作;

从零开始学习Java记录的基础知识点(零散)







心得体会:

各种数据类型所能执行的操作也各有不同,固化的;
数值型数据类型例如int double float 型可以进行四则运算;
字符串类型String不能做四则运算,可以做字符串之间的连接;
当出现语法错误时,eclipse会以红色波浪线提示,鼠标移上去会有报错信息提示;

从零开始学习Java记录的基础知识点(零散)






常量:
所谓常量就是指在程序运行期间其值不变的数据;
常量有直接常量和符号常量;
直接常量:312, 3.14(默认为double), “abc”, 3.14f(看成float), 1.2e-6(1.2*10^-6), 
数制:计数的方法;
生活中我们的数制有十进制,五进制(珠算);
为什么计算机使用二进制?
因为无法找到一个物体能呈现出10中状态,而就有两种状态的物体比较容易找到,比如电流的正负极,电压的高低,磁体的两极等;
显然这就需要进制转换。
计算机中还有八进制和十六进制,为什么还需要它们?
二进制表达形式往往较长,不便于书写和阅读;而八进制或者十六进制的长度只有它的1/3或1/4,而且转换也特别容易(一位八进制等价于三位二进制),

案例:常量与进制

从零开始学习Java记录的基础知识点(零散)








结果:

从零开始学习Java记录的基础知识点(零散)






心得体会:
1.Java中八进制数据以“0”开头,0123=1*8^2+2*8^1+3*8^0=83;
2.Java中十六进制数据以“0x”开头,0x123=1*16^2+2*16^1+3*16^0=291;
符号常量:给常量命名;

从零开始学习Java记录的基础知识点(零散)







结果:

从零开始学习Java记录的基础知识点(零散)




如果圆周率改为3.1415926,怎么办?
如果程序中十次用到了圆周率怎么办?
显然这种方式修改起来很麻烦,容易遗漏,而且代码可读性也不强。有没有更好的解决办法—符号常量。

从零开始学习Java记录的基础知识点(零散)从零开始学习Java记录的基础知识点(零散)使用符号常量后,程序修改如下:

从零开始学习Java记录的基础知识点(零散)








此时程序的可读性明显增强,因为一个有特定含义的名字比一个无特定含义的数值更能表达丰富的含义。
而且便于维护,如果要修改圆周率,只需修改该符号常量的定义即可。
心得体会:
1.如果代码中的3.14f改成3.14,eclipse就会报错,因为“π” 3.14在Java中默认为double型,在进行float型运算时,应在3.14后加f,如3.14f,这样就可以将3.14理解为float型继而进行运算。
2.符号常量的好处:增强程序可读性;便于维护。

变量:在程序期间它的值可以被改变。
变量到底是什么?
变量的本质是一个内存单元,内存单元是可读写。内存单元有两个属性;
值和地址(编号)。
  int x=32;
  int y=x+12;

从零开始学习Java记录的基础知识点(零散)






int x=32 理解为先申请一个整型内存单元(4个字节),把它命名为x,同时把32存入(赋值)这个内存单元。
int y=x+12理解为先申请一个整型内存单元(4个字节),把它命名为y,然后将x所对应的内存单元的值取出来和12相加,得到结果44,最后再将44存入内存单元y中。
int x+=9理解为将x所对应的内存单元的值取出来和9相加,得到结果,最后再将结果又存入到内存单元x中。
标识符:就是一个名字,比方说常量名,变量名,方法名,数组名。
标识符命名规则(必须遵守):
(1)由字母,数字和下划线组成;
(2)数字不能开头;(why? 0123会与八进制数出现歧义)
(3)关键字不能用;(while for if 避讳)
标识符命名规范(建议):
(1)见名思义,比如price,area不要随意命名为x,y等无意义的名字;
(2)尽量使用英文单词,不要使用拼音;
(3)如果一个单词不足以描述其含义,可以使用词组,此时应使用驼峰命名法。比如说priceOfPig表示生猪的价格;
(4)变量名,数组名,方法名以小写字母开头;类名以大写字母开头;常量全部采用大写,比如PRICE,如果是词组可以用下划线隔开,如PRICE_MEAL表示猪肉的价格。