什么事程序?
就是指令集合,是带有一定功能的指令集合。
程序是干什么用的?
是为了实现某种特定的功能或是为了识别某种设备。
用什么设计程序?
当然是计算机语言了,也就是程序设计语言。
都有哪些计算机程序设计语言?
C,C++,C#,JAVA,BASIC等等。。。
注:VC,VB这类不属于语言,他们是语言应用的环境。
计算机语言基本可以分为3中:
机器语言 二进制数
例:0101 1010
优势在于运行速度很快,在设备上运行直接能被设备识别。
但是问题在于它过于单一,且不容易理解,不便于人们广泛应用。
汇编语言 它是机器语言的符号表现形式
例:Mov 表示移动 Add 累加
汇编语言的运行也是基于设备的,速度也很快,而且人们对于设
备的功能理解通过汇编语言更加直白。但是局限性很大,也太容
易理解,而且不同设备的汇编指令可能各有不同,所以不便于
统一扩展。
高级语言 种类很多 大致可分为
面向过程的程序语言 例:C
面向对象的程序语言 例:JAVA
运行速速相较前两种虽然很慢,但是它更接近于自然语言,更像
是人们平常说话,便于掌握学习加以应用。我们用高级语言编程
其实也就在和计算机进行语言交流。而且高级语言的扩展性很好
,可以应用在各种不同的设备当中,不过是要在相应的应用环境
下才可以实现,应用也相对复杂。
如何让机器识别高级语言?
计算机识别高级语言,实际上就是一个由高级语言向机器语言编译,解释的过程。
编译:即使把高级语言块通过连接某些设备所需的来源文件,翻译成设备识别的机器
语言的过程。
解释:就是把高级语言一句一句的直接翻译成机器语言的过程。
编译相较解释要快的多。因为它是一定数量的进行翻译,而解释只是在一句一句的
进行。但是编译相较麻烦一点,因为在翻译源文件之后,必须生成目标文件,而目
标文件因为缺乏设备的应用来源,暂时不能被设备所应用,是要连接的相应的应用
来源才可以实际作用在设备上,发挥程序的功能。而解释不需要,程序功能包括如
何在设备中体现都已经包含,只是翻译过程比较漫长。
例如:
C语言 C语言源文件为.c,经过编译器的编译后会生成.obj目标文件,在连接相应的
.dll库文件(可能是输入输出设备之类),最后吧这些资源都存放在.exe中。
编译执行 link
源文件.c------------>生成.obj------------->.exe可执行文件
汇编语言或BASIC语言都是解释类型的。
JAVA语言比较特殊 它既可以编译也可以解释
编译 VM虚拟机解释
.java源文件--------->.class二进制中间码-------->由设备识别加以应用
=========================================================================
JAVA语言的组成,结构
只要是语言就必要要由组成元素,自然语言中有字,词,句,标点符号等等。JAVA
语言中也有这些东西,关键字,标示符,语句,运算符,常量变量,注释等等。。
JAVA中得关键字就是用来区别类型,划分功能和结构的特有功能的单词。
例:abstract(定义抽象类使用区分类型),extends(继承某个父类使用,划分功能
),if(划分语句结构顺序,判断条件)
标示符,是JAVA种的变量,类,方法和对象的定义名称。以字符,下划线和$符号开头
包括字符数字。
语句就是程序是功能具体实现部分。
注释就是对语句的解释部分。
常量是语句中不可变的数据。
变量是语句中定义的可变的数据。也可理解为可以存储不同数据的内存空间。
运算符是常量和变量进行运算的符号。每个运算符都有不同的运算功能,得到不同的运
算结果。
==========================================================================
JAVA中的变量和常量
常量在JAVA中应用广泛。
因为JAVA是面向对象的程序设计语言。
对象就是我们生活中实际的事物。反映在计算机中就是对象,事物就必要要由属性和
动作。而在对象属性的定义中,我们经常会使用到常量。因为属性对于一个事物来讲
属性是不变的。
常量的类型:
整形 整数-------------------1,-1。。。
浮点型既所有小数---------------3.14。。。
字符---------------------------a,A,符号。。。
字符串-------------------------abc,dfsf/@#¥。。。
布尔型-------------------------true真,false假
null型-------------------------null(空)
变量在JAVA中得应用也很广泛,我们可以理解变量就是一个可以存储数据的内存空间
通过这个内存空间我们可以更改不同数据,来实现动态的效果。
变量的定义:数据类型 标示符 = 数据初始化;
变量的数据类型:
整形
类型 可存储数据范围 内存空间
byte -128~127 1(字节)0000 0000 8位
short 2的-16次幂~2的15次幂-1 2(字节)16位
int 2的-32次幂~2的31次幂-1 4(字节)32位
long 2的-64次幂~2的63次幂-1 8(字节)64位
浮点型
float单精度
double双精度
字符型
char 只能存储单个字符
字符串型
String 可以存储字符串
boolean布尔型
还有引用数据类型
class 类
interface 接口
[] 数组
值得一提的是整数不管是常量还是变量
有4中表现形式:即二进制,八进制,十六进制其实还有我们最常用的也是最长理解的
十进制
表现形式 表现规则 数字范围
二进制 逢二进一 0~1
八进制 逢八进一 0~7
十进制 逢十进一 0~9
十六进制 逢十六进一 0~15(10~15之间是A~F5个字母)
转换规则
二进制 八进制 十六进制 十进制
十进制 n%2逆向排列 n%8逆向排列 n%16逆向排列
二进制 从右至左每 从右至左每 2(n次幂)
3位为八进制 4位为十六进制 +2(n+1次幂)
1位换算 1位换算 从右至左依次
相加之和
八进制 8(n)+8(n+1) 转二进制再转 转二进制再转
从右至左依次
相加之和
十六进制 16(n)+16(n+1) 转二进制再转 转二进制再转
从右至左依次
相加之和
注:这里的(n)为N次幂的意思
数据类型之间是可以转换的
因为不同的数据类型之间进行运算只有俩种可能
要么不能运算
要么结果不符
所以只有相同的数据运算才符合逻辑
数据类型的转换可分俩种
一种叫自动提升 即使低级数据类型 向高级数据类型自动的提升
一种叫强制转换 是把不同的数据类型通过 数据类型关键字强制进行转换
int x=0,y=(int)3.14;
===========================================================================
JAVA中得运算符
算数运算符
就是加减乘除。
比较特殊的有求余运算符(%),自加(++),自减(--)还有就是(+)在字符串运算中
为字符串相连运算。
还有一个特殊的运算符(\)转义字符
这个字符在JAVA中得定义比较特别,这种特别的符号给我们带来了一种新的运算函数概
念,这种概念叫正则表达式。例:\d 代表0~9的数字 \W 代表字符或数字 \N 代表空格
\R 代表回车 \T 代表制表位等等。。。
赋值运算符
就是给声明的变量内存空间赋值用的。
逻辑运算符
进行逻辑运算,像大于,小于,非,与,或,异或等等。。
===========================================================================
JAVA中得程序结构
顺序结构 语句1
选择结构 |
循环结构 语句2
|
顺序结构
很简单 JAVA程序从入口开始就是从上至下的顺序进行运行的。
选择结构
有三种 1if(条件表达式) 条件表达式一般都是表达真与否的不能是具体的数据
{
语句块。。
}
2if(条件表达式) 可以写多个else if 进行多重判断
{
语句块。。
}else if(条件表达式)
{
语句块。。
}
3 switch(条件表达式)表达式只能是具体数据 类型只限byte,int,short
{ long,char或者对象实例也可以。
case 表达1:
语句块。。
break;
case 表达2:
语句块。。
break;
default:
语句块。。
break;
}
循环结构
3种
1.for(表达式1;表达式2;表达式3;)次循环一般是一个范围性的循环式有
{ 限循环,表达式1为一个具体数据的
变量;2为一个范围;3为循环递增
语句块。。 次数
}
2.while(表达式) 表达式返回结果只能是true或false
{ 这是一种无限循环。没有范围只能在
语句块。。 语句中结束循环
}
3 do 和while差不多但是先执行语句,
{ 后才进行语句循环。
语句块
}while(表达式)