java标识符+数据类型

java:
内容源自:《java入门到精通》
感谢大神!!!

package Test;

//public class Test11 {
//    //Test11是一个类名。class时判断Test11为一个类名的关键字,而public用来修饰类的修饰符。
//    //每个基础类都有一个类体,使用大括号包括起来
//    public static void main (String args[]){
//    //这是一个特殊方法,主体是main,其他的都是修饰内容。这条代码语句是一个java类固定的内容。
//    /*其中main定义一个Java程序的入口。和类具有类体,方法具有方法一样,其同样也要使用大括号括起来。*/
//        System.out.println("hello world"); //输出
//    }
//}

//一:标识符
/**标识符是为自己定义的类,方法或者变量等起的名称,例如Hello World和main都是标识符。其中Hello World是类名,

  • main是方法名,除此之外还可以为变量名。类型名。数组名等。
  • Java标识符规定:大小写字母、数字、下划线和美元符号($)组成。不能以数字开头
  • 在java中标识符是严格区分大小写的,HELLO和hello是完全不同的标识符。
  • **标识符不能使用JAVA语言中的关键字。
  • 包名:使用小写字母;
  • 类名和接口名:通常定义为具有含义的单词组成,所有单词的首字母大写;
  • 方法名:通常也是有有具有含义的单词组成,第一个单词的字母小写,其他单词的首字母都大写;
  • 变量名:成员变量和方法相同,局部变量全部使用小写;
  • 常量名:全部使用大写,最好使用下划线分隔单词。*/

//关键字
/**java中不能使用关键字作为标识符,这些关键字只能由系统使用。在程序中,关键字具有特殊的意义,java平台根据关键字来执行程序操作。

  • 1.访问修饰符关键字
  • 在Hello World程序中出现的第一个单词就是public,他就是一个访问修饰符关键字。修饰符关键字包括如下几种:
  • public:所修饰的类、方法和变量是公共的,其他类可以访问改关键字修饰的类、方法或者变量;
  • Protected:用于修饰方法和变量。这些方法和变量可以被同一个包中的类或者子类进行访问;
  • private:同样修饰方法和变量。方法和变量只能由所在类进行访问。
  • 2.类、方法和变量修饰符关键字
  • class:告诉系统后面的单词是一个类名,从而定义一个类;
  • interface:告诉系统后面的单词是一个接口名,从而定义一个接口;
  • implements:让类实现接口;
  • extends:用于继承;
  • abstract:抽象修饰符;
  • static:静态修饰符;
  • new:实例化对象*/

//流量控制关键字
/*流量控制语句包括if-else语句、switch-case-default语句、for语句、do-while语句、break语句、continue语句和ruturn语句,

  • 这些都是流量控制关键字。还有一个关键字应该也包括在流量控制关键字中,那就是instanceof关键字,用于判断对象是否是类或者接口的实例。*/

//异常处理关键字
/*异常处理的基本结构是try-catch-finally,这三个单词都是关键字,异常处理中还包括throw和throws这两个关键字。

  • assert关键字用于断言操作中,也是异常处理关键字。*/

//包控制关键字
/*包控制关键字只有两个,分别是import和package。inport关键字用于将包或者类导入到程序中,

  • pachage关键字用于定义包,并将类定义到这个包中*/

//数据类型关键字
/*java语言中有8中基本数据类型,每一种基本数据类型都需要一个关键字来定义,除布尔型(booleam)、字符型(char)、字节型(byte)外,

  • 还有数值型。数值型又分为short、int、long、flort和double;
    */

//特殊类型和方法关键字
/*super关键字用于引用父类,this关键字应用于当前类对象。void关键字用于定义一般方法,该方法没有任何返回值。在Hello World程序中的

  • main方法钱就有该关键字。*/

//没有使用的关键字
/const和goto/

/*=所有的关键字都是小写,如果采用了大写,那肯定就不是关键字======*/

//注释
//单行注释(//),多行注释(//),文档注释(/ */).

//二:基本数据类型
//变量和常量
//常量是不可改变的数值,而变量表示能够改变的数值。

//public class Test11{
//    public static void main(String[]args){
//        final double PI=3.14;
//        int R=5;
//        double ymj=PI*R*R;
//        System.out.println("圆的面积等于"+ymj);
//    }
//}

/*求面积需要两个值,分别是PI和半径。PI是一个固定的值,所以用常量来表示。从而知道定义常量需要final这个关键字。

  • 圆的半径是变化的,多愿意需要一个变量来表示。上述代码中的常量和变量前都有一个关键字double和int,这是定义的数据类型*/

import java.util.zip.ZipEntry;

