Java语言基础(一):变量和数据类型

Java是一种强类型的语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共有8中基本类型(primitive type),其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。


1、整型

整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型,具体如下:

整数			占用字节数
byte		   	 1
short			 2
int			     4
long			 8

在通常情况下,int类型最常用。但如果表示地球上的居住人数,就需要使用long类型了。byte和short类型主要用于特定的应用场合,比如说,底层文件处理或者需要控制占用存储空间量的大数组。
我们需要注意的是:

  1. 整数默认是int类型
  2. 长整型后缀用L或者l标记。建议使用L。
    下面是我写的一段案例代码,通过代码学习变量和数据类型,如下:
public class DataTypeDemo {
	public static void main(String[] args) {
		//定义变量的格式:
		//数据类型 变量名 = 初始化值;		
		//定义一个字节变量
		byte b = 10;
		System.out.println(10);
		System.out.println(b);		
		//定义一个短整型变量
		short s = 100;
		System.out.println(s);		
		//定义一个整型变量
		int i = 1000;
		System.out.println(i);		
		//超过了int的范围
		//int j = 1000000000000;
		long j = 1000000000000L;
		//long j = 100L;
		System.out.println(j);		
		//定义浮点数据变量
		float f = 12.345F;
		System.out.println(f);		
		double d = 12.345;
		System.out.println(d);		
		//定义字符变量
		char ch = 'a';
		System.out.println(ch);		
		//定义布尔变量
		boolean flag = true;
		System.out.println(flag);
	}
}

我们使用变量的时候要注意的问题呢?
1.作用域:变量定义在哪个大括号内,它就在这个大括号内有效。并且,在同一个大括号内不能同时定义同名的变量。
2.初始化值:没有初始化值的变量不能直接使用。你只要在使用前给值就行,不一定非要在定义的时候立即给值。推荐在定义的时候给值。
定义变量的格式:
(1)数据类型 变量名 = 初始化值;
(2)数据类型 变量名;
(3)变量名 = 初始化值;
3.在一行上建议只定义一个变量,可以定义多个,但是不建议。
如下我写的案例代码:

public class DataTypeDemo2 {
	public static void main(String[] args) {
		//定义变量
		int x = 100;		
		//错误,不能有同名的
		//int x = 200;		
		//定义变量必须给值
		//int y;
		//System.out.println(y);		
		int z;
		z = 100;
		System.out.println(z);		
		//在一行上定义多个变量
		//int a = 10; int b = 20; int c  = 30;
		//上面的写法可以,但是不建议。
		int a = 10; 
		int b = 20; 
		int c  = 30;		
		//int d, e;
		//d = 40;
		//e = 50;		
		//int f,int g; //错误
		//int h; int i; //正确
	}
}

2、浮点型

浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型,如下:

浮点数			占用字节数
float 			  4
double 			  8

double表示这种类型的数值精度是float类型的两倍(又称双精度数值)。绝大数的应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。比如:需要快速地处理单精度数据,或者需要存储大量数据。
float类型的数值有一个后缀F(例如:3.14F)。没有后缀F的浮点数组默认为double类型。当然,也可以在浮点数值后面添加后缀D(例如:3.14D)。
我们要注意的是:单精度浮点数用F或者f标记。建议使用F。


3、char类型

char类型用于表示单个字符。通常用来表示字符常量。例如:'A’是编码为65所对应的字符常量。它与“A”不同,“A”是一个包含字符。Uniocde编码单元可以表示16进制值,其范围从\u0000到\uffff。
如下我写的案例说明:字符是一数字

public class CharDemo {
	public static void main(String[] args) {
		char c = '田';
		int i = c;
		System.out.println(i);
		c = '野';
		i = c;
		//内存2进制i——> 10进制 ->显示10进制
		System.out.println(i); 
		//内存2进制:37326 -> 查找字库中的字模
		// -> “野”
		System.out.println(c); 		
		//字符是一个数,可以利用数字进行
		//初始化,但是数字不能超过char范围。
		
		//c 的类型是char,赋值30000,编码
		//为30000的字符'田'
		c = 30000;
		//按照char类型输出
		System.out.println(c); //田
		
		//如下代码输出结果:没有对应字模可以显示
		c = 65534;
		System.out.println(c); 
		
		//使用整数对char进行赋值,不能超过char
		//的范围!否则编译错误
		//c = 65536;
		//c = 65532+6;//字面量的运输结果也不能超范围
		
		//使用16进制unicode进行赋值
		// 20013 == 4e2d
		c = 20013;//10进制unicdoe编码
		System.out.println(c);
		c = '\u4e2d';//16进制unicode编码
		System.out.println(c);
		
		//转义字符
		//将回车赋值给字符类型的办法:转义字符
		c = '\n';// c 是回车字符
		//如果输出c,在屏幕上回显示一个回车
		System.out.println(c); 
		//在Java中,'\n' 代表回车
		//在Java中,'\'' 代表单引号
		c = '\''; 
		System.out.println(c); //输出单引号
		c = '\"'; //在Java中,'\"' 代表双引号
		System.out.println(c);//输出双引号
		c = '\\'; //在Java中,'\\' 代表斜线
		System.out.println(c);//输出 \
	}
}

4、boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整形值和布尔值之间不能进行相互转换。
用途:表示是否成立的两种状态。boolean类型占8位,相当于1个字节。
我写的案例代码如下:

boolean running;//正在跑,正在运行中
running = true;//成立
running = false;//不成立
boolean gameOver = true;//游戏结束成立
boolean isMan = true; //成立,纯爷们
boolean started = true; //已经开始=成立

数据类型转换

引子:
char c = '中';
int i = c; //将字符类型赋值给int类型

Java 中范围小数据类型可自动转换为范围大的数据类型,转换期间一般没有损失。
如下案例代码:

/*
 * 测试自动类型转换
 * 小范围到大范围的转换
 */
byte b = 120;
long l = b;//自动类型转换
double d = b;//自动类型转换
System.out.println(l);//120
System.out.println(d);//120.0
char c = '中';
int i = c;//自动类型转换
System.out.println(i); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值