【尚硅谷-Java学习】2.2 变量

变量

<1>变量必须先声明才能使用,如要要输出必须先赋值。
<2>变量在作用域内有效。
<3>作用域内,不能有重名变量。

1、基本数据类型

1)整型:

byte:一个字节,8bit,范围:-128–127
short:2字节
int:4字节,一般整型都采用int
long:8字节,声明long类型变量需要以“l”或“L”结尾

2)浮点型:

float:单精度,4字节,表示范围比long要大,声明float类型变量需要以“f”或“F”结尾
double:双精度,8字节,一般浮点型默认采用double,

3)字符型:

char:2字节,定义char变量用一对‘ ’,内部只能有一个字符,可以是空格,但不能为空。也可以是换行符char c = '\t'、制表符char c = '\n' 或Unicode值(例如char c = '\u0043'

4)布尔型:

boolean:只有两个值true、false

2、引用数据类型

1)类class

⭐字符串String

属于引用数据类型,声明String类型变量时用一对 " "
String可以和8种基本数据类型做连接运算:+,运算结果仍然是String。
练习一:

class  StringTest
{
	public static void main(String[] args) 
	{
		
		char c = 'a';//a:97,A:65
		int num = 10;
		String str = "hello";
		System.out.println(c + num + str);//107hello
		System.out.println(c + str + num);//ahello10
		System.out.println(c + (num + str));//a10hello
		System.out.println((c + num) + str);//107hello
		System.out.println(str + num + c);//hello10a
	}
}

练习二:输出* *

//
		System.out.println("*	*");//成功
		System.out.println('*' + '\t' + '*');//93  :char 和char之间做ascll码的加法得到int,与char做加法
		System.out.println('*' + "\t" + '*');//成功
		System.out.println('*' + '\t' + "*");//51*  :char 和char之间做ascll码的加法得到int,与String做连接
		System.out.println('*' + ('\t' + "*"));//成功
		

int 和 String之间不能通过强制转换,例如String str1 = 123;int num = (int)str1;都是错误的。
String转换成int的方式int num1 = Integer.parseInt()str1;

2)接口interface

3)数组array


♥基本数据类型转换

不包含boolean型

1)自动类型提升

当容量小的数据类型变量与容量大的数据类型变量做运算时,结果自动提升为大容量的数据类型。
byte、char、short做运算,结果是int

2)强制类型转换

强转符号()。
采用截断式转换,可能导致精度损失。

double d1 = 12.9;
int i1 = (int)d1;


变量运算的两个特殊情况
1.情况一
赋值时long类型不加l或L:右边的值会被认为是int。当值不超过int表示范围可以正常编译,当超过了int范围就编译失败了。

long l1 = 123123
System.out.println(l1);
//报错
long l2 = 12321243423514213213;

float类型不加f或F:右边的值会被认为是double类型,大容量数据类型double无法赋值给小容量的float。

//报错
float f1 = 12.3;

2.情况二
整型常量默认为int
浮点型默认为float
左边容量小于右边就会报错

byte b1 = 12;
//报错
byte b2 = b1 + 1
//报错
float f1 = b1 + 12.3

进制

不同进制:
二进制:0,1。以0b或0B开头
十进制:0-9
八进制:0-7。以0开头
十六进制:0-9 A-F。A-F不分大小写。以0x或0X开头

二进制:
以补码形式存储数字。
0正1负。
负数的补码:原码除符号位取反 +1

十进制与二进制转换:
十进制 除以2取余,直到商0停止,结果取逆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值