//数据类型
/*java中用户存放证书的数据类型成为整数类型。

  • 整数类型根据占用的内存空间位数不同 可以分为四种:byte(字节型)、short(短整型)、int(整型)、long(长整型;
  • 定义数据时默认int类型。内存空间决定了数据类型的取值范围。
  • **在java中通过3种方式来表示整数,分别是十进制,八进制,十六进制。
  • 八进制:使用0-7来进行表示,使用八进制表示整数必须在该数的前面放置一个“0”,下面是十进制和八进制数值进行比较的程序*/
//public class Test11{
//    public static void main(String[]args){
//        int a10=12;
//        int a8=012;
//        System.out.println("十进制12等于"+a10);
//        System.out.println("八进制12等于"+a8);
//    }
//}
/

/当一个数值以“0”开头,则表示该数值是一个八进制数值,从运行结果中也可以看出该值为十进制的10.
//十六进制:除了0-9外,还是用a-f分别表示10-15的数值。表示十六进制时,字母不区分大小写,也就是a=10,A=10.
//十六进制的特殊表达方式,以“0X”或者“0x”开头。

//public class Test11{
//    public static void main(String[]args){
//        int a1=0x12;    //定义一个以数字表示的十六进制整数
//        int a2=0xcafe;   //定义一个以字母表示的十六进制整数
//        System.out.println("第一个十六进制数值等于"+a1);
//        System.out.println("第二个十六进制数值等于"+a2);
//    }
//}
/

/定义为long长整型,需要在数值后面加上L或者l,例如定义长整型的12数值,则应该为12L.

//浮点类型
/*浮点类型和整数类型一样,也是用来表示数值。整数类型是表示整数,而浮点类型表示的小数,在java中不称作小数,而成为浮点数。

  • 浮点类型就是java中的浮点数。java中的浮点类型分为两种,分别是单进度浮点类型和双精度浮点类型。*/
    //使用单精度浮点类型时,数值后+F或者f。
    //使用双精度浮点类型时。数值后+D或者d。但是他不是必须的,因为双精度浮点类型是默形式
//public class Test11{
//    public static void main(String[]args){
//        float f=1.23f;  //定义一个单精度浮点类型
//        double d1=1.23;  //定义一个不带后缀的双精度浮点类型
//        double d2=1.23D; //定义一个带后缀的双精度浮点类型
//        System.out.println("单精度浮点类型数值等于"+f);
//        System.out.println("双精度浮点类型数值等于"+d1);
//        System.out.println("双精度浮点类型数值等于"+d2);
//    }
//}

//如果将定义单精度浮点类型数值后的f去掉,该程序就会发生错误。定义爽精度浮点类型是,是否欧后缀对结果是没有变化的。

//字符类型
/** 在开发中,经常要定义一些字符,例如“A”,这时候就要用到字符类型。

  • 在java中,字符类型就是用于存储字符的数据类型。
  • 编码格式:Unicode码表示字符。Unicode码中定义了至今人类语言的所有字符集。
  •      Unicode码通过"\\uxxxx"来表示,x表示的十六进制数值。--其中只有一个\,但是会报错,所以加一个\(转义)
    
  •      Unicode编码字符是用16位无符号整数表示的*/
    
//public class Test11{
//    public static void main(String[]args){
//        char a='A';
//        char b='\u003a';
//        System.out.println("第一个字符集类型的值等于"+a);
//        System.out.println("第二个字符类型的值等于"+b);
//    }
//}

/*定义字符类型数值时,可以直接定义一个字符。也可以是用Unicode码定义。还有一些是受操作系统的影响不能显示的,

  • 通常会显示一个问号,这时候Unicode可能会表示问号。
  • 在执行过程中,会有一些内容不会显示的,例如:回车、换行等效果。
  • 为解决此效果,定义了转义符号。这通常使用“\”开头。
  • '=单引号 \n=换行
  • ‘’=双引号 \f=换页
  • \=斜杠 \t=条格
  • \r=回车 \b=退格 */
//public class Test11{
//    public static void main(String[]args){
//        System.out.println("Hello \n World");
//        System.out.println("Hello \\n World");
//    }
//}

/** 布尔类型

  • 使用true和flose来判定逻辑值真假的数据类型==布尔类型
  • 所有的关系运算的返回值都是布尔类型。布尔类型也大量应用在控制语句中。*/

/** 数据转换

  • java是一种强数据类型语言,所以当遇到不同数据类型同时操作时,就需要进行数据类型转换。
  • 数据类型转换要满足一个最基础的要求,那就是数据类型要兼容。
  • 例如:将一个布尔类型转换成整数类型是肯定不会成功的。
  • 在java中,两个数据类型转换方式,分别是自动类型和强制类型转换
  • 1.自动类型转换:
  • 自动类型转换要满足数据类型兼容、转换前的数据类型的位数要低于转换后的数据类型*/
