JavaSE-2-数据类型与运算符

Javase的数据类型与运算符

  --by Xrzhang

 


1.关键字

定义:关键字是SUN公司事先定义的,有特别意义的单词

特点:在 Java 中关键字都是小写的

组成:

 

2.标识符

定义:标识符可以标识类名,接口名,变量名,方法名

命名规则:

a) 标识符是由,数字,字母,下划线和美元符号,¥构成,其他符号不可以

b)必须以字母、下划线或美元符号,¥开头,不能以数字开头

特点:

a)关键字不能作为标识符

b)标识符区分大小写

c)标识符理论上没有长度限制

示例:

 

命名 Java 标标识识符符,,最最好好见见名名知知意意

3.变量(Var

变量是内存中用来存放特定数据类型数据的一块空间,它的值是可以改变的。Java 中的变量有四个基本属性:变量

名,数据类型,存储单元和变量值

变量名:合法的标识符,以字母,$_开头(见名知意)

变量的数据类型:可以是基本类型和引用类型(必须包含类型)

存储单元:存储单元大小是由数据类型决定的,如:int 4 个字节 32

变量值: 在存储单元中存放的值

变量的声明格式:

【数据类型 变量名(标识符) *字面值】  

4.数据类型

Java 总共有两种数据类型, 主要有基本类型和引用类型, 基本类型有 8 种, 引用数据类型有3

<1> 基基本本数数据据类类型型

数值类型

整数型(byte,short,int,long)

浮点型(float,double)

字符类型(char)

布尔类型(boolean,只能取值 true false)

<2> 引引用用数数据据类类型型

数组

接口

八种数据类型的取值范围

 

在计算机内部,所有信息都采用二进制表示,每个二进制由 0 1 两种状态,一个字节有 8位,也就是由 8 0 1

成,如果 short 类型的 6 在计算机中是如何存储的,short 是两个字节,那么

short 6 的二进制为:00000000 00000110;

int 类型的 6 在计算机中存储为 32 位:00000000 00000000 00000000 00000110

十十进进制制到到二二进进制制的的换换算算

规则:除 2 取余,逆序输出

10 进制 6 二进制换算方式为:

6/2=3 0

3/2=1 1

1/2=0 1

将余数逆序输出就是 6 的二进制表示:110 ,位数不够补零

二二进进制制到到十十进进制制的的换换算算

规则:取出最后一位,从 2 0 次方开始乘,将得到的结果相加即可

如:二进制的 110 的十进制换算:

0*2 0 次方=0

1*2 1 次方=2

1*2 2 次方=4

110 的十进制为:0+2+4=6

*数据类型其实就是决定在jvm中开辟多大的内存空间,来存储你的字面值。字面值最终转换为二进制编码,进行存储。因为不管任何语言只要是在计算机中进行操作,都会转换成机器代码,只不过这些操作都是语言帮我们自动处理。

*数据类型运算的时候都是使用int接受,或者比int更大范围的数据去接受。

*整型和浮点型类型大小比较的过程,和自动转换,强制类型转换。

Byte < short <int <long < float < double(float用科学记数法接受long)

*定义过程中,float一定要在结尾加f或者FLong一定要加l或者L,最好用L Double可加可不加。

*小数的前置0可以省略。

5.字符编码

 

6. 运算符


7.字符集

字符集:通常意义就是单个字符,字符必须以单引号引起来,(''),java语言是16位Unicode编码方式。早期是


 
public class BiaoShiFu
{

	public static void main(String[] args){
		/*
			变量:数据类型 变量名 = 字面值;
			变量名:$,_ 开头,其他随便(除了java的关键词),
			中间不能包含特殊字符串(#,@)和空格等其他字符.

		*/

		int age = 30;
		float cc = 30f;
		int $$$=100;
		int $_26 = 100;
		int $我爱你=13300;

		//boolean $@ = true; 错误的|
		//boolean $ @ = true; 错误的
		//boolean 2$@ = true; 错误的
		
	
		print(age);
		print(cc);
		print($$$);
		print($_26);
		print($我爱你);
	}


	public static void print(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class BiaoShiFu02{


	private static int age = 30 ;

	public static void main(String[] args){
		/*
			变量:数据类型 变量名 = 字面值;
			变量名:$,_ 开头,其他随便(除了java的关键词),
			中间不能包含特殊字符串(#,@)和空格等其他字符.
			同样用于:方法和类的名称

			{
		
			}//就是一个作用域
		*/

		//int age = 30;
		//age = 20;//修改变量在内存中的值.=赋值
		
		print(age);
		
	}


	public static void print(Object message){
		System.out.println("打印的结果是:"+message);
	}
}
public class JavaInteger{
	private static int age = 30 ;

	public static void main(String[] args){
		/*
			为什么在开发中都推荐使用int类型,而不是long也不是short呢.
			在业务的开发过程,我们难免会遇到算术运算。+,- * /	
		*/
		byte a = 100;
		byte b = 110;

		int c = a * b;

		short d = 470;
		short e = 10;

		int ff = d + e;
		long fff = d + e;
		float fff2 = d + e;
		float fff3 = d + e;

		
		print(c);
		print(ff);
		print(fff);
		print(fff2);
		print(fff3);
		
	}


	public static void print(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class JavaInteger02{
	private static int age = 30 ;

	public static void main(String[] args){
		byte a = 100;
		int b = a ;
		b = 200;
		int c = b;
		float e = c;
		e = 110; 
		double f = a;
			
		console(a);//100
		console(b);//200
		console(c);//200
		console(e);//110.0
		console(f);//100.0
		

	}


	public static void console(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class JavaInteger03{


	public static void main(String[] args){
		/*
			float类型:如果接受整型,
			定义是比较特殊:
			如果float接受的是一个整数.不需要加f或者F
			但是如果是小数一定要加f或者F

			因为java一个小数的默认数据类型是:double
		*/
		float c = 100f;
		float d = 36.5f;//JavaInteger03.java:12: 错误: 不兼容的类型: 从double转换到float可能会有损失

		console(c);
		console(d);

		console("==============================");
		double cc = 100d;
		double dd = 36.5d;//默认省去尾巴d或者D
		double f = 36.589d;
		double g = 236.589D;
		double h = d;

		console(cc);
		console(dd);
		console(f);
		console(g);


	}

	//打印方法
	public static void console(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class JavaInteger05{

	public static void main(String[] args){
		
		//opacity:0-0.5-1  
		//opacity:.5等价于opacity:0.5

		float a = .35f;//0.35f
		console(a);
		double b = .0004548d;
		console(b);

	}

	//打印方法
	public static void console(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class JavaInteger06{

	public static void main(String[] args){
		
		double c = 59.8998;

		int money = (int)c; //直接丢掉小数,留下整数部分,不会四舍五入。
		//在开发过程,命令进制在万不得已的情况下,不允许使用强制数据类型转换。
		console(money);


	}

	//打印方法
	public static void console(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class JavaInteger07{

	public static void main(String[] args){
		//十进制:0  1 2 3 4 5 6 7 8 9====二进制 1010
		int a = -10;
		a = 100;
		//八进制 0 1 2 3 4 5 7 ,必须以0开头----
		int b = 013;
		console(a);
		console(b);

		
		//二进制转十进制,2位次幂除以每个进制对应的数字相加等到结构
		//十进制转二进制,用十进制除以2的余数,从下往上拼接得到
		
		//十进制转八进制:用10除以8的余数从下往上拼接
		//二进制转八进制: 用分组法,每三个一组:从右往左 1 2 4排列。如
		//1   0  ===>  1  1  0  ===>   1 0 1
		//2	1  ===>  4  2  1  ===>   4 2 1
        // 2 =====>6 =====>5 == 265
		//10110101===八进制===
		//2   6   5
		//010	110 101  

		//十六进制,必须以0x或者0X开头,0-9 a-f,一组数字
		int cc = 0x89aed;
		//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
		//0 1 2 3 4 5 6 7 8 9 a  b  c  d  e  f
		//1 ====   0 1 1 1  ====   0  1  1  0
		//1======  8 4 2 1  ====   8  4  2  1
		//1===7====6====0x176
		console(cc);

		//八进制,十进制,十六进制都是数字.


	}

	//打印方法
	public static void console(Object message){
		System.out.println("打印的结果是:"+message);
	}
}

public class Test {

	public static void main(String[] args) {
		//都是什么进制转成十进制
//		System.out.println(Integer.parseInt("013", 8));
//		System.out.println(Integer.parseInt("ff", 16));
//		System.out.println(Integer.parseInt("ffff", 16));
//		System.out.println(Integer.parseInt("1010", 2));
//		
//		System.out.println("====十进制转其他进制");
//		String c = Integer.toString(110, 2);//十进制转二进制
//		String c2 = Integer.toString(120, 8);//十进制转八进制
//		String c3 = Integer.toString(130, 16);//十进制转十六进制
//		String c4 = Integer.toString(140, 10);
//		System.out.println(c);
//		System.out.println(c2);
//		System.out.println(c3);
//		System.out.println(c4);
		
		
//		int b = Integer.parseInt("013",8);//十进制
//		String c = Integer.toString(b, 16);
//		System.out.println(c);
		
//		System.out.println(eto16("013"));
//		System.out.println(eto162("0xab897"));
		
		int ccc = 0B101010110;
		float c = 3.14_787_878_787f;
		System.out.println(ccc);
		
		String b = "1010111";
		System.out.println("二进制转十六进制==="+eto165(b));
		System.out.println("十六进制转二进制==="+eto163(eto165(b)));
		System.out.println("二进制转八进制==="+eto166(b));
		System.out.println("八进制转二进制==="+eto162(eto166(b)));
		System.out.println("八进制转十六进制==="+eto16(eto166(b)));
		
	}
	
	
	//二进制转十六进制
	public static String eto165(String b){
		int bc = Integer.parseInt(b,2);
		//十进制----parseInt(进制数字,radix);//radix告诉进制数字是进制----转成,十进制
		//Integer.parseInt(进制数字,radix)===将某一种进制转换成十进制
		String c = Integer.toString(bc, 16);
		return c;
	}
	
	//二进制转八进制
	public static String eto166(String b){
		int bc = Integer.parseInt(b,2);
		//十进制----parseInt(进制数字,radix);//radix告诉进制数字是进制----转成,十进制
		//Integer.parseInt(进制数字,radix)===将某一种进制转换成十进制
		String c = Integer.toString(bc, 8);
		return c;
	}
	
	//八进制转十六进制
	public static String eto16(String b){
		int bc = Integer.parseInt(b,8);//十进制
		String c = Integer.toString(bc, 16);
		return c;
	}
	
	//八进制转二进制
	public static String eto162(String b){
		int bc = Integer.parseInt(b,8);//十进制
		String c = Integer.toString(bc, 2);
		return c;
	}
	
	//十六进制转二进制
	public static String eto163(String b){
		int bc = Integer.parseInt(b,16);
		//十进制----parseInt(进制数字,radix);//radix告诉进制数字是进制----转成,十进制
		//Integer.parseInt(进制数字,radix)===将某一种进制转换成十进制
		String c = Integer.toString(bc, 2);
		return c;
	}
	
	
	//十六进制转10进制
	public static String eto164(String b){
		int bc = Integer.parseInt(b,16);//十进制
		return bc+"";
	}
}


猜你喜欢

转载自blog.csdn.net/as1072966956/article/details/79795795
今日推荐