java入门第3课

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值