----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
编程基础
关键字:算法;伪代码;基本数据类型;运算符;变量;常量
一.引述
学习编程的目的:获得描述实际问题的程序化解决方案的技能,并把问题需求的解决方案用代码变成程序。
关于程序设计,要从例子中学习,要从练习中学习,要从问题中学习;需要花费大量的时间来编写程序,调试程序,并修改错误,记录笔记心得。
兴趣是指导学习最好的老师;解决错误是让人进步最快的老师。
学习JAVA SE编程的阶段三个阶段:
1.掌握了使用循环,方法,数组的使用就算掌握了编程的基本技能。
2.通过学习面向对象的设计思想,面向对象的方法。
3.理解掌握了面向对象的概念,学习Java就变成了学习Java API
二、基本程序设计概要
编写程序涉及如何设计算法和将算法翻译成代码两部分内容(即:设计算法、实现代码)。
(1)算法:解决问题时所需执行的动作、步骤,以及执行这些动作、步骤的顺序。其中,算法可以使用自然语言或者伪代码来描述。
(2)伪代码:即自然语言和程序设计代码混在一起使用。
(3)数据类型:程序主要的工作就是对数据进行处理,每个数据类型都有它的取值范围,编译器会根据数据类型为其分配内存空间。
数据类型的出现是为了更加合理地使用内存。依据各个数据占有内存空间的大小而划分为不同类型的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。
Java的数据类型有:基本数据类型(原始数据类型)和 引用数据类型。划分的标准是依据数据在内存中存放的位置。基本数据类型在栈中,引用数据类型在堆中。引用数据类型都是通过new 操作符来创建的。
Java使用四种类型的整数:byte、short、int、和long。
Java使用两种类型的浮点数:float(单精度)和 double(双精度)。
补充:
一个二进制单位为一比特:bit
八个比特为一个字节:byte
为什么把float型和double型称作浮点数?
因为这些数字在都是以科学计数法的形式存储的,当一个数被转换成科学计数法形式时,它的小数点就浮点到一个新的位置。
(4)标识符:程序中出现的事物的名字:对于变量,常量,方法(函数),语句块,类……都有名字,我们统统称之为标识符。
标识符的命名规则:
① 标识符是由字母、数字、下划线__、和美元符号$构成的字符序列。
② 标识符必须由字母、下划线__、或者美元符号$开头,不能以数字开头。
③ 标识符不能是关键字(保留字)。
④ 标识符不能是true 、false、或null。
⑤ 标识符可以是任意长度。
注意:
① Java是区分大小写的。
② 标识符是为了命名 变量、常量、方法(函数)、类和包。描述性的标识符可提高程序的可读性。
③ 不要以字符$命名标识符。习惯上,字符$只有在机器自动产生的源代码中。
(5)关键字(保留字):关键字是编程语言里事先定义的,有特别意义的标识符,有时又叫保留字。
截止到JDK1.5中Java的关键字有50个。
保留字的特点:都为小写字母。
(6)变量:指定在程序中用于存储数据和计算结果的内存位置。每个变量都有自己的名字和类型,可以用来访问它在内存中的位置。它们被称之为变量是因为它们的值可能会被改变。
① 变量的作用:变量就是一个容器,用来存取内存中的特定类型的数据。
② 变量的要素:数据类型、变量名。
③ 变量声明:告知编译器根据数据类型为变量分配合适的存储空间。
④ 变量的范围:成员变量,局部变量
⑤ 声明变量的语法:data Type variable Name
变量声明的例子:
int count;
double radius;
String name;
如果几个变量为同一类型,允许一起声明它们,如下所示:
int i, j, k;
⑥ 变量初始化:变量都有初始化值,可以一步完成变量的声明和初始化。例如:
int count = 1;
也可使用简捷方式同时声明和初始化同一类型的变量。例如:
int i = 1, j = 2;
注意:在给变量赋值之前,必须声明变量。
⑦ 变量的命名习惯(驼峰命名法则):变量名使用小写字母表示,如果一个名字由多个单词组成,那么将所有的词连接起来,并且除了第一个词以外,其他的第一个字母都要大写。
例如: String personName; double interestRate;
(7)赋值语句和赋值表达式
在声明变量后,可以使用赋值语句给变量赋值。在Java中,将等号 = 作为赋值运算符。赋值语句的本质:计算出一个值,并将它赋给运算符左边的变量的一个表达式。
赋值语句的语法: variable = expression; (变量 = 表达式;)
表达式:表示涉及值、变量和运算符的一个运算,它们组合在一起计算出一个新值。其中变量也可在表达式中。例如: X = X + 1;
注意:给一个变量赋值,其中变量名必须在赋值运算符的左边。在赋值语句中左边的数据类型必须与右边的数据类型兼容。如 int i = 1.0;此语句非法。
(8)数据类型转换:数据类型转换是将一种数据类型的值转换成另一种数据类型的操作。
将一种小范围的类型变量转换为大范围的类型变量称为拓宽类型;
把一个大范围的类型变量转换为小范围的类型变量称为缩窄类型;
注意:
拓宽类型不需要显式转换JVM(Java虚拟机)可以自动执行转换。
缩窄类型必须强制显式完成。
类型转换语法:把目标类型放在括号内,紧跟其后的是要转换的变量名或值。
例如: int i = (int)1.0;
警告:
如果将一个值赋给一个范围较小类型的变量,如将double型的数据赋给int 型变量
就必须进行类型转换。否则,编译器会报错。此外使用类型转换时要小心丢失精度。
(9)常量:与变量不同,表示程序中长久不改变的数据。
声明常量的语法:常量必须在一条语句中声明和赋值,单词final是声明常量的Java关键字。 final date type CONSTANTNAME = VALUE ;
例如:final double PI = 3.14159;
注意:按照命名习惯,常量用大写字母命名。
使用常量的好处:
① 不必重复输入同一个值
② 如果需要改动常量值,只需在一个地方改动
③ 给常量取一个描述性高的名字,会提高程序的可读性
(10)数值运算符 包括 算数运算符:加(+)、减(-)、乘(*)、除(/)和求余(%)。自增自减运算符:前置自增运算符(++var)、后置自增运算符(var++)、
前置自减运算符(--var)、后置自减运算符(var- -)。
注意细节:
① 当除法的操作数都是整数时,除法的结果就是整数,小数部分被除去。如果要实现通常意义上的除法,其中一个操作数必须是浮点数。
② 运算符%可以得到除法的余数,%左边的是被除数,右边的是除数。取余%运算经常被用在正整数上,但是,它也可以用在负整数和浮点数上。只有当被除数是负数时,余数才是负的。
③ 涉及浮点数的运算都是近似的,因为这些数都没有用准确的精度来存储。例子:
System.out.println(1.0-0.1-0.1-0.1); 结果为:0.7000000000000001
④ 整数可以精确的存储,因此,整数计算得到的是精确的整数运算结果。
(11)简捷赋值运算符:经常出现变量当前值被使用、修改然后再赋给该变量的情况。
运算符 | 名称 | 举例 | 等价于 |
+= | 加法赋值运算符 | i += 8 | i = i + 8 |
-= | 减法赋值运算符 | i -= 8 | i = i - 8 |
*= | 乘法赋值运算符 | i *= 8 | i = i * 8 |
/= | 除法赋值运算符 | i /= 8 | i = i / 8 |
%= | 求余赋值运算符 | i %= 8 | i = i % 8 |
注意:简捷赋值运算符中没有空格;如+= 而不是+ =;