1.注释,命名规则
和c++一样,注释单行用双斜杠//,注释多行用/**/
类和变量的命名规则和c++也差不多,只是多了个美元符号$
(1)开头必须是下划线,美元符号,字母
(2)除去开头可以用数字,下划线,美元符号
(3)名字不能说Java已有的关键字。
但是对于类名,第一个字母必须大写,这个不是语法规定的,但是我劝你这么做
对于方法和变量首字母小写,其他部分大写首字母,可能初学者不知道什么是方法,以后就懂了。
2.变量
变量就是存放数据的可操作空间,我觉得这些知识没什么好说的,略过。
(1)变量的声明
double a1;
int a2;
long a3
(2)变量的初始化
double a1 = 1.1212123
java需要在使用前对变量初始化,这一点和c++不一样
Java的基本数据类型都是固定的,C语言只是给了个范围,不同的平台其实不一样,但是Java是固定的。比如int就是4个字节,long是八个字节,double是八个字节,char是两个字节。其他的可以自己百度。
局部变量在语句块内部。
其他的后面再说。
3.常量
常量就是永恒不变的量,在c++中式const修饰,其实c++里的const应该叫只读,不应该叫常量,Java里面用final修饰
final int a = 10;
被定义之后就不能再改变了。
Java里面也有字符常量和符号常量
4.数据类型
java数据类型分为两种,分为基本数据类型和引用数据类型。
4.1 基本数据类型
基本数据类型总的来讲分为数值型,字符型,布尔型
数值型分为整形(int,long,byte,short),浮点型(float,double)
他们的字节数和C语言其实差不多,int4个字节,long8个字节,肯定有人说long再c语言里面是四个字节,byte是1个字节,short是2字节,float4个字节,double8个字节
字符型(char)两个字节
布尔型(boolean)1个字节
4.2引用数据类型
我还没学到这里来,我估计都是类,STL什么的,因为如果不是引用类型,对象会很大,使用引用降低内存。
4.3整型的四种表示形式
(1).十进制
(2).八进制 0开题
(3).十六进制 0X开头
(4).二进制0b(B)开头
public class Number{
public static void main(String[] args){
int a1 = 10;
short a2 = 0x12;
double d1 = 3.14;
int a3 = 0B010101;
System.out.println(a1);
System.out.println(a2);
System.out.println(d1);
System.out.println(a3);
double f = a1+a2+d1;
System.out.println(f);
//java是否存在类型转换?
int transform = d1;//报错
System.out.println(d1);
}
}
创建几个变量输出一下,Java类型挺有趣,浮点型不会转到整形上面去,而且整形数字默认是int,溢出时会报错,需要用更大范围的整形。
但是,int的值可以赋给long,同理,float可以赋值给double,依此类推,小范围的值可以赋值给大范围,int还可以赋值给double,赋值给float。
4.4 浮点型数据
float是单精度的浮点型,小数点后7位
double是双精度,是float的两倍精度
浮点数不精确,一般不用于比较,但是再普通计算其实已经够了,按照C语言的比较法没问题,如果是更精确的计算,就最好用BigDecimal
浮点型默认是double
比如3.14默认是double,按照上面讲的,
float f = 3.14 错的
float f = 3.12F 对的
double d1 = f;对的
多写一些代码对比一下c++
4.5 字符型
c++的char类型是1个字节,当然也有两个字节的w_char,Java的char是2个字节的Unicode,微软的字符型已经是4个字节或者8个字节了。
如果把整形数据赋值给字符型会发生什么?
char ch = 12;
char ch = 'a';
char ch = 3.14;
char ch = 1L;
有一些会出错,有一些不会出错但是没有输出,有一些很正常。
4.6 boolean类型
boolean类型是特殊类型,和C语言的那个完全两码事,它只有两种取值true和false,大小为1个或者4个字节,作为单独的变量是4个字节,数组是1个字节,C语言0是false,非0是true,但是Java里面true就是true,false就是false。
知道这意味着什么嘛?
不能再用这样的代码了
int a = 100;
......
if(a){
......
}
因为就算a等于0,条件也不是false