⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 02_identifier_basictype.txt

📁 达内科技上课的 java学习笔记 分为18天学完
💻 TXT
字号:
标识符:	
	用于给类,变量,方法,包命名.

	$ _ 数字 字母,第一个不能是数字

	约定俗称的习惯:
		类名:每个单词的首字母大写.
		属性和方法:第一个单词全小写以后每个单词首字母大写.
		这些都是习惯,可以不按照这样的规定,编译器不会给你报错.(但会被人鄙视)
			class Person{
				public String userName;
				public void setUserName(){
				}
				public void getUserName(){
				}
			}
		包名:全小写
		常量:全大写,用"_"分隔每个单词
	
	字符集
		java的字符集使用的是unicode字符集.
		这个字符集除了收集英文字符以外还包含了汉字的字符集.
		也就是说可以用汉字来命名类名或者变量名.


关键字
	有个关键字enum是java1.5里面加入的.
	strictfp这个关键字很生僻.

	jdk5.0里面有50个关键字.
	很多和C++是一样的.

	被取消的关键字
		goto和const都被保留下来了,但在java语言里面是没有意义的.
		java中实说这两个单词我保留了,但是我不用,可能希望将来希望使用.
		
		const 
			不使用了, 被java中的 final来代替.
		goto 
			不使用,java中没有取代它.那么C++里面的goto被java取消了.这个语句会使你的程序变得没有结构性.
			使用了goto还非常容易出现死循环.
			
			goto主要应用在多层嵌套循环的内部直接的跳到最外层.
	
	java中的break
		java是怎么样解决这个问题,它使用的是break,但是在break后面可以带有语句标号;
		break loop1;
	
	true和false
		表示这boolean的字面值.

	boolean
		对应c++中bool
	
	c++中的sizeof关键字没有了.
		这个关键字是用来判断某个类型占据的内存空间的大小.
		为什么要使用sizeof.因为C++在不同平台下int所占用的字节数是不同的.

		java语言不论你在什么样的平台下:
			只要你在源程序中定义的是int它就认为是4个字节.
			把底层的平台数据字节数,通过jvm屏蔽掉了.
		

数据类型:
	八种基本数据类型
	boolean		表示true和false 单独的提取出来了.
				在C++种经常犯一些错误.
				char c;
				while(c=getChar()!='\0'){
					.....;
				}
				这里完成的是把一个bool值赋值给一个字符变量,C++的编译器是检查不出来这样的错误的.
				但java里面编译器是可以检查的出来这样的错误的.
				因为java种的逻辑boolean值是单独被提取出来的.



					位数				取值范围	
	整型:
		byte			8bit					2^8	-128~127   共 256个
		int			32bit				-2^31~2^31-1	
									2^31=2^30*2=1024*1024*1024*2=2G>20亿
		long		64bit				-2^63~2^63-1
		short		16bit				2^16	-32768~32767
		char			16bit				保存nuicode字符编码值 
	实型:
		double		64bit				
		float		32bit				只有四个字节,因为是近似存储.

	char	 
		ASCII  0~127 后面的是IBM扩充的ascii的全表
		它的存储方式和整数的存储方式一样的
		unicode就把主要语种的字符包含进去了,
		65535个位置,而常用的汉字也不过5000多个.

		char和short不同在取值范围的不同.
			short是 -32768~32767
			char 是 0~65535

	整型数据的内存存储原则:
		正整数	直接存储二进制原码
		负整数	直接存储二进制补码  在原码的基础上按位求反末位加一.
				-28        00011100----求补码--->11100100       
				
				符号位:补码的最高位是一,原码的最高位是零.
		
	实型数据的存储方式
		float   32bit	前三个字节存储数值,后一个字节存储位权
			3.14156	= 314156 , -5 =314156*10^-5
		double 64bit 前6个字节存储数值,后两个字节存储位权.


	java语言里面没有无符号的概念


类型转化:
	数值类型的转换原则:
		从小范围的值转换成大范围的值可以自动进行,否则需要强制进行.
		如果要把a=b,a这种类型的取值范围要完全包容b类型的取值范围.
		如果不能够完全包容就不能自动转换.
		byte转换成short 可以自动进行.
		byte->short char->int short->int int->long long->float float->double
		float的取值范围没有,因为是近似存储.所以可以包容double
		byte有负数char不能表示负数,所以byte不能自动转char


	强制类型转换规则:
		把int转换成byte,去掉高位保留低位存入byte;
		int a=0x17ff;byte b=(byte)a;System.out.println(a);-1
		
	自动类型转换也会造成数据丢失
		从int->float	long->float  long->double
		float和double本身故有的存储空间大小决定的.
		float只用前三的字节存储数据.
		double只用前六个字节存储数据.
		这样有可能造成低8位的数据丢失.
		int 自动转换成 float的时候,如果int值大于float保存数据可以存储的范围,那么自动类型转换会把int类型值的低8位舍弃.
	
字符类型和整形的关系
	int a='0'; char b='\u0048';
	System.out.println(a);
	"abc"
	long la=1234567L;在数字后面直接跟上L表示长整形.

	byte b=123;这样就是可以的.但是不可以 byte b=129;
	对于数字标量 byte short char 可以直接的赋值.
	
	float f=123.22;错,应当float f=123.22F;
	double d=123.22;对,希望表示double值可以double d=123D;如果不给出D也可以.


	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -