学习疯狂JAVA讲义——学习基本类型

 笔记备忘,方便以后忘了查询(如有错误,敬请指点)

★类型:

                        ↗基本类型

    Java的类型

                        ↘引用类型

                       ↗整形   (byte、short、int、long)

                  ↗   浮点型     (float、double)

★基本类型:  →字符型    (char)

                  ↘boolean型   (boolean)

★整型

    位(bit)    要么是0、要么是1。

    字节(Byte)    8个bit

    所谓整形,只能装整数(包括正整数和负整数)

2^0→1    2^1→2    2^2→4      2^3→8      2^4→16

2^5→32    2^6→64    2^7→128    2^8256

2^9→512       2^101k      2^11→2048

2^12→4096   2^16→65536    

2^201M         2^301G       2^401T

    byte: 8位(能表示256个数)、取值范围:  -128~127

    short:16位(能表示65536个数)、取值范围:  -32768~32767

    int:32位(能表示4G个数)、取值范围:  -2G~2G-1

    long:64位(能表示4G个数)、取值范围很大,无需记忆

▲注意点:

    A、你直接给出一个整数,整数默认是int型。

          如果该整数值较小、且直接赋值给byte或short、Java也可以将它当成byte或short

    B、如果你直接给出一个巨大的整数,Java不会自动把它当成long型处理

        如果希望Java把该整数当成long处理,需要在整数后加L或l后缀

    C、整数一共有4种表示形式:

        十进制:

        八进制:以0开头。  逢8进1,只能出现0~7

        十六进制:以0X开头或0x开头。

                         逢16进1,只能出现0~9、a~f.

        二进制:以0B或0b开头

                         逢2进1,只能出现0~1

        十六进制的数,在编程中非常常用——每一位十六进制的数,恰好换算成4位二进制的数,因此非常的方便。

★浮点型

    只能装带小数部分的数。

    float:4位(32位) 因为内存巨便宜了出于精度考虑基本不用float了

    double:8位(64位)、取值范围超级无敌大

Q1:编程时如何选择用float还是double?为什么?

A1:应该用double  因为浮点数都有精读丢失,但float丢失更严重

▲浮点型注意点:

    A、你直接给出一个浮点值时,整数默认是double型。

          如果你希望一个浮点值被当成float处理,必须在浮点值后添加F或f。

    B、浮点数会有精度丢失

          所以浮点数比较时,应该用“差值法”

    C、浮点数有两种表示形式:

          -小数形式。

          -科学计数法。  数eN   数*10^N

           3e5 = 300000     3e-2 = 0.03

           只要用科学计数法,就一定是浮点数,不可能是整数。

    D、有三个特殊值:

           浮点数除以0,得到无穷大

           正无穷大:正正得正,负负得正      

           负无穷大:正负得负                -Infinity

         【所有正无穷大都相等;所有负无穷大都相等,但他两不相等】

           非数:浮点0除以0,对负数开方会得到非数NaN(not a number)

          【非数与任何数都不相等,与它自己都不相等】

          

★字符型

    只能装单个字符(英中日韩),且单个字符要放在单引号里。

    char: 2个字节(16位)

▲字符型注意点

    A、字符型有3种表现形式

          -单引号中放普通字符

          -单引号中放转义字符   参考P52页表3.2

\b \u0008  退格符  8
\n \u000a  换行符 10

\r \u000d  回车符 13

\t \u0009  制表符  9
\" \u0022  双引号 34
\' \u0027  单引号 39

          - 用字符Unicode编号。十六进制

    B、字符完全可以当成无符号整数使用。

          字符当成无符号整数使用时,其实就是用该字符的编号

Java类型可分为2大类:数值型(整形、浮点型、字符型)

/***************************************

字符集:为了在计算机底层保存字符,科学家为所有字符编号,

            当要保存字符时,实际上保存该字符的编号(二进制)

            读取字符内容时,读取是二进制的编号,需要参照编号表

            才能得到对应的字符

ASCII:只支持英文、数字、标点符号。

    a~z: 97~97+25;    A~Z:  65~90;    0~9:   48~57

        \r:  13         \n:   10         ':   39       ":   34

GB2312:-中文字符集,同时兼容ASCII

GBK:-汉字更多

GB18030:-目前简体的字符集GBG

美国人制订了兼容全球所有国家文字的字符集:Unicode,Java用的就是这个字符集

Unicode有一些变种:UTF-8、UTF-16

一般来说,以后企业中开发推荐使用UTF-8

***************************************/

★boolean型

    只有2个值:true或false。

    true表示真;false表示假。

结尾留言:感谢看到这里,希望对你有略微帮助,过年变懒了,一直在零碎学习,但没发表,换软件后,可以直接复制粘贴了,果然科技改变生活σ ゚∀ ゚)σ

public class ZuoYe
{
	int i1 = 123;
	int i2 = 456;
	int i3 = 9400;
	int i4 = 4;
	int i5 = 9600;
	int i6 = 6;
	int i7 = 9700;
	int i8 = 8;
	int i9 = 9900;
	int i10 = 10;
	int it1 = 31415;
	int d;
	static int it2 = 555;
	//8进制赋值
	int ct5 = 0111;// 1*8^2 + 1*8 + 1= 73
	int ct6 = 0253;// 2*8^2 + 5*8 + 3= 171
	
	//16进制赋值
	int a3 = 0xed;//14*16 + 13 = 237
	int A3 = 0b11101101; //二进制
	
	int a4 = 0x2e;//2*16 + 14 = 46
	int A4 = 0b00101110;//二进制
	//转2进制就是将16进制每一位转成相对应的2进制数,
	//以上a3与A3,a4与A4运算结果相同.
	
	//浮点型
	float f1=1.2f;
	double d1= 3.14;
	double d2 = 2e6;
	float f2 = 1e5f;
	
	//字符型
	char c ='a';
	char c1 = '\b';
	char c2 = '\u0025';
	public static void main(String[] args) 
	{
		ZuoYe zy = new ZuoYe();
		System.out.println(zy.c + zy.c1 + zy.c2);
		
	    zy.d1= zy.d1* 2 -5.3 * 1.2 -zy.d1 * 2.2;
		System.out.println(zy.d1);
		System.out.println(zy.d2);
		System.out.println(zy.f2);
		
		System.out.println(zy.ct5);
		System.out.println(zy.ct6);
		
		System.out.println(zy.a3);
		System.out.println(zy.A3);
		
		System.out.println(zy.a4);
		System.out.println(zy.A4);
	}
}

你可能感兴趣的:(学习,java,开发语言)