二 .JAVA语言基础(迁自博客园)

1.注释,标识符,关键字

 Comments

        用于解释说明程序的文字

         Java中注释分类格式

               单行注释:格式: //注释文字

               多行注释:格式 /*  注释文字  */ 

               文档注释:格式:/** 注释文字 */

        对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

         对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

  Identifiers

        就是给类,接口,方法,变量等起名字时使用的字符序列。

        ——组成规则

               英文大小写字母;

               数字字符;

               $和_;

        ——注意事项

               不能以数字开头

               不能是Java中的关键字

               区分大小写

        ——常见命名规则

                   包:

                   都有小写单词组成,中间以.分割

                   例:zhangsan.download

                   类或者接口:HelloWorld 

                   一个单词:单词的首字母必须要大写

                   多个单词:每个单词的首字母都要大写

                  例:Student,HelloWorld

                   方法或者变量: main   userName  passWrod

                   一个单词:单词的首字母必须要小写

                   多个单词:第一个单词首字母小写,从第二个单词的首字母要大写

                   例:name,main,studentName

                   常量:      STDTUDENT_AGE

                   一个单词:全部大写

                   多个单词:所有字母大写,并用下划线隔开单词

                   例:MAX,STUDENT_MAX_AGE

  Keywords

       被Java语言赋予特定含义的单词

        组成关键字的字母全部小写

        goto和const作为保留字存在,目前并不使用

        类似Notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

        Java 中共有 53 个标识符或称为保留字,其中 50 个为关键字(goto, const 目前尚未使用);另外 3 个是值,这 3 个值为 true, false 和 null

2.进制转换

——进制

       就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

        ——不同进制的数据组成

                二进制——由0,1组成。以0b开头;

                八进制——由0,1,…7组成。以0开头;

                十进制——由0,1,…9组成。整数默认是十进制的   

               十六进制——由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头;

        ——进制转换

                 其他进制到-->十进制  位权展开法
                      0b100110
                      1*2^5+1*2^2+1*2^1=32+4+2=38
                      0100
                      1*8^2=64
                      0x100
                      1*16^2=256
                 十进制-->其他进制 

              

         ——有符号数据表示法

                 在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。

                  ——原码

                         就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

            byte b=1;

            0000 0001

            1000 0001

                  ——反码

            0000 0001     

            1111 1110

            正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外

                   ——补码

              1111 1111

            正数的补码与其原码相同;负数的补码是在其反码的末位加1。

       Q3:已知某数X的原码为0b10110100,试求X的补码和反码。

       10110100

       11001011

       1100 1100

      已知某数X的补码0b11101110,试求其原码。

        1110 1110

        1110 1101

        1001 0010

3.常量与变量

       常量:在程序执行的过程中其值不可以发生改变;

        常量的分类:字面值常量;自定义常量(面向对象部分讲);

        第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:

          整型常量: 123

          实型常量:3.14

          字符常量: 'a'

          逻辑常量:true、false

          字符串常量:"helloworld"

          这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”

          第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:

          final int i = 0;

         那么这个i的值是绝对不能再被更改了,只能是0,所以说是不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:

         i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。

         变量:在程序执行的过程中,在某个范围内其值可以发生改变的量

    int a=10;

     a=as;

         变量定义格式:数据类型 变量名 初始化值;

           从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

4.基本数据类型

——使用变量注意事项

       ——作用域

              变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。

       ——初始化值

              没有初始化值不能直接使用

       ——在一行上建议只定义一个变量,可以定义多个,但是不建议

——数据类型转换

       ——默认转换(小转大)

              byte,short,char—int—long—float—double

              byte,short,char相互之间不转换,他们参与运算首先转换为int类型

      

       ——强制转换

              目标类型 变量名=(目标类型)(被转换的数据);

                byte a = 3;

                int b = 4;

                byte c = 7;//正确       byte c = 3+4;//正确

                byte d = a+b;//错误,变量相加,会先看类型

                byte e = (byte)(a+b);

               

Java 语言是一种强类型的语言。强类型的语言有以下几个要求:

变量或常量必须有类型:要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。

赋值时类型必须一致:值的类型必须和变量或常量的类型完全一致。

运算时类型必须一致:参与运算的数据类型必须一致才能运算。

但是在实际的使用中,经常需要在不同类型的值之间进行操作,这就需要一种新的语法来适应这种需要,这个语法就是数据类型转换。

在数值处理这部分,计算机和现实的逻辑不太一样,对于现实来说,1和 1.0 没有什么区别,但是对于计算机来说,1 是整数类型,而 1.0 是小数类型,其在内存中的存储方式以及占用的空间都不一样,所以类型转换在计算机内部是必须的。

Java 语言中的数据类型转换有两种:

自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码。

强制类型转换:强制编译器进行类型转换,必须在程序中编写代码。

由于基本数据类型中 boolean 类型不是数字型,所以基本数据类型的转换是出了 boolean 类型以外的其它 7 种类型之间的转换。下面来具体介绍两种类型转换

的规则、适用场合以及使用时需要注意的问题。

1、自动类型转换

自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作设计语法,而是由 JVM 自动完成。

转换规则:从存储范围小的类型到存储范围大的类型。

具体规则为:byte→short(char)→int→long→float→double

也就是说 byte 类型的变量可以自动转换为 short 类型,示例代码:

byte b=10;

short sh=b;

这里在给sh赋值时,JVM首先将b的值转换成short类型然后再赋值给sh。

当然,在类型转换的时候也可以跳跃,就是byte也可以自动转换为int类型的。

注意问题:在整数之间进行类型转换的时候数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型的时候,由于存储精度的不同,可能

会存在数据精度的损失。

2、强制类型转换

强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种

损失时才进行该类型的转换。

转换规则:从存储范围大的类型到存储范围小的类型。

具体规则为:double→float→long→int→short(char)→byte

语法格式为:(转换到的类型)需要转换的值

double d=3.14;

int i=(int) d;

注意问题:强制类型转换通常都会存储精度的损失,所以使用时需要谨慎。

5.全局变量与局部变量

全局变量:在一个对象被new时创建,在对象被销毁时销毁,全局变量是对象的一部分,同对象一样存储在堆中,全局变量通过对象来访问
局部变量:在方法,构造函数或代码块中声明,使用前必须初始化

猜你喜欢

转载自blog.csdn.net/i__QR/article/details/89887387