Java变量与基本数据类型

一、Java变量

  1. 在Java中未知数叫做变量,可能是整数也可能是小数。
  2. Java是强类型语言,要求未知数前面一定有具体的类型(是一个整数、小数或者一个字符…),因为这些未知数都是需要占用内存的。
  3. 不同类型的不能直接赋值。
  4. 变量的声明:
    • 必须包含类型、变量名;
    • 变量没有声明,不能直接使用;
    • 不能重复定义
  5. 变量的初始化
    • 在变量声明的同时 直接初始化 int x = 3;
    • 先声明后初始化 int x; x = 3;
  6. 变量的命名规则:
    • Java中的变量可以用数字、字母、下划线、$、中文(不建议)
    • 数字不能开头
    • 不能使用关键字
  7. Java约定俗称的命名方式:驼峰式命名法

二、Java基本数据类型

Java八种基本数据类型:

  1. 整数(4种):

    • 按占内存空间的大小来分:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
    • 直接量:整数默认直接量是int类型
    • 整数的最大量Integer.MAX_VALUE = 2147483647;如果存的数过大可能会报错,也可能会溢出
    • 整数做除法,结果还是整数,并不能四舍五入
  2. 小数(2种):double、float

  3. 字符类型:char

  4. 布尔类型:boolean

    byteshortintlongfloatdoublecharboolean
    存储空间1248482
public class Demo_03_基本数据类型 {
	public static void main(String[] args) {
		byte  b1 = 127;//-127~127
		short s1 = 11231;//short类型不常用
		int i1 = 112212321;//
		long l1 = 11221231L;//在long类型中的最后加L
		
		i1 = Integer.MAX_VALUE;//整数中的最大值=2147483647
		System.out.println(i1);
		i1 = Integer.MAX_VALUE + 100;//存的数过大可能会报错,也可能会溢出
		System.out.println(i1);//-2147483549,结果输出错误
		
		//字符串拼接
		System.out.println(1+2+"3");//输出:33 ;1和2先做加法,再做拼接
		System.out.println("1"+2+3);//输出:123;1和2先做字符串拼接,拼完之后12变成了一个字符串,再和3做拼接
	}
}

三、强制类型转换

  1. 强制类型转换:(要转成的类型)变量名
  2. 小类型往大类型的转,不用强制类型转换,可以直接转
  3. 从小到大排列:byte < short = char < int < long < float < double
public class Demo_05_基本数据类型转换 {
	public static void main(String[] args) {
		int a = 110;
		byte b = (byte)a;//Type mismatch: cannot convert from int to byte
		//强制转换可能会丢失精度
		
		byte b1 = 4;
		byte b2 = 5;
		byte b3 = (byte)(b1 + b2);
	}
}

四、Java整数

Java中的整数:byte(1字节)、short(2字节)、int(4字节)、long(8字节)

public class Demo_01_整数 {
	public static void main(String[] args) {
        byte  b1 = 127;//-127~127
		short s1 = 11231;//short类型不常用
		int i1 = 112212321;//
		long l1 = 11221231L;//在long类型中的最后加L
        
		int a = 0100;//前面开头为0,则是八进制
		System.out.println("八进制的100,值为"+a);
		int b = 0x100;//0x或者0X开头的为十六进制
		System.out.println("十六进制的100,值为"+b);
		int c = 0b100;//0b或者0B开头的表示二进制
		System.out.println("二进制的100,值为"+c);
	}
}

五、Java浮点数

  1. Java中的浮点数:

    • float(4字节、单精度)、double(8字节、双精度)
  2. 浮点数的直接量:

    • ​ double;

    • ​ 浮点数可以存整数;

    • ​ 可以使用科学计数法进行赋值:3.14e2 -> 3.14*10^2

  3. 整数做除法,结果还是整数,结果并不会四舍五入;浮点数做除法,结果还是浮点数;

public class Demo_02_浮点数 {
	public static void main(String[] args) {
		double d1 = 3.14;//double可以装整数
		d1 = 3;
		d1 = .3;//0可以省略
		d1 = 3.14e2;//表示3.14*10^2
		System.out.println(d1);
		
		
		int a = 123_456;//jdk-7非常规
		float f1 = 3.14F;//浮点数float后面加f或者F
		
		System.out.println("----除法测试----");
		System.out.println("整数做除法:=" + 7/4);
		System.out.println("浮点数做除法:" + 7.0/4);
		
		System.out.println("----浮点数会丢失精度----");
		System.out.println(1.1-1.0);
		//BigDecimal
	}
}

六、字符类型(char)

  1. 语法格式:char a = ‘x’;一个字符只能存一个字符
  2. char其实是一个无符号整数,在底层整数和字符进行对应
    • 97 ->a ;65 ->A ;48 ->0 ;
  3. 乱码的原因是因为字符集不匹配
  4. 字符集
    • ASCII码:只能存英文字母等少量的字符
    • ISO8859-1:
    • GBK、GB2312…等等支持中文
    • unicode字符集:全世界通用,其中包括utf-8存储方式,utf-8不是字符集是存储方式
  5. 特殊字符
    • \ 转义字符
    • \t 缩进
    • \n 换行
    • \’ ’
    • \r 回车
ASCII对照表
ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92\124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL
public class Demo_03_char {
	public static void main(String[] args) {
		char c1 = 'a';
		c1 = '中';
		System.out.println(c1);
		
		c1 = 97;
		System.out.println("底层a对应的是:"+c1);
		
		System.out.println("-----特殊字符----");
		System.out.println("\t");//tab缩进
		
		c1 = '\u535A';//这是一个Unicode值
	}
}

七、布尔类型(boolean)

在Java中布尔类型只有两个值:true、false(真值和假值)。布尔类型主要在逻辑判断方面使用。

public class Demo_04_boolean {
	public static void main(String[] args) {
		int a = 134;
		boolean b1 = true;//真
		b1 = false;//假
		int x = 9;
		int y = 10;
		b1 = x > y;
		System.out.println("x 是否大于 y :" + b1);//result:( x 是否大于 y :false)
	}
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值