Java基础:(2)变量及数据类型

1.变量:存数的
1)声明:----相当于在银行开了个帐户
int a; //声明一个整型的变量,名为a
int b,c,d; //声明三个整型的变量,名为b,c,d
2)初始化:----相当于给帐户存钱
int a = 250; //声明整型变量a并赋值为250
int a; //声明整型变量a
a = 250; //给变量a赋值为250
3)使用:----使用的是帐户里面的钱
3.1)对变量的使用就是对它所存的那个数的使用
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
System.out.println(b); //输出变量b的值15
System.out.println(“b”); //输出b,双引号中的原样输出
a = a+10; //取出a的值5,加10后,再赋值给a
//在a本身基础之上增10
System.out.println(a); //15
3.2)变量在用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化
4)命名:
4.1)只能包含字母、数字、_和$符,并且不能以数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)允许中文命名,但不建议,
建议"英文的见名知意"、“驼峰命名法”
2.八种基本数据类型:byte,short,int,long,float,double,boolean,char
1)int:整型,4个字节,负的2的31次方到正的2的31次方减1;
1.1)整数直接量默认为int类型,但不能超范围,若超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
1.3)运算时若超出范围,会发生溢出(溢出不是错误,但需要避免)
2)long:长整型,8个字节,很大很大很大
2.1)长整型直接量需要数字后加L或l(建议用L)
2.2)运算时若有可能溢出,建议在第1个数字后加L或l
3)double:浮点型,8个字节,很大很大很大
3.1)浮点数直接量默认为double类型,表示float需在数字后加F或f
3.2)double和float型数据运算时,有可能出现舍入误差
4)boolean:布尔型,1个字节
5)char:字符型,2个字节
5.1)采用Unicode字符集编码格式,每个字符都有一个对应的码,
表现的形式为字符char,但本质上是码int(0到65535之间)
(ASCII码: ‘a’–97 ‘A’–65 ‘0’–48)
5.2)字符直接量必须放在单引号中,只能有一个
5.3)特殊符号需要通过\来转义
3.类型间的转换:
数据类型从小到大依次为:
byte,short,int,long,float,double
char,
1)两种方式:
1.1)自动/隐式类型转换:小类型到大类型
1.2)强制类型转换:大类型到小类型
语法: (要转换成为的数据类型)变量
强转有可能溢出或丢失精度
2)两点规则:
2.1)整数直接量可以直接赋值给byte,short,char,
但不能超出范围
2.2)byte,short,char型数据参与运算时,
系统会一律先将其转换为int再运算

在这里插入图片描述

package Test;//声明包Test
//数据类型的演示
public class DataTypeDemo {
    public static void main(String[] args) {
        //类型间的转换:
        int a = 5;
        long b = a; //自动类型转换
        int c = (int)b; //强制类型转换

        long d = 5; //自动类型转换
        double e = 5; //自动类型转换(e的值为5.0)

        long f = 10000000000L;
        int g = (int)f;
        System.out.println(g); //强转有可能发生溢出
        double h = 56.987;
        int i = (int)h;
        System.out.println(i); //56,强转有可能丢失精度
		
/*
2.1)整数直接量可以直接赋值给byte,short,char,
        但不能超出范围
2.2)byte,short,char型数据参与运算时,
       系统会一律先将其转换为int再运算
*/
        byte b1 = 5;
        byte b2 = 6;
        //byte b3 = b1+b2; //编译错误,运算时将b1和b2转成int类型,
        //两个int相加,结果还是int类型,
        //将int赋值给byte,因为不是直接量,
        //所以需要强转
        byte b4 = (byte)(b1+b2); //强转的是运算之后的int结果
		

		/*
		//1)int:整型,4个字节,-21个多亿到21个多亿
		int a = 250; //250为整数直接量,默认为int类型
		//int b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
		//int c = 25.678; //编译错误,整型变量中只能装整数
		System.out.println(5/2); //2
		System.out.println(2/5); //0
		System.out.println(5/2.0); //2.5
		int d = 2147483647; //int的最大值
		d = d+1;
		System.out.println(d); //溢出了,-2147483648(int的最小值)
		
		//2)long:长整型,8个字节,很大很大很大
		//long e = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
		long f = 10000000000L; //长整型直接量需在数字后加L或l
		long g = 1000000000*2*10L;
		System.out.println(g); //200亿   //练习+下课----3:00继续
		long h = 1000000000*3*10L;
		System.out.println(h); //溢出了
		long i = 1000000000L*3*10;
		System.out.println(i); //300亿,有可能溢出时建议在第1个数字后加L
		*/
		
		/*
		//3)double:浮点型,8个字节,很大很大很大
		double a = 3.14; //3.14为浮点型直接量,默认为double型
		double b=3.0,c=2.9;
		System.out.println(b-c); //0.10000000000000009-舍入误差
		
		//4)boolean:布尔型,1个字节
		boolean d = true;  //true为布尔型直接量
		boolean e = false; //false为布尔型直接量
		//boolean f = 25; //编译错误,布尔型只能取值为true或false
		*/
		
		/*
		//5)char:字符型,2个字节
		char c1 = '女'; //字符女
		char c2 = 'f';  //字符f
		char c3 = '6';  //字符6
		char c4 = ' ';  //空格符
		//char c5 = 女; //编译错误,字符型直接量必须放在单引号中
		//char c6 = ''; //编译错误,必须有字符
		//char c7 = '女性'; //编译错误,只能有一个字符
		
		char c8 = 65; //0到65535之间
		System.out.println(c8); //A,输出时会按变量的数据类型来
		
		char c9 = '\'';
		System.out.println(c9); //'
		*/
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值