java语法与C有很多相似之处,这个都知道了。
一、关键字及标识符
java中的字符集中比C多了一个美元符号$,这个符号及字母和下划线都可以做标识符的首字符。
关键字就很多了。比C多了很多
java中有些命名规范要遵守:
类名 : 每个单词的首字母 大写;
变量名:每个字符都小写,如果由多个单词,那么 最后一个单词的 首字母 大写;
符号常量:所有单词每个字母都大写 ,多个单词之间用下划线来联接。
二、数据类型
数据类型的意义:分配合适的内存空间;及用不同的方式来表现数据。
java中的变量必须初始化之后才能使用。
只有引用数据类型可以被初始化为null。如字符串和定义的类的对象
java比C多增加了2种基本数据和改变了1种基本数据类型。另外就是引用类型了
改变的是字符类型char,C中为1个字节,java中是2个字节,是由于java中的字符集编码有很多东方字符,如汉子,韩文等。这些远远超过了ANSCII码所能表示的范围,即一个字节256种。
增加的2种是整型中的byte,一个字节的整型;第二种是单独设定了逻辑数据类型boolean 它有2个值,true和false。
1.基本数据类型
整数类型byte 1; short 2 ; int 4; long 8;
小数类型float 4 ; double 8;
字符类型char 2;
逻辑类型boolean;
2.引用类型
java中除了基本数据类型就是引用类型了(包括字符串 及 用户自定义的类)
3.类型转化
从小到大自动类型转化
整数的转换 有小数参与时,所有整数都转换成相应的小数类型
short int long float double
byte单字节不会自动转化。一般当整型字面量数值小于65536时,它在内存中的实际类型是 short,2个字节;一旦大于65535时,字母是int4个字节。可能是为了节约内容空间又能保证放得下吧,但是小数字面量的默认类型是double,如3.1 。如3.1F为float单精度的 100L为long长整型的整数。
强制类型转换 (类型) 变量;
三、运算符
运算符与C语言中的一样,其中比较是否相等时:基本数据类型 == ,引用数据类型 a.equals(b);
所有的运算中,位操作速度是最快的。乘,除可以左移<<和右移>>
&&和||是短路运算符, a &&b 和 c ||d中:如果a为假,那么b不再执行; c为真时,d不再执行
&和| 作为逻辑运算时,结果与上面的一样,但是 a,b,c,d4个表达式都会执行,不存在短路
位运算符:
&位与:二进制码,相同时为1,不同为0
|位或: 二进制码,有1时为1,全为0时,为0
~位非:二进制码,全部取反,1变0,0变1
^位异或:二进制码,与位与相反;不同时为1,相同为0(如1和1,或者0和0)
a^a=0; a^b^a=b; b^a^b=a;
a^0=a;
四、3中注释
单行注释 //*************;
多行注释 /*………………*/
doc注释 /**………………*/
列子:
/*
*有一对耗子,每个月都生一对小耗子,小耗子长3个月,到第4个月也可以开始生小耗
*假如所有的耗子都不死,请问20个月后一共有多少只耗子!
**/
public class Mouse{
public static void main(String[] args){
int old = 2, new1 = 0, new2 = 0, new3 = 0;
for(int i = 0; i < 20; i++){
old = old + new3;//每个月初能够生耗子的数量年龄 >=4个月
new3 = new2;//3个月大的耗子
new2 = new1;//2个月大的耗子
new1 = old;//一个月的大的耗子,等于当月能生的耗子数量
}
//输出耗子的总数
System.out.println(old + new1 + new2 + new3);
}
}