//public class Test11{
//    public static void main(String[]args){
//        short s=3;    //定义一个short类型变量
//        int i=s;      //short自动类型转换为int
//        float f=1.0f;   //定义一个float类型变量         虽然是自动类型转换,也是要自己定义转换的是什么类型的
//        double d1=f;    //float自动类型转换为double
//        long l =234L;   //定义一个long类型变量
//        double d2 = l;  //long自动类型转换为double
//        System.out.println("short自动类型准换成int后的值等于"+i);
//        System.out.println("float自动转换为double后的值等于"+d1);
//        System.out.println("long自动类型转换为double后的值为"+d2);
//    }
//}

/** 可以看出位数低的类型数据可以自动转换成位数高的数据类型。

  • 例如:short数据类型的位数为16,就可以自动转换为位数为32的int类型;
  • 同样的float数据类型的位数为32,啧可以自动转换为64位的double类型;
  • **由于整数类型和浮点类型的数据都是数值,则他们之间也是可以互相转换的,从而有了long类型自动转换成double类型,
  • 但需要注意的是,转换后的值相同,但是表示上一定要在后面加上小位数(double是浮点类型),这样才能表示double类型。*/
    //注意:整数类型转换成浮点类型值可能会发生变化,这是由浮点类型的本身定义决定的。
    //计算机内部是没有浮点数的,浮点数是靠整数模拟就按出来的,不如0.5其实就是1/2,。所以换算过程难免存在误差

//整数类型自动转换为浮点类型的程序。

//public class Test11{
//    public static void main(String[]args){
//        int l=123456123;                  //定义一个long类型变量。也可以定义为:l=234L。
//        float d=l;                      //int自动类型转换为double
//        System.out.println("int自动类型转换为float后的值等于"+d);
//    }
//}

/** 字符类型占16位数据,而且也可以是用Unicode码来表示,因此字符类型也可以自动转换为int类型的,

  • 从而还可以自动转换为更高位的long(64)类型,以及浮点类型。*/
    //字符类型自动类型转换为int类型的程序
//public class Test11{
//    public static void main(String[]args){
//        char c1='a';                //char类型是一个单一的16位Unicode字符
//        int i1=c1;
//        System.out.println("char自动类型转换为int后的值等于"+i1);
//        char c2='A';
//        int i2=c2+1;           //char类型和Int类型计算
//        System.out.println("char自动类型和int类型计算后得值等于"+i2);
//    }
//}

/自动类型是从低位数转换为高位数/

//强制类型转换
/** 强类型转换可以高位数的数据转低位数的数据。

  • 前提条件:转换的数据类型必须兼容。
  • 强类型转换的固定语法:(type)value;其中type就是要强制类型转换后的数据*/
//public class Test11{
//    public static void main(String[]args){
//        int i1=123;
//        byte b=(byte)i1;
//        System.out.println("int强制转换byte后值等于"+b);
//    }
//}

//因为byte的取值范围-128~127,当数值很大的时候,转换可能会在成数据的丢失。

//public class Test11{
//    public static void main(String[]args){
//        int i1=128;
//        byte b=(byte)i1;
//        System.out.println("int强制转换byte后值等于"+b);
//        double d1=123.2233;
//        int i2=(int)d1;
//        System.out.println("double强制转换jint后的值等于"+i2);
//    }
//}

//double类型强制类型转换成int会将浮点类型强制转换为整数类型。

//public class Test11{
//    public static void main(String[]args){
//        char c1='A';
//        int i=c1+1;
//        char c2=(char)i;
//        System.out.println("int强制类型转换后为char后的值等于"+c2);
//    }
//}

//改该程序中将计算后得到的int类型强制类型转换为char类型,从而得到结果B字(66)。
//得出:在Unicode码中所有的字母都是一次排序的。

//隐含强制类型转换
/** java 中的特殊机制==隐含自动类型转换机制;

  • 例如:byte b=123;
  •  123的数据类型是int类型,而定义的b变量是byte类型。按之前的理论,这里应该需要进行强制类型转换的;
    
  •  但java提供了这种隐含强制类型转换机制。这样工作不再是程序完成,而是java系统自动完成的。*/
    

//整数可以。浮点类型不存在这种情况,因为定义float类型是必须在数值后面加上F或者f。

//public class Test11{
//    public static void main(String[]args){
//        float i1=0.01F;
//        double s= i1;
//        System.out.println("float转换成short="+s);
//    }
//}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值