语言基础
1、Java字符集
⑴Java语言采用unicode字符集,含有65535个字符。
⑵在ASCII码字符集中,一个汉字需要两个扩展的ASCII码;在unicode字符集中,一个汉字仅需要一个unicode码。
2、标识符
⑴程序中使用的各种数据对象如符号常量、变量、方法、类等都需要一定的名称,这种名称叫做标识符。
⑵Java的标识符由字母、数字、下划线(_)或美元符($)组成,但必须以字母、下划线和美元符开始。
⑶Java标识符是大小写敏感的。
3、数据类型
⑴byte:字节型整型,占8位。
⑵char:字符型,占16位,Unicode码。
⑶boolean:true/false
⑷所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。
4、引用类型
⑴引用是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性限制的指针。
⑵当你声明某个类、接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null引用。
⑶指针就是简单的地址而已,引用除了表示地址而外,还像是被引用的数据对象的缩影。
⑷指针可以有++、--运算,引用不可以运算。
5、实型常量后加f表示float型,加d或者不加表示double型。
6、boolean是最简单的数据类型,布尔数据只有两个值:true和false。Java的布尔类型不能转换成数字。
7、基本类型——字符串类型
⑴字符串常量:用双引号括起来的零个或多个字符
⑵字符串变量:字符串变量的声明: String s=“abcde”;
8、关系运算符
⑴关系运算的值是boolean型,true或false。
⑵“==”不能误写为“=”。
9、逻辑运算符
⑴!逻辑非,&&简洁与,||简洁或,^异或,&非简洁与,|非简洁或
⑵非简洁与、非简洁或运算时,运算符两边的表达式都先要运算执行。简洁与、简洁或运算时,若只运算左边表达式即可确定与、或结果时,则右边的表达式将不会被计算。
10、位运算符
⑴~按位取反,&按位与,|按位或,^按位异或,<<左移,>>右移,>>>无符号右移
⑵位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。
⑶位运算数据在计算机内部是以二进制补码形式存储的。
⑷移位运算符适用的数据类型有byte、short、char、int、long。
⑸对低于int型的操作数将先自动转换为int型再移位。
⑹对于int型整数移位a>>b,系统先将b对32取模,得到的结果才是真正移位的位数。对于long型整数移位时a>>b,则是先将b对64取模。
⑺移位不会改变变量本身的值。
⑻一个数左移n位,就是等于这个数乘以2的n次方;一个数右移n位,就是等于这个数除以2的n次方。
11、字符串运算符
⑴运算符“+”可以实现两个或多个字符串的连接,也可实现字符串与其他类对象的连接。运算符“+=”把两个字符串连接的结果放进第一个字符串里。
⑵当“+”合并一个字符串与一个操作数时,自动将操作数转化为字符串。
12、类型转换
⑴自动类型转换:整型、实型和字符型数据进行混合运算时,须先转换成相同类型。转换从低级到高级。低-> byte,short,char,int,long,float,double -> 高
⑵强制类型转换:高级数据要转换为低级数据时,需进行强制类型转换。
⑶不同类型数据进行赋值
①赋值相容:短类型à长类型:自动进行
②赋值不相容:长类型à短类型:强制进行
⑷布尔型与其他数据类型之间不能强制类型转换。
⑸对于基本数据类型,塑型(type-casting,类型转换)是将值从一种形式转换成另一种形式的过程。对于对象,塑型(类型转换)并不是转换,而仅仅是将对象当成更一般的对象来对待。
13、标号
⑴代码块:用大括号{}括起来的一段代码。在Java中,可以为每个代码块加一个标号。
⑵标号:是一个标识符,用于给某程序块一个名字。
⑶加标号的格式为:标号: {代码块}
14、break语句
⑴不带标号的break语句:break;从它所在的switch语句中或循环语句中跳出,执行switch语句或循环语句后面的语句。
⑵带标号的break语句:break标号;跳出它所指定的块,并从紧跟该块后的第一条语句处执行。跳到的块和break所在块必须是嵌套关系。
15、continue语句
⑴不带标号的continue语句:continue;结束本次循环。
⑵带标号的continue语句:continue 标号;跳转到标号指明的外层循环的起始处。标号必须是外层循环的标号。
16、标准输出
⑴System.out.print();
⑵System.out.println():输出后加回车
⑶字符模式下一个屏幕被划分为若干行和若干列个单位。每个单位可以显示一个字符。这种界面比较简单,但效果死板。
17、标准输入
⑴System.in.read();从键盘输入一个字符,返回值int型,在0~255之间。
⑵java.util.scanner类有各种next方法,输入各种基本类型和字符串类型的数据。
①next方法:String next():输入一个字符串;boolean nextBoolean():输入一个布尔值;double nextDouble():输入一个双精度数;floatnextFloat():输入一个单精度数;int nextInt():输入整数;String nextLine():输入字符串。
②next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串,而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
③使用Scanner类输入数据:Scanner sc = new Scanner(System.in);int a=sc.nextInt();
④规定数据之间的分隔符:用逗号:Scanner s=new Scanner(System.in).useDelimiter("\\s*,\\s*");