Java轻松入门基础(四)--数据类型及运算规则和进制转换

Java轻松入门基础(四)

一、标识符
定义:凡是自己可以起名字的地方都叫标识符。
涉及到的结构:
包名、类名、接口名、变量名、方法名、常量名

命名规范(必须遵守):
1.由26个英文字母大小写,0~0,_或$组成
2.数字不可以开头
3.不可以使用关键字和保留字,但可以包含关键字和保留字
4.Java中严格区分大小写,长度无限
5.标识符不能包含空格

常用起名规范(可以不遵守):
包名:多单子组成所有字母都小写:xxyyzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写,多单词时每个单词用下划线连接XXX_YYY_ZZZ

二、变量
变量:程序中最基本的存储单元,包含数据类型、变量名和存储的值
java变量格式:数据类型 变量名=变量值;

//第一种变量的定义和使用
int age=12;
//第二种变量的定义和使用
int age;
age=12;

常见问题:
1.变量必须先声明赋值,然后使用
2.变量的定义只在其作用域内有效,出作用域失效。
3.同一作用域内,不可以声明两个同名的变量。

三、java数据类型
在这里插入图片描述
整数类型
在这里插入图片描述
bit是计算机中的最小存储单位。byte是计算机中的基本存储单元。
浮点类型
在这里插入图片描述
字符类型
char型数据用来表示通常意义上“字符”(2字节)。
java中所有的字符都是用Unicode编码,故一个字符可以存储一个字母,一个汉字或者是其他书面语的一个字符。

字符型三种表示方式:
1.字符常量用单引号(’’)括起来的单个字符,例如:char c1=‘a’;
2.java中允许使用转义字符‘\’,例如:char c2=’\n’,’\n’表示换行符。
3.直接使用Unicode值表示字符型常量,例如:\u00a表示\n。
注:char类型是可以进行直接运算的。因为他有对应的Unicode码。

布尔类型
只能取两个值之一:true、false(在c语言中:0表示false;非0表示true)。
常在条件判断、循环结构中使用。

四、基本数据类型之间的运算规则
注:只讨论7种基本数据类型间的运算,不包含boolean类型。
1.自动类型提升
当容量小的数据类型的变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。(容量大小指的是表示数的范围大小,比如:float容量大于long容量)

byte、char、short–>int–>long–>float–>double

注:当byte、char、short三种数据类型的变量做运算时,结果为int

class Test01{
	public static void main(String[] args){
		byte a1=2;
		int i1=129;
		int i2=a1+i1;
		long l1=a1+i1;
		System.out.println(i2);
		float f=a1+i1;
		System.out.println(f);
		short s1=123;
		double d1=s1;
		System.out.println(d1);

		//********特殊情况*******
		char c1='a';
		int i3=10;
		int i4=c1+i3;
		System.out.println(i4);
		short s2=10;
		//char c2=c1+s2;//编译不通过
		byte b2=10;
		//char c3=c1+b2;//编译不通过
		//short s3=b2+s2;//编译不通过
		//short s4=b1+b2;//编译不通过
		//**********************
	}
}

2.强制类型转换
自动类型提升运算的逆运算
1.需要使用强转符:()
2.注:强转可能会导致精度损失。

class Test02{
	public static void main(String[] args){
		double d1=12.9;
		//精度损失案例1
		int i1=(int)d1;//截断操作,不会四舍五入
		System.out.println(i1);//结果12
		//精度损失案例2
		int i2=128;
		byte b=(byte)i2;
		System.out.println(b);//结果-128
		//没有精度损失
		long l1=123;
		short s2=(short)l1;
	}**加粗样式**
}

3.String类型运算
1.String属于引用数据类型,翻译为:字符串。
2.声明String类型变量时,使用一对“”。
3.String可以和8种基本数据类型做运算,且只能是连接运算:+。(此处+表示连接符的意思)
4.运算结果仍然是String类型。

五、进制转换
二进制:0,1,满2进1。以0b或0B开头。
十进制:0~9,满10进1。
八进制:0~7,以数字0开头表示。
十六进制:0-9及A-F,满16进1。以0x或0X开头表示。此处A-F不区分大小写,如0x21AF+1=0X21B0

1.二进制十进制转换

二进制:0000 1110
十进制:1*2^3+1*2^2+1*2^1=14

十进制:13
二进制:除2取余,然后逆书写

13/2=6........1
6/2=3.........0
3/2=1.........1
1/2=0.........1
0/2=0.........0
...............
(补足8位书写出来)
然后逆书写:1011 0000

得出结果二进制为:1011 0000

2.二进制八进制十进制十六转换
类比二进制和十进制转化
小转大:寻找2的幂次数(八进制:3次幂;十六进制4次幂)
大转小:除进制数取余,逆书写。(类比十进制转化为二进制)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值