JAVA语言基础(二)
Java语言特点
Java是一种
简单、面向对象、分布式(网络适用)、解释型、健壮、安全、结构中立、可移植、高性能、多线程、动态的
计算机程序语言。
Java语言的基本元素
Java包含标识符、关键字、运算符和分隔符等元素。。
标识符
变量以及类和方法都需要一定的名称。所有的标识符都必是以一个字母、下划线或美元符号“$”开头的一串字符,后面的字符可以包含字母、数字、下划线和美元符号。
标识符是由程序员自己定义的名称,可按规则随意选取。不过,Java中有一个标识符命名约定: 常量用大写字母,变量用小写字母开始,类以大写字母开始。如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始, Java区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。
关键字
如附件图1
注: 带*号的关键字现在已不使用。
分隔符
1. 注释符
(1) // 注释一行
(2) /*… */一行或多行注释。“/*”开始,最后以“*/”结束,中间可写多行。
2. 空白符
空格、回车、换行和制表符(Tab键)等符号
3. 普通分隔符
. 点,分隔包、类或分隔引用变量中的变量和方法;
; 分号,语句结束的标志;
, 逗号,分隔方法的参数和变量说明等;
: 冒号,说明语句标号;
{} 大括号,用来定义复合语句、方法体、类体及数组的初始化;
[] 方括号,用来定义数组类型及引用数字的元素值;
() 圆括号,定义运算优先级。
PS米米:空白符和分隔符都是区分语言各种基本成份的.
public class mimi { // public关键字 mimi为类名
public static void main(String args[]) {
// public声明公共关键字
// static声明静态方法关键字
//void 空返回值
// main 入口函数
int i, c;
//赋值 I ,c 为int类型
...
}方法的最后的大括号
}入口函数最后的大括号
需注意…括号不要弄混乱 顺序是 由外向内的
数据类型
Java的数据类型可分为: 基本类型,包括整型、浮点型、布尔型和字符型;数组类型,包括一维数组和多维数组;复合类型,包括类和接口。
基本数据类型
Java定义了8种基本数据类型。
如图2
PS米米: 一般情况,没有小数点的数字是int型数,带有小数点的数是double型的数,其他数值数据要在数字后面加一个大写或小写字母表示数据类型。
变量的声明
Java存储数据,要它保存到一个变量中。变量在使用前必须有定义,即有确定的类型和名称。声明变量的格式为:
类型 变量名[,变量名]=初值,…;
byte b1, b2;
b1=99,b2=100;
//先声明后赋值
int v1=0, v2=10, v3=18;
//声明和赋值同时进行
变量类型的转换
变量类型强制转换的格式:
(数据类型)数据表达式
PS:
int a;char b;b=′A′;
a=(int) b;
数值型数据,Java可将低精度的数字赋值给高精度的数字型变量,反之则需要进行强制类型转换,所以int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换
运算符与表达式
Java的运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算。运算符和操作数的组合构成表达式,表达式代表着一个确定的数值。表达式在使用上总是先计算后使用,因此,不管一个表达式有多么复杂,其最终结果都是一个有确定类型和大小的数值。
按照运算符功能来分,运算符有7种: 赋值运算符、算术运算符、关系运算符、条件运算符、逻辑运算符、位运算符和其他运算符。
按照连接操作数的多少来分,有一元运算符、二元运算符和三元运算符。另外,算术运算符和赋值运算符可以结合在一起形成算术赋值运算符。
2.3.1 赋值运算符
图3 赋值运算符
由赋值运算符构成的表达式称为赋值表达式。赋值运算符的右边是一个表达式,这个表达式还可以包含一个表达式。例如: a=b=c=0,相当于3个表达式c=0,b=c,a=b。
2.3.2 算术运算符
见图4
算术运算符按操作数的多少可分为一元运算符和二元运算符。一元运算符(+、-、++、--)一次对一个操作数进行运算,二元运算符一次对两个操作数进行运算。
关系运算符
见图5
关系运算符用于两个操作数之间关系的比较。关系表达式的运算结果为布尔值,不是true就是false,操作数可以是常量、变量和表达式。关系表达式常常用作分支结构或循环结构的控制条件。
条件运算符
是三元运算符,条件表达式的格式:
条件表达式 ? 结果1: 结果2;
先计算作为条件的逻辑表达式或关系表达式,条件表达式返回值为true时整个表达式的值为结果1,返回值是false时整个表达式的值为结果2。
逻辑运算符
见图6
解决一些简单条件的判定问题,对较为复杂的条件还得用逻辑运算判定。逻辑表达式最终运算结果为boolean的true或false。“&&”连接的两个表达式中,只要有一个不true,则整个表达式就为false。运算时只要判定左边表达式为false,就可立即得出结论,不再计算右边表达式。所以,最有可能取false值的表达式尽量放在左边,这样可提高表达式的运算速度。“&”在表达式判定上和“&&”相同,惟一不同的是它总是计算两边表达式的值。
“ || ”连接的两个表达式中,只要有一个为true,则整个表达式就为true。运算时只要判定左边表达式为true,就可立即得出结论,不再计算右边表达式。所以,最有可能取true值的表达式尽量放在左边,以提高表达式的运算速度。
“ | ”在表达式判定上和“||”相同,不同之处是它总是计算两边表达式的值。
“ ^ ” 逻辑异或连接的两个表达式同为true或同为false时,整个表达式结果为false,其他情况下取true。
其他运算符
见图7…其实new我一直理解成关键字 - -
运算优先级
有一堆运算符…..加减乘除之类…我从来不管….一律加()….最高优先级…. 汗
数组
有序数据的集合,其中的每个元素具有相同的数组名,根据数组名和下标来惟一地确定数组中的元素。数组有一维数组和多维数组,使用时要先声明后创建。
这么说不太好懂
Ex:
i=[1,2,3,4,5];
数组i里的1,下标为0,依此类推.
一维数组的声明
一维数组是指一个线性数据序列,声明格式:
数据类型 数组名[]; 或 数据类型[] 数组名;
Ex:
int arr1[];
char [] arr2;
数组的定义中并不为数组元素分配内存,因此“[]”中不用指出数组中元素的个数即数组长度,而且对于如上定义的一个数组暂时还不能访问它的任何元素。
一维数组的创建与赋值
定义数组后,还必须为数组分配内存、初始化。
格式:
数组名= new 数据类型[size]
其中,size指明数组的长度.如:
int intAwp[]=new int[3];
char cAwp[]=new char[5];
数组元素赋值的方法与变量相同.如:
intdd[0]=10;
intdd[1]=20;
intdd[2]=30;
直接赋初值并定义数组的大小
还有就是直接赋初值并定义数组的大小。初值用大括号括起,用逗号做分隔符,初值的个数表示数组的大小。
int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char c[]={′a′,′b′, ′c′, ′北′, ′方′}
多维数组
多维数组就是数组的数组(说的通俗点)。比如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。
二维数组的声明与一维数组基本相同,只是后面再加上一对中括号“[]”。创建二维数组时,可指定各维的长度或至少指定第一维的长度,也可采用直接赋值的方法确定二维数组的长度。此时,按照给定的值序依次填满数组每一行中的元素。更高维的情况差不多。Ex:
int awp1[][]=new int[3][4];
int awp2[][]=new int[3][ ];
int awp3[][]={{0,1,2},{3,4,5},{6,7,8}};
二维数组有一个好处是第二维的长度可以不相